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