First steps to an actual novy implementation
This commit is contained in:
commit
e47a37e3f0
|
@ -0,0 +1 @@
|
|||
gen/
|
|
@ -0,0 +1,9 @@
|
|||
version 1 .
|
||||
embeddedType Actor.Ref .
|
||||
|
||||
BoxState = <BoxState @value int>.
|
||||
SetBox = <SetBox @value int>.
|
||||
|
||||
; BoxCap = BoxState / <Observe =SetBox @observer embedded>.
|
||||
; ClientCap = SetBox / <Observe =BoxState @observer embedded>.
|
||||
.
|
|
@ -0,0 +1,9 @@
|
|||
version 1 .
|
||||
embeddedType Actor.Ref .
|
||||
|
||||
;As implemented
|
||||
Observe = <Observe @label symbol @observer embedded>.
|
||||
|
||||
; ;As will be implemented soon
|
||||
; Observe = <Observe @pattern Pattern @observer embedded>.
|
||||
.
|
|
@ -0,0 +1,5 @@
|
|||
version 1 .
|
||||
embeddedType Actor.Ref .
|
||||
|
||||
Resolve = <resolve @sturdyref sturdy.SturdyRef @observer embedded>.
|
||||
Bind = <bind @oid any @key bytes @target embedded>.
|
|
@ -0,0 +1,14 @@
|
|||
version 1 .
|
||||
embeddedType sturdy.WireRef .
|
||||
|
||||
Assertion = any .
|
||||
Handle = int .
|
||||
Event = Assert / Retract / Message / Sync .
|
||||
Oid = int .
|
||||
Turn = [TurnEvent ...].
|
||||
TurnEvent = [@oid Oid @event Event].
|
||||
|
||||
Assert = <assert @assertion Assertion @handle Handle>.
|
||||
Retract = <retract @handle Handle>.
|
||||
Message = <message @body Assertion>.
|
||||
Sync = <sync @peer embedded>.
|
|
@ -0,0 +1,14 @@
|
|||
version 1 .
|
||||
embeddedType Actor.Ref .
|
||||
|
||||
UserId = int .
|
||||
|
||||
Join = <joinedUser @uid UserId @handle embedded>.
|
||||
|
||||
NickClaim = <claimNick @uid UserId @name string @k embedded>.
|
||||
|
||||
UserInfo = <user @uid UserId @name string>.
|
||||
|
||||
Says = <says @who UserId @what string>.
|
||||
|
||||
NickConflict = <nickConflict>.
|
|
@ -0,0 +1,5 @@
|
|||
version 1 .
|
||||
embeddedType Actor.Ref .
|
||||
|
||||
Present = <Present @username string>.
|
||||
Says = <Says @who string @what string>.
|
|
@ -0,0 +1,43 @@
|
|||
version 1 .
|
||||
|
||||
; Each Attenuation is a stage. The sequence of Attenuations is run RIGHT-TO-LEFT.
|
||||
; That is, the newest Attenuations are at the right.
|
||||
SturdyRef = <ref @oid any @caveatChain [Attenuation ...] @sig bytes>.
|
||||
|
||||
; An individual Attenuation is run RIGHT-TO-LEFT.
|
||||
; That is, the newest Caveats are at the right.
|
||||
Attenuation = [Caveat ...].
|
||||
|
||||
; embodies 1st-party caveats over assertion structure, but nothing else
|
||||
; can add 3rd-party caveats and richer predicates later
|
||||
Caveat = Rewrite / Alts .
|
||||
Rewrite = <rewrite @pattern Pattern @template Template>.
|
||||
Alts = <or @alternatives [Rewrite ...]>.
|
||||
|
||||
Oid = int .
|
||||
WireRef = @mine [0 @oid Oid] / @yours [1 @oid Oid @attenuation Caveat ...].
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
|
||||
ConstructorSpec = CRec / CArr / CDict .
|
||||
CRec = <rec @label any @arity int>.
|
||||
CArr = <arr @arity int>.
|
||||
CDict = <dict>.
|
||||
|
||||
Lit = <lit @value any>.
|
||||
|
||||
Pattern = PDiscard / PAtom / PEmbedded / PBind / PAnd / PNot / Lit / PCompound .
|
||||
PDiscard = <_>.
|
||||
PAtom = =Boolean / =Float / =Double / =SignedInteger / =String / =ByteString / =Symbol .
|
||||
PEmbedded = =Embedded .
|
||||
PBind = <bind @name symbol @pattern Pattern>.
|
||||
PAnd = <and @patterns [Pattern ...]>.
|
||||
PNot = <not @pattern Pattern>.
|
||||
PCompound = <compound @ctor ConstructorSpec @members PCompoundMembers>.
|
||||
PCompoundMembers = { any: Pattern ...:... }.
|
||||
|
||||
Template = TRef / Lit / TCompound .
|
||||
TRef = <ref @name symbol>.
|
||||
TCompound = <compound @ctor ConstructorSpec @members TCompoundMembers>.
|
||||
TCompoundMembers = { any: Template ...:... }.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
version 1 .
|
||||
embeddedType Actor.Ref .
|
||||
|
||||
Instance = <Instance @name string @argument any>.
|
Loading…
Reference in New Issue