Update schemas for new embedded syntax; steps toward pattern support

This commit is contained in:
Tony Garnock-Jones 2021-06-02 06:57:48 +02:00
parent e47a37e3f0
commit 3412eabcff
5 changed files with 24 additions and 11 deletions

11
dataspace-patterns.prs Normal file
View File

@ -0,0 +1,11 @@
version 1 .
; Dataspace patterns: a sublanguage of attenuation patterns.
Pattern = DDiscard / DBind / DLit / DCompound .
DDiscard = <_>.
DBind = <bind @name symbol @pattern Pattern>.
DLit = <lit @value any>.
DCompound = @rec <compound <rec @label any @arity int> @members { int: Pattern ...:... }>
/ @arr <compound <arr @arity int> @members { int: Pattern ...:... }>
/ @dict <compound <dict> @members { any: Pattern ...:... }> .

View File

@ -1,9 +1,4 @@
version 1 .
embeddedType Actor.Ref .
;As implemented
Observe = <Observe @label symbol @observer embedded>.
; ;As will be implemented soon
; Observe = <Observe @pattern Pattern @observer embedded>.
.
Observe = <Observe @pattern dataspace-patterns.Pattern @observer #!any>.

View File

@ -1,5 +1,5 @@
version 1 .
embeddedType Actor.Ref .
Resolve = <resolve @sturdyref sturdy.SturdyRef @observer embedded>.
Bind = <bind @oid any @key bytes @target embedded>.
Resolve = <resolve @sturdyref sturdy.SturdyRef @observer #!#!any>.
Bind = <bind @oid any @key bytes @target #!any>.

View File

@ -11,4 +11,4 @@ TurnEvent = [@oid Oid @event Event].
Assert = <assert @assertion Assertion @handle Handle>.
Retract = <retract @handle Handle>.
Message = <message @body Assertion>.
Sync = <sync @peer embedded>.
Sync = <sync @peer #!#t>.

View File

@ -3,9 +3,16 @@ embeddedType Actor.Ref .
UserId = int .
Join = <joinedUser @uid UserId @handle embedded>.
Join = <joinedUser @uid UserId @handle #!Session>.
NickClaim = <claimNick @uid UserId @name string @k embedded>.
Session = @observeUsers <Observe =user @observer #!UserInfo>
/ @observeSpeech <Observe =says @observer #!Says>
/ NickClaim
/ Says
.
NickClaim = <claimNick @uid UserId @name string @k #!NickClaimResponse>.
NickClaimResponse = #t / NickConflict .
UserInfo = <user @uid UserId @name string>.