From e47a37e3f0622e3f4acbb3a9ce984f65666771e9 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 27 May 2021 10:36:35 +0200 Subject: [PATCH 01/39] First steps to an actual novy implementation --- .gitignore | 1 + box-protocol.prs | 9 +++++++++ dataspace.prs | 9 +++++++++ gatekeeper.prs | 5 +++++ protocol.prs | 14 +++++++++++++ secure-chat-protocol.prs | 14 +++++++++++++ simple-chat-protocol.prs | 5 +++++ sturdy.prs | 43 ++++++++++++++++++++++++++++++++++++++++ worker.prs | 4 ++++ 9 files changed, 104 insertions(+) create mode 100644 .gitignore create mode 100644 box-protocol.prs create mode 100644 dataspace.prs create mode 100644 gatekeeper.prs create mode 100644 protocol.prs create mode 100644 secure-chat-protocol.prs create mode 100644 simple-chat-protocol.prs create mode 100644 sturdy.prs create mode 100644 worker.prs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e8e450b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +gen/ diff --git a/box-protocol.prs b/box-protocol.prs new file mode 100644 index 0000000..d200d54 --- /dev/null +++ b/box-protocol.prs @@ -0,0 +1,9 @@ +version 1 . +embeddedType Actor.Ref . + +BoxState = . +SetBox = . + +; BoxCap = BoxState / . +; ClientCap = SetBox / . +. diff --git a/dataspace.prs b/dataspace.prs new file mode 100644 index 0000000..eadbd9a --- /dev/null +++ b/dataspace.prs @@ -0,0 +1,9 @@ +version 1 . +embeddedType Actor.Ref . + +;As implemented +Observe = . + +; ;As will be implemented soon +; Observe = . +. diff --git a/gatekeeper.prs b/gatekeeper.prs new file mode 100644 index 0000000..7673518 --- /dev/null +++ b/gatekeeper.prs @@ -0,0 +1,5 @@ +version 1 . +embeddedType Actor.Ref . + +Resolve = . +Bind = . diff --git a/protocol.prs b/protocol.prs new file mode 100644 index 0000000..1fe9c20 --- /dev/null +++ b/protocol.prs @@ -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 = . +Retract = . +Message = . +Sync = . diff --git a/secure-chat-protocol.prs b/secure-chat-protocol.prs new file mode 100644 index 0000000..951e950 --- /dev/null +++ b/secure-chat-protocol.prs @@ -0,0 +1,14 @@ +version 1 . +embeddedType Actor.Ref . + +UserId = int . + +Join = . + +NickClaim = . + +UserInfo = . + +Says = . + +NickConflict = . diff --git a/simple-chat-protocol.prs b/simple-chat-protocol.prs new file mode 100644 index 0000000..987c1f4 --- /dev/null +++ b/simple-chat-protocol.prs @@ -0,0 +1,5 @@ +version 1 . +embeddedType Actor.Ref . + +Present = . +Says = . diff --git a/sturdy.prs b/sturdy.prs new file mode 100644 index 0000000..630f395 --- /dev/null +++ b/sturdy.prs @@ -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 = . + +; 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 = . +Alts = . + +Oid = int . +WireRef = @mine [0 @oid Oid] / @yours [1 @oid Oid @attenuation Caveat ...]. + +;--------------------------------------------------------------------------- + +ConstructorSpec = CRec / CArr / CDict . +CRec = . +CArr = . +CDict = . + +Lit = . + +Pattern = PDiscard / PAtom / PEmbedded / PBind / PAnd / PNot / Lit / PCompound . +PDiscard = <_>. +PAtom = =Boolean / =Float / =Double / =SignedInteger / =String / =ByteString / =Symbol . +PEmbedded = =Embedded . +PBind = . +PAnd = . +PNot = . +PCompound = . +PCompoundMembers = { any: Pattern ...:... }. + +Template = TRef / Lit / TCompound . +TRef = . +TCompound = . +TCompoundMembers = { any: Template ...:... }. + diff --git a/worker.prs b/worker.prs new file mode 100644 index 0000000..e35abd9 --- /dev/null +++ b/worker.prs @@ -0,0 +1,4 @@ +version 1 . +embeddedType Actor.Ref . + +Instance = . From 3412eabcff7ab452ffe0afc72f6fb2da5d6e02f0 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 2 Jun 2021 06:57:48 +0200 Subject: [PATCH 02/39] Update schemas for new embedded syntax; steps toward pattern support --- dataspace-patterns.prs | 11 +++++++++++ dataspace.prs | 7 +------ gatekeeper.prs | 4 ++-- protocol.prs | 2 +- secure-chat-protocol.prs | 11 +++++++++-- 5 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 dataspace-patterns.prs diff --git a/dataspace-patterns.prs b/dataspace-patterns.prs new file mode 100644 index 0000000..2740763 --- /dev/null +++ b/dataspace-patterns.prs @@ -0,0 +1,11 @@ +version 1 . + +; Dataspace patterns: a sublanguage of attenuation patterns. +Pattern = DDiscard / DBind / DLit / DCompound . + +DDiscard = <_>. +DBind = . +DLit = . +DCompound = @rec @members { int: Pattern ...:... }> + / @arr @members { int: Pattern ...:... }> + / @dict @members { any: Pattern ...:... }> . diff --git a/dataspace.prs b/dataspace.prs index eadbd9a..3160df1 100644 --- a/dataspace.prs +++ b/dataspace.prs @@ -1,9 +1,4 @@ version 1 . embeddedType Actor.Ref . -;As implemented -Observe = . - -; ;As will be implemented soon -; Observe = . -. +Observe = . diff --git a/gatekeeper.prs b/gatekeeper.prs index 7673518..d8be377 100644 --- a/gatekeeper.prs +++ b/gatekeeper.prs @@ -1,5 +1,5 @@ version 1 . embeddedType Actor.Ref . -Resolve = . -Bind = . +Resolve = . +Bind = . diff --git a/protocol.prs b/protocol.prs index 1fe9c20..b86a66d 100644 --- a/protocol.prs +++ b/protocol.prs @@ -11,4 +11,4 @@ TurnEvent = [@oid Oid @event Event]. Assert = . Retract = . Message = . -Sync = . +Sync = . diff --git a/secure-chat-protocol.prs b/secure-chat-protocol.prs index 951e950..c20c8e0 100644 --- a/secure-chat-protocol.prs +++ b/secure-chat-protocol.prs @@ -3,9 +3,16 @@ embeddedType Actor.Ref . UserId = int . -Join = . +Join = . -NickClaim = . +Session = @observeUsers + / @observeSpeech + / NickClaim + / Says +. + +NickClaim = . +NickClaimResponse = #t / NickConflict . UserInfo = . From a932fa1428ddcb26cf684aa50e7d124936bacd9f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 3 Jun 2021 15:58:48 +0200 Subject: [PATCH 03/39] Pattern decomposition --- dataspace-patterns.prs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dataspace-patterns.prs b/dataspace-patterns.prs index 2740763..bfba3ad 100644 --- a/dataspace-patterns.prs +++ b/dataspace-patterns.prs @@ -6,6 +6,10 @@ Pattern = DDiscard / DBind / DLit / DCompound . DDiscard = <_>. DBind = . DLit = . -DCompound = @rec @members { int: Pattern ...:... }> - / @arr @members { int: Pattern ...:... }> - / @dict @members { any: Pattern ...:... }> . +DCompound = @rec + / @arr + / @dict . + +CRec = . +CArr = . +CDict = . From 930f7eda00d9e23771a7a0dea7d829bad7f628fa Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 3 Jun 2021 23:22:46 +0200 Subject: [PATCH 04/39] Move box-protocol to a #lang preserves-schema module --- box-protocol.prs | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 box-protocol.prs diff --git a/box-protocol.prs b/box-protocol.prs deleted file mode 100644 index d200d54..0000000 --- a/box-protocol.prs +++ /dev/null @@ -1,9 +0,0 @@ -version 1 . -embeddedType Actor.Ref . - -BoxState = . -SetBox = . - -; BoxCap = BoxState / . -; ClientCap = SetBox / . -. From 8cbe2475e3bb09c8e9cb1622cdd4130b27723737 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 9 Jun 2021 15:06:58 +0200 Subject: [PATCH 05/39] TAttenuate --- dataspace.prs | 2 +- gatekeeper.prs | 2 +- secure-chat-protocol.prs | 2 +- simple-chat-protocol.prs | 2 +- sturdy.prs | 3 ++- worker.prs | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dataspace.prs b/dataspace.prs index 3160df1..b9f26ea 100644 --- a/dataspace.prs +++ b/dataspace.prs @@ -1,4 +1,4 @@ version 1 . -embeddedType Actor.Ref . +embeddedType EntityRef.Ref . Observe = . diff --git a/gatekeeper.prs b/gatekeeper.prs index d8be377..a25d6c3 100644 --- a/gatekeeper.prs +++ b/gatekeeper.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType Actor.Ref . +embeddedType EntityRef.Ref . Resolve = . Bind = . diff --git a/secure-chat-protocol.prs b/secure-chat-protocol.prs index c20c8e0..09e9e7e 100644 --- a/secure-chat-protocol.prs +++ b/secure-chat-protocol.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType Actor.Ref . +embeddedType EntityRef.Ref . UserId = int . diff --git a/simple-chat-protocol.prs b/simple-chat-protocol.prs index 987c1f4..33804eb 100644 --- a/simple-chat-protocol.prs +++ b/simple-chat-protocol.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType Actor.Ref . +embeddedType EntityRef.Ref . Present = . Says = . diff --git a/sturdy.prs b/sturdy.prs index 630f395..f82dd4e 100644 --- a/sturdy.prs +++ b/sturdy.prs @@ -36,7 +36,8 @@ PNot = . PCompound = . PCompoundMembers = { any: Pattern ...:... }. -Template = TRef / Lit / TCompound . +Template = TAttenuate / TRef / Lit / TCompound . +TAttenuate = . TRef = . TCompound = . TCompoundMembers = { any: Template ...:... }. diff --git a/worker.prs b/worker.prs index e35abd9..25783b5 100644 --- a/worker.prs +++ b/worker.prs @@ -1,4 +1,4 @@ version 1 . -embeddedType Actor.Ref . +embeddedType EntityRef.Ref . Instance = . From 201f5433e1978108c550d902a9aad8825be4720b Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 9 Jun 2021 23:08:06 +0200 Subject: [PATCH 06/39] Port timer driver from older syndicate/rkt implementation --- timer.prs | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 timer.prs diff --git a/timer.prs b/timer.prs new file mode 100644 index 0000000..30ea166 --- /dev/null +++ b/timer.prs @@ -0,0 +1,7 @@ +version 1 . + +SetTimer = . +TimerExpired = . +TimerKind = =relative / =absolute / =clear . + +LaterThan = . From 8b5e74048e35673cbd26b00e278e296186d2aeb8 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 10 Jun 2021 10:00:43 +0200 Subject: [PATCH 07/39] Beginnings of a TCP driver --- tcp.prs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tcp.prs diff --git a/tcp.prs b/tcp.prs new file mode 100644 index 0000000..952c4f3 --- /dev/null +++ b/tcp.prs @@ -0,0 +1,17 @@ +version 1 . +embeddedType EntityRef.Ref . + +Connection = . +ConnectionPeer = . + +TcpOutbound = . +TcpInbound = . + +ActiveSocket = + / + / + / Socket +. + +; TODO: +Socket = . From 21d09f81e546e9c73c08dd48d4fa0638d0223f23 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 10 Jun 2021 13:33:16 +0200 Subject: [PATCH 08/39] ActiveSocket-close now gets a string, not an embedded exn --- tcp.prs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcp.prs b/tcp.prs index 952c4f3..d41eaed 100644 --- a/tcp.prs +++ b/tcp.prs @@ -9,7 +9,7 @@ TcpInbound = . ActiveSocket = / - / + / / Socket . From b0d0eb3a11df4206ffa2351d11aebde5c413e9d1 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 10 Jun 2021 13:34:18 +0200 Subject: [PATCH 09/39] drivers/racket-event.rkt --- racket-event.prs | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 racket-event.prs diff --git a/racket-event.prs b/racket-event.prs new file mode 100644 index 0000000..36985a7 --- /dev/null +++ b/racket-event.prs @@ -0,0 +1,3 @@ +version 1 . + +RacketEvent = . From 5850c5b06dff53caf7edc8ac42515e7556f0631a Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 11 Jun 2021 14:18:53 +0200 Subject: [PATCH 10/39] Credit-based flow control on tcp driver; line mode --- tcp.prs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tcp.prs b/tcp.prs index d41eaed..c0bbd24 100644 --- a/tcp.prs +++ b/tcp.prs @@ -13,5 +13,15 @@ ActiveSocket = / Socket . -; TODO: -Socket = . +Socket = + / Credit + / + / + / +. + +LineMode = =lf / =crlf . + +Credit = . +CreditMode = =bytes / @lines LineMode . +CreditAmount = @count int / @unbounded =unbounded . From afe36c630d22dfd2e68250ebc6a74fd38a530a9d Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 11 Jun 2021 15:29:12 +0200 Subject: [PATCH 11/39] Refactor/repair tcp.prs and tcp.rkt --- tcp.prs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tcp.prs b/tcp.prs index c0bbd24..ad854f8 100644 --- a/tcp.prs +++ b/tcp.prs @@ -14,14 +14,12 @@ ActiveSocket = . Socket = - / Credit - / - / + / + / / . -LineMode = =lf / =crlf . - -Credit = . -CreditMode = =bytes / @lines LineMode . CreditAmount = @count int / @unbounded =unbounded . + +Mode = =bytes / @lines LineMode . +LineMode = =lf / =crlf . From f6cb595709ce1b690402b2af38bedd0df5d952d4 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 15 Jun 2021 12:36:25 +0200 Subject: [PATCH 12/39] Add ConnectionPeer assertions; rename TcpOutbound -> TcpRemote and TcpInbound -> TcpLocal --- tcp.prs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcp.prs b/tcp.prs index ad854f8..02714a0 100644 --- a/tcp.prs +++ b/tcp.prs @@ -4,8 +4,8 @@ embeddedType EntityRef.Ref . Connection = . ConnectionPeer = . -TcpOutbound = . -TcpInbound = . +TcpRemote = . +TcpLocal = . ActiveSocket = / From a73b6a9f4ad12613675dcb929ada5156dcb1fa84 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 15 Jun 2021 12:46:09 +0200 Subject: [PATCH 13/39] Whole-packet flow credit --- tcp.prs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcp.prs b/tcp.prs index 02714a0..9239133 100644 --- a/tcp.prs +++ b/tcp.prs @@ -21,5 +21,5 @@ Socket = CreditAmount = @count int / @unbounded =unbounded . -Mode = =bytes / @lines LineMode . +Mode = =bytes / @lines LineMode / . LineMode = =lf / =crlf . From b6bc816daff0525f365bac30c4559c983d53ce38 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 16 Jun 2021 21:41:53 +0200 Subject: [PATCH 14/39] Split out experimental "stream" protocols; make tcp.rkt use them; more inertness checks Also, a few other important changes: - Better printing of entity-ref structs - Inertness checks on assertion retraction (!) and preventer-disarm - Correct selection of active facet during dataflow recomputations - Repair silly omission in turn-assert/dataflow! --- stream.prs | 43 +++++++++++++++++++++++++++++++++++++++++++ tcp.prs | 24 +++--------------------- 2 files changed, 46 insertions(+), 21 deletions(-) create mode 100644 stream.prs diff --git a/stream.prs b/stream.prs new file mode 100644 index 0000000..918c8f9 --- /dev/null +++ b/stream.prs @@ -0,0 +1,43 @@ +version 1 . +embeddedType EntityRef.Ref . + +StreamConnection = . + +; Assertion +StreamListener = . + +; Assertion +StreamConnect = . + +; Assertion +ConnectionHandler = + / @connected + / @rejected +. + +; Assertion +StreamError = . + +Source = + ; Assertions: + / + / StreamError + + ; Messages: + / +. + +Sink = + ; Assertions: + / + / StreamError + + ; Messages: + / + / +. + +CreditAmount = @count int / @unbounded =unbounded . + +Mode = =bytes / @lines LineMode / / . +LineMode = =lf / =crlf . diff --git a/tcp.prs b/tcp.prs index 9239133..7a6d5e1 100644 --- a/tcp.prs +++ b/tcp.prs @@ -1,25 +1,7 @@ version 1 . embeddedType EntityRef.Ref . -Connection = . -ConnectionPeer = . +TcpRemote = . +TcpLocal = . -TcpRemote = . -TcpLocal = . - -ActiveSocket = - / - / - / Socket -. - -Socket = - / - / - / -. - -CreditAmount = @count int / @unbounded =unbounded . - -Mode = =bytes / @lines LineMode / . -LineMode = =lf / =crlf . +TcpPeerInfo = . From 6cfe8c2ba4fe220eae00cc706a5be3deccaa6be0 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 17 Jun 2021 13:38:30 +0200 Subject: [PATCH 15/39] `when` -> `on`; StreamConnection API; better `this-target`; tcp-listen errors - spec-generic StreamConnection translators, for simple TCP API - `when` -> `on`, better use for event-expanders - Removal of special processing of `at`, making `this-target` properly lexically scopeable - TcpListenError and handling of tcp-listen errors - SYNDICATE_COLUMNS for pretty-printing of dataspace traces - Repair driver-support.rkt thread shutdown turn-taking - Refinements to stream protocols and implementation - Improvements to syntax location preservation in syntax.rkt --- stream.prs | 3 +++ tcp.prs | 2 ++ 2 files changed, 5 insertions(+) diff --git a/stream.prs b/stream.prs index 918c8f9..a565087 100644 --- a/stream.prs +++ b/stream.prs @@ -1,7 +1,10 @@ version 1 . embeddedType EntityRef.Ref . +; Assertions StreamConnection = . +StreamSpecListenable = . +StreamSpecConnectable = . ; Assertion StreamListener = . diff --git a/tcp.prs b/tcp.prs index 7a6d5e1..b00df01 100644 --- a/tcp.prs +++ b/tcp.prs @@ -5,3 +5,5 @@ TcpRemote = . TcpLocal = . TcpPeerInfo = . + +TcpListenError = . From cf93327ed654f705c3715e8a52177ad99da594c5 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 17 Jun 2021 14:57:06 +0200 Subject: [PATCH 16/39] Services and service activation --- service.prs | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 service.prs diff --git a/service.prs b/service.prs new file mode 100644 index 0000000..49b1af6 --- /dev/null +++ b/service.prs @@ -0,0 +1,5 @@ +version 1 . +embeddedType EntityRef.Ref . + +RequireService = . +ServiceRunning = . From 824b078eaccf3e26c8416e5f0f044f1c0eb23e10 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 18 Jun 2021 13:48:12 +0200 Subject: [PATCH 17/39] Simpler stream connection protocol. --- stream.prs | 22 +++++++--------------- tcp.prs | 2 -- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/stream.prs b/stream.prs index a565087..a8c7ecc 100644 --- a/stream.prs +++ b/stream.prs @@ -1,24 +1,14 @@ version 1 . embeddedType EntityRef.Ref . -; Assertions +; Assertion: StreamConnection = . -StreamSpecListenable = . -StreamSpecConnectable = . -; Assertion -StreamListener = . +; Assertions: +StreamListenerReady = . +StreamListenerError = . -; Assertion -StreamConnect = . - -; Assertion -ConnectionHandler = - / @connected - / @rejected -. - -; Assertion +; Assertion: StreamError = . Source = @@ -40,7 +30,9 @@ Sink = / . +; Value: CreditAmount = @count int / @unbounded =unbounded . +; Value: Mode = =bytes / @lines LineMode / / . LineMode = =lf / =crlf . diff --git a/tcp.prs b/tcp.prs index b00df01..7a6d5e1 100644 --- a/tcp.prs +++ b/tcp.prs @@ -5,5 +5,3 @@ TcpRemote = . TcpLocal = . TcpPeerInfo = . - -TcpListenError = . From e034486aaa96d08ecd85461904b1559564464e5a Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 25 Jun 2021 09:45:38 +0200 Subject: [PATCH 18/39] Update schemas to match new identifier restrictions. --- dataspace.prs | 2 +- dataspace-patterns.prs => dataspacePatterns.prs | 0 racket-event.prs => racketEvent.prs | 0 secure-chat-protocol.prs => secureChatProtocol.prs | 0 service.prs | 4 ++-- simple-chat-protocol.prs => simpleChatProtocol.prs | 0 6 files changed, 3 insertions(+), 3 deletions(-) rename dataspace-patterns.prs => dataspacePatterns.prs (100%) rename racket-event.prs => racketEvent.prs (100%) rename secure-chat-protocol.prs => secureChatProtocol.prs (100%) rename simple-chat-protocol.prs => simpleChatProtocol.prs (100%) diff --git a/dataspace.prs b/dataspace.prs index b9f26ea..55866c5 100644 --- a/dataspace.prs +++ b/dataspace.prs @@ -1,4 +1,4 @@ version 1 . embeddedType EntityRef.Ref . -Observe = . +Observe = . diff --git a/dataspace-patterns.prs b/dataspacePatterns.prs similarity index 100% rename from dataspace-patterns.prs rename to dataspacePatterns.prs diff --git a/racket-event.prs b/racketEvent.prs similarity index 100% rename from racket-event.prs rename to racketEvent.prs diff --git a/secure-chat-protocol.prs b/secureChatProtocol.prs similarity index 100% rename from secure-chat-protocol.prs rename to secureChatProtocol.prs diff --git a/service.prs b/service.prs index 49b1af6..11ac336 100644 --- a/service.prs +++ b/service.prs @@ -1,5 +1,5 @@ version 1 . embeddedType EntityRef.Ref . -RequireService = . -ServiceRunning = . +RequireService = . +ServiceRunning = . diff --git a/simple-chat-protocol.prs b/simpleChatProtocol.prs similarity index 100% rename from simple-chat-protocol.prs rename to simpleChatProtocol.prs From 93c196acaaf85e406f579a94489af5f1ade04ebd Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 1 Jul 2021 09:51:53 +0200 Subject: [PATCH 19/39] Move schemas into subdirectory after subtree split --- .gitignore | 1 - dataspace.prs => schemas/dataspace.prs | 0 dataspacePatterns.prs => schemas/dataspacePatterns.prs | 0 gatekeeper.prs => schemas/gatekeeper.prs | 0 protocol.prs => schemas/protocol.prs | 0 racketEvent.prs => schemas/racketEvent.prs | 0 secureChatProtocol.prs => schemas/secureChatProtocol.prs | 0 service.prs => schemas/service.prs | 0 simpleChatProtocol.prs => schemas/simpleChatProtocol.prs | 0 stream.prs => schemas/stream.prs | 0 sturdy.prs => schemas/sturdy.prs | 0 tcp.prs => schemas/tcp.prs | 0 timer.prs => schemas/timer.prs | 0 worker.prs => schemas/worker.prs | 0 14 files changed, 1 deletion(-) delete mode 100644 .gitignore rename dataspace.prs => schemas/dataspace.prs (100%) rename dataspacePatterns.prs => schemas/dataspacePatterns.prs (100%) rename gatekeeper.prs => schemas/gatekeeper.prs (100%) rename protocol.prs => schemas/protocol.prs (100%) rename racketEvent.prs => schemas/racketEvent.prs (100%) rename secureChatProtocol.prs => schemas/secureChatProtocol.prs (100%) rename service.prs => schemas/service.prs (100%) rename simpleChatProtocol.prs => schemas/simpleChatProtocol.prs (100%) rename stream.prs => schemas/stream.prs (100%) rename sturdy.prs => schemas/sturdy.prs (100%) rename tcp.prs => schemas/tcp.prs (100%) rename timer.prs => schemas/timer.prs (100%) rename worker.prs => schemas/worker.prs (100%) diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e8e450b..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -gen/ diff --git a/dataspace.prs b/schemas/dataspace.prs similarity index 100% rename from dataspace.prs rename to schemas/dataspace.prs diff --git a/dataspacePatterns.prs b/schemas/dataspacePatterns.prs similarity index 100% rename from dataspacePatterns.prs rename to schemas/dataspacePatterns.prs diff --git a/gatekeeper.prs b/schemas/gatekeeper.prs similarity index 100% rename from gatekeeper.prs rename to schemas/gatekeeper.prs diff --git a/protocol.prs b/schemas/protocol.prs similarity index 100% rename from protocol.prs rename to schemas/protocol.prs diff --git a/racketEvent.prs b/schemas/racketEvent.prs similarity index 100% rename from racketEvent.prs rename to schemas/racketEvent.prs diff --git a/secureChatProtocol.prs b/schemas/secureChatProtocol.prs similarity index 100% rename from secureChatProtocol.prs rename to schemas/secureChatProtocol.prs diff --git a/service.prs b/schemas/service.prs similarity index 100% rename from service.prs rename to schemas/service.prs diff --git a/simpleChatProtocol.prs b/schemas/simpleChatProtocol.prs similarity index 100% rename from simpleChatProtocol.prs rename to schemas/simpleChatProtocol.prs diff --git a/stream.prs b/schemas/stream.prs similarity index 100% rename from stream.prs rename to schemas/stream.prs diff --git a/sturdy.prs b/schemas/sturdy.prs similarity index 100% rename from sturdy.prs rename to schemas/sturdy.prs diff --git a/tcp.prs b/schemas/tcp.prs similarity index 100% rename from tcp.prs rename to schemas/tcp.prs diff --git a/timer.prs b/schemas/timer.prs similarity index 100% rename from timer.prs rename to schemas/timer.prs diff --git a/worker.prs b/schemas/worker.prs similarity index 100% rename from worker.prs rename to schemas/worker.prs From 06e922c51173f0f0e63a0b187e25de89f8e8e3b7 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 1 Jul 2021 10:04:26 +0200 Subject: [PATCH 20/39] Compiled schema bundle --- Makefile | 8 ++++++++ schema-bundle.bin | 14 ++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 Makefile create mode 100644 schema-bundle.bin diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1efe0bd --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +all: schema-bundle.bin + +clean: + rm -f schema-bundle.bin + +schema-bundle.bin: schemas/*.prs + preserves-schemac schemas/*.prs > $@.tmp + mv $@.tmp $@ diff --git a/schema-bundle.bin b/schema-bundle.bin new file mode 100644 index 0000000..c2dfd05 --- /dev/null +++ b/schema-bundle.bin @@ -0,0 +1,14 @@ +“³bundle·µ³tcp„“³schema·³version‘³ definitions·³TcpLocal“³rec“³lit³ tcp-local„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpRemote“³rec“³lit³ +tcp-remote„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpPeerInfo“³rec“³lit³tcp-peer„“³tupleµ“³named³handle“³embedded³any„„“³named³local“³refµ„³TcpLocal„„“³named³remote“³refµ„³ TcpRemote„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³timer„“³schema·³version‘³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ +later-than„“³tupleµ“³named³msecs“³atom³Double„„„„„³ TimerKind“³orµµ±relative“³lit³relative„„µ±absolute“³lit³absolute„„µ±clear“³lit³clear„„„„³ TimerExpired“³rec“³lit³ timer-expired„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„„„„„³ embeddedType€„„µ³stream„“³schema·³version‘³ definitions·³Mode“³orµµ±bytes“³lit³bytes„„µ±lines“³refµ„³LineMode„„µ±packet“³rec“³lit³packet„“³tupleµ“³named³size“³atom³ SignedInteger„„„„„„µ±object“³rec“³lit³object„“³tupleµ“³named³ description³any„„„„„„„³Sink“³orµµ±source“³rec“³lit³source„“³tupleµ“³named³ +controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ +controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³name“³atom³Symbol„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± +ByteString“³lit³ +ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± +TAttenuate“³refµ„³ +TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ +ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ +gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType€„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„„„ \ No newline at end of file From a6639b5380db43bf4015c87134f1730545c605f8 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 2 Jul 2021 10:11:53 +0200 Subject: [PATCH 21/39] Error packets --- schema-bundle.bin | 2 +- schemas/protocol.prs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index c2dfd05..aa280a3 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -8,7 +8,7 @@ ByteString TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType€„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„„„ \ No newline at end of file diff --git a/schemas/protocol.prs b/schemas/protocol.prs index b86a66d..5d67ffd 100644 --- a/schemas/protocol.prs +++ b/schemas/protocol.prs @@ -1,6 +1,10 @@ version 1 . embeddedType sturdy.WireRef . +Packet = Turn / Error . + +Error = . + Assertion = any . Handle = int . Event = Assert / Retract / Message / Sync . From dab79020f42f174d62ee638758aab3b425ae02fe Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 2 Jul 2021 16:48:15 +0200 Subject: [PATCH 22/39] Variations on protocol for internal and external use --- schema-bundle.bin | 4 ++-- schemas/externalProtocol.prs | 3 +++ schemas/{protocol.prs => genericProtocol.prs} | 1 - schemas/internalProtocol.prs | 3 +++ 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 schemas/externalProtocol.prs rename schemas/{protocol.prs => genericProtocol.prs} (93%) create mode 100644 schemas/internalProtocol.prs diff --git a/schema-bundle.bin b/schema-bundle.bin index aa280a3..839e03e 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -8,7 +8,7 @@ ByteString TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType€„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType€„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„„„ \ No newline at end of file diff --git a/schemas/externalProtocol.prs b/schemas/externalProtocol.prs new file mode 100644 index 0000000..2bab9e3 --- /dev/null +++ b/schemas/externalProtocol.prs @@ -0,0 +1,3 @@ +version 1 . +embeddedType sturdy.WireRef . +include "genericProtocol.prs". diff --git a/schemas/protocol.prs b/schemas/genericProtocol.prs similarity index 93% rename from schemas/protocol.prs rename to schemas/genericProtocol.prs index 5d67ffd..42b5038 100644 --- a/schemas/protocol.prs +++ b/schemas/genericProtocol.prs @@ -1,5 +1,4 @@ version 1 . -embeddedType sturdy.WireRef . Packet = Turn / Error . diff --git a/schemas/internalProtocol.prs b/schemas/internalProtocol.prs new file mode 100644 index 0000000..4c6dc7e --- /dev/null +++ b/schemas/internalProtocol.prs @@ -0,0 +1,3 @@ +version 1 . +embeddedType EntityRef.Ref . +include "genericProtocol.prs". From e7ddfdf31185d5930a7a706c21d7f06652c30f98 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 2 Jul 2021 16:51:21 +0200 Subject: [PATCH 23/39] EntityRef.Ref in dataspacePatterns --- schema-bundle.bin | 2 +- schemas/dataspacePatterns.prs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 839e03e..5d2a875 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -10,5 +10,5 @@ TAttenuate ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType€„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„„„ \ No newline at end of file diff --git a/schemas/dataspacePatterns.prs b/schemas/dataspacePatterns.prs index bfba3ad..cd0dde1 100644 --- a/schemas/dataspacePatterns.prs +++ b/schemas/dataspacePatterns.prs @@ -1,4 +1,5 @@ version 1 . +embeddedType EntityRef.Ref . ; Dataspace patterns: a sublanguage of attenuation patterns. Pattern = DDiscard / DBind / DLit / DCompound . From f7c6e7d16414504c8a178b9c55834b70a8fa0c0a Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 3 Jul 2021 09:00:58 +0200 Subject: [PATCH 24/39] Specify embedded type for sturdy.prs --- schema-bundle.bin | 2 +- schemas/sturdy.prs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 5d2a875..d970aad 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -8,7 +8,7 @@ ByteString TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType€„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„„„ \ No newline at end of file diff --git a/schemas/sturdy.prs b/schemas/sturdy.prs index f82dd4e..3ea1d67 100644 --- a/schemas/sturdy.prs +++ b/schemas/sturdy.prs @@ -1,4 +1,5 @@ version 1 . +embeddedType EntityRef.Ref . ; Each Attenuation is a stage. The sequence of Attenuations is run RIGHT-TO-LEFT. ; That is, the newest Attenuations are at the right. From 993cf78a387a597281e85e39f54111edc33daa68 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 12 Jul 2021 21:10:19 +0200 Subject: [PATCH 25/39] DeBruijn-like binding in patterns --- schema-bundle.bin | 4 ++-- schemas/sturdy.prs | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index d970aad..e16cbf3 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -2,9 +2,9 @@ tcp-remote„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpPeerInfo“³rec“³lit³tcp-peer„“³tupleµ“³named³handle“³embedded³any„„“³named³local“³refµ„³TcpLocal„„“³named³remote“³refµ„³ TcpRemote„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³timer„“³schema·³version‘³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ later-than„“³tupleµ“³named³msecs“³atom³Double„„„„„³ TimerKind“³orµµ±relative“³lit³relative„„µ±absolute“³lit³absolute„„µ±clear“³lit³clear„„„„³ TimerExpired“³rec“³lit³ timer-expired„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„„„„„³ embeddedType€„„µ³stream„“³schema·³version‘³ definitions·³Mode“³orµµ±bytes“³lit³bytes„„µ±lines“³refµ„³LineMode„„µ±packet“³rec“³lit³packet„“³tupleµ“³named³size“³atom³ SignedInteger„„„„„„µ±object“³rec“³lit³object„“³tupleµ“³named³ description³any„„„„„„„³Sink“³orµµ±source“³rec“³lit³source„“³tupleµ“³named³ controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ -controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³name“³atom³Symbol„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± +controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± ByteString“³lit³ -ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± +ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ diff --git a/schemas/sturdy.prs b/schemas/sturdy.prs index 3ea1d67..97ce4a4 100644 --- a/schemas/sturdy.prs +++ b/schemas/sturdy.prs @@ -31,7 +31,7 @@ Pattern = PDiscard / PAtom / PEmbedded / PBind / PAnd / PNot / Lit / PCompound . PDiscard = <_>. PAtom = =Boolean / =Float / =Double / =SignedInteger / =String / =ByteString / =Symbol . PEmbedded = =Embedded . -PBind = . +PBind = . PAnd = . PNot = . PCompound = . @@ -39,7 +39,6 @@ PCompoundMembers = { any: Pattern ...:... }. Template = TAttenuate / TRef / Lit / TCompound . TAttenuate = . -TRef = . +TRef = . TCompound = . TCompoundMembers = { any: Template ...:... }. - From be6b30bba634d2c9e95006c422ecdd83454dfd1f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 22 Jul 2021 13:43:14 +0200 Subject: [PATCH 26/39] Switch Ref -> RefAny --- schema-bundle.bin | 10 +++++----- schemas/dataspace.prs | 2 +- schemas/dataspacePatterns.prs | 2 +- schemas/gatekeeper.prs | 2 +- schemas/internalProtocol.prs | 2 +- schemas/secureChatProtocol.prs | 2 +- schemas/service.prs | 2 +- schemas/simpleChatProtocol.prs | 2 +- schemas/stream.prs | 2 +- schemas/sturdy.prs | 2 +- schemas/tcp.prs | 2 +- schemas/worker.prs | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index e16cbf3..72154f6 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -1,14 +1,14 @@ “³bundle·µ³tcp„“³schema·³version‘³ definitions·³TcpLocal“³rec“³lit³ tcp-local„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpRemote“³rec“³lit³ -tcp-remote„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpPeerInfo“³rec“³lit³tcp-peer„“³tupleµ“³named³handle“³embedded³any„„“³named³local“³refµ„³TcpLocal„„“³named³remote“³refµ„³ TcpRemote„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³timer„“³schema·³version‘³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ +tcp-remote„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpPeerInfo“³rec“³lit³tcp-peer„“³tupleµ“³named³handle“³embedded³any„„“³named³local“³refµ„³TcpLocal„„“³named³remote“³refµ„³ TcpRemote„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³timer„“³schema·³version‘³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ later-than„“³tupleµ“³named³msecs“³atom³Double„„„„„³ TimerKind“³orµµ±relative“³lit³relative„„µ±absolute“³lit³absolute„„µ±clear“³lit³clear„„„„³ TimerExpired“³rec“³lit³ timer-expired„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„„„„„³ embeddedType€„„µ³stream„“³schema·³version‘³ definitions·³Mode“³orµµ±bytes“³lit³bytes„„µ±lines“³refµ„³LineMode„„µ±packet“³rec“³lit³packet„“³tupleµ“³named³size“³atom³ SignedInteger„„„„„„µ±object“³rec“³lit³object„“³tupleµ“³named³ description³any„„„„„„„³Sink“³orµµ±source“³rec“³lit³source„“³tupleµ“³named³ controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ -controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± +controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± ByteString“³lit³ ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ -joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Ref„„„„„ \ No newline at end of file +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„„„ \ No newline at end of file diff --git a/schemas/dataspace.prs b/schemas/dataspace.prs index 55866c5..9539af5 100644 --- a/schemas/dataspace.prs +++ b/schemas/dataspace.prs @@ -1,4 +1,4 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . Observe = . diff --git a/schemas/dataspacePatterns.prs b/schemas/dataspacePatterns.prs index cd0dde1..d248754 100644 --- a/schemas/dataspacePatterns.prs +++ b/schemas/dataspacePatterns.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . ; Dataspace patterns: a sublanguage of attenuation patterns. Pattern = DDiscard / DBind / DLit / DCompound . diff --git a/schemas/gatekeeper.prs b/schemas/gatekeeper.prs index a25d6c3..cc81a47 100644 --- a/schemas/gatekeeper.prs +++ b/schemas/gatekeeper.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . Resolve = . Bind = . diff --git a/schemas/internalProtocol.prs b/schemas/internalProtocol.prs index 4c6dc7e..2894ea0 100644 --- a/schemas/internalProtocol.prs +++ b/schemas/internalProtocol.prs @@ -1,3 +1,3 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . include "genericProtocol.prs". diff --git a/schemas/secureChatProtocol.prs b/schemas/secureChatProtocol.prs index 09e9e7e..b9830e7 100644 --- a/schemas/secureChatProtocol.prs +++ b/schemas/secureChatProtocol.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . UserId = int . diff --git a/schemas/service.prs b/schemas/service.prs index 11ac336..4fffb67 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . RequireService = . ServiceRunning = . diff --git a/schemas/simpleChatProtocol.prs b/schemas/simpleChatProtocol.prs index 33804eb..d0929be 100644 --- a/schemas/simpleChatProtocol.prs +++ b/schemas/simpleChatProtocol.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . Present = . Says = . diff --git a/schemas/stream.prs b/schemas/stream.prs index a8c7ecc..f7e61f6 100644 --- a/schemas/stream.prs +++ b/schemas/stream.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . ; Assertion: StreamConnection = . diff --git a/schemas/sturdy.prs b/schemas/sturdy.prs index 97ce4a4..c78be66 100644 --- a/schemas/sturdy.prs +++ b/schemas/sturdy.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . ; Each Attenuation is a stage. The sequence of Attenuations is run RIGHT-TO-LEFT. ; That is, the newest Attenuations are at the right. diff --git a/schemas/tcp.prs b/schemas/tcp.prs index 7a6d5e1..8f560ff 100644 --- a/schemas/tcp.prs +++ b/schemas/tcp.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . TcpRemote = . TcpLocal = . diff --git a/schemas/worker.prs b/schemas/worker.prs index 25783b5..77d83cb 100644 --- a/schemas/worker.prs +++ b/schemas/worker.prs @@ -1,4 +1,4 @@ version 1 . -embeddedType EntityRef.Ref . +embeddedType EntityRef.RefAny . Instance = . From 0b2c7ecfe175a15bd5268078c7b4afb4c54e64cc Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 22 Jul 2021 14:12:53 +0200 Subject: [PATCH 27/39] Rename RefAny -> Cap --- schema-bundle.bin | 10 +++++----- schemas/dataspace.prs | 2 +- schemas/dataspacePatterns.prs | 2 +- schemas/gatekeeper.prs | 2 +- schemas/internalProtocol.prs | 2 +- schemas/secureChatProtocol.prs | 2 +- schemas/service.prs | 2 +- schemas/simpleChatProtocol.prs | 2 +- schemas/stream.prs | 2 +- schemas/sturdy.prs | 2 +- schemas/tcp.prs | 2 +- schemas/worker.prs | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 72154f6..4ba356c 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -1,14 +1,14 @@ “³bundle·µ³tcp„“³schema·³version‘³ definitions·³TcpLocal“³rec“³lit³ tcp-local„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpRemote“³rec“³lit³ -tcp-remote„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpPeerInfo“³rec“³lit³tcp-peer„“³tupleµ“³named³handle“³embedded³any„„“³named³local“³refµ„³TcpLocal„„“³named³remote“³refµ„³ TcpRemote„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³timer„“³schema·³version‘³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ +tcp-remote„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³ TcpPeerInfo“³rec“³lit³tcp-peer„“³tupleµ“³named³handle“³embedded³any„„“³named³local“³refµ„³TcpLocal„„“³named³remote“³refµ„³ TcpRemote„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³timer„“³schema·³version‘³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ later-than„“³tupleµ“³named³msecs“³atom³Double„„„„„³ TimerKind“³orµµ±relative“³lit³relative„„µ±absolute“³lit³absolute„„µ±clear“³lit³clear„„„„³ TimerExpired“³rec“³lit³ timer-expired„“³tupleµ“³named³label³any„“³named³msecs“³atom³Double„„„„„„³ embeddedType€„„µ³stream„“³schema·³version‘³ definitions·³Mode“³orµµ±bytes“³lit³bytes„„µ±lines“³refµ„³LineMode„„µ±packet“³rec“³lit³packet„“³tupleµ“³named³size“³atom³ SignedInteger„„„„„„µ±object“³rec“³lit³object„“³tupleµ“³named³ description³any„„„„„„„³Sink“³orµµ±source“³rec“³lit³source„“³tupleµ“³named³ controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ -controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± +controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± ByteString“³lit³ ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ -joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³RefAny„„„„„ \ No newline at end of file +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/dataspace.prs b/schemas/dataspace.prs index 9539af5..25c6640 100644 --- a/schemas/dataspace.prs +++ b/schemas/dataspace.prs @@ -1,4 +1,4 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . Observe = . diff --git a/schemas/dataspacePatterns.prs b/schemas/dataspacePatterns.prs index d248754..52ca22f 100644 --- a/schemas/dataspacePatterns.prs +++ b/schemas/dataspacePatterns.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . ; Dataspace patterns: a sublanguage of attenuation patterns. Pattern = DDiscard / DBind / DLit / DCompound . diff --git a/schemas/gatekeeper.prs b/schemas/gatekeeper.prs index cc81a47..43da79a 100644 --- a/schemas/gatekeeper.prs +++ b/schemas/gatekeeper.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . Resolve = . Bind = . diff --git a/schemas/internalProtocol.prs b/schemas/internalProtocol.prs index 2894ea0..59f720b 100644 --- a/schemas/internalProtocol.prs +++ b/schemas/internalProtocol.prs @@ -1,3 +1,3 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . include "genericProtocol.prs". diff --git a/schemas/secureChatProtocol.prs b/schemas/secureChatProtocol.prs index b9830e7..6899495 100644 --- a/schemas/secureChatProtocol.prs +++ b/schemas/secureChatProtocol.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . UserId = int . diff --git a/schemas/service.prs b/schemas/service.prs index 4fffb67..fde204d 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . RequireService = . ServiceRunning = . diff --git a/schemas/simpleChatProtocol.prs b/schemas/simpleChatProtocol.prs index d0929be..c738739 100644 --- a/schemas/simpleChatProtocol.prs +++ b/schemas/simpleChatProtocol.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . Present = . Says = . diff --git a/schemas/stream.prs b/schemas/stream.prs index f7e61f6..f59101f 100644 --- a/schemas/stream.prs +++ b/schemas/stream.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . ; Assertion: StreamConnection = . diff --git a/schemas/sturdy.prs b/schemas/sturdy.prs index c78be66..85f6c6c 100644 --- a/schemas/sturdy.prs +++ b/schemas/sturdy.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . ; Each Attenuation is a stage. The sequence of Attenuations is run RIGHT-TO-LEFT. ; That is, the newest Attenuations are at the right. diff --git a/schemas/tcp.prs b/schemas/tcp.prs index 8f560ff..cc34741 100644 --- a/schemas/tcp.prs +++ b/schemas/tcp.prs @@ -1,5 +1,5 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . TcpRemote = . TcpLocal = . diff --git a/schemas/worker.prs b/schemas/worker.prs index 77d83cb..b0fb53e 100644 --- a/schemas/worker.prs +++ b/schemas/worker.prs @@ -1,4 +1,4 @@ version 1 . -embeddedType EntityRef.RefAny . +embeddedType EntityRef.Cap . Instance = . From 8cd601a777c62f915e48e0888619566a99b5d54f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 11 Aug 2021 15:43:29 -0400 Subject: [PATCH 28/39] Remove name field from DBind --- schema-bundle.bin | 4 ++-- schemas/dataspacePatterns.prs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 4ba356c..4540d22 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -4,11 +4,11 @@ later-than controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± ByteString“³lit³ -ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± +ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³tuple*µ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³name“³atom³Symbol„„“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/dataspacePatterns.prs b/schemas/dataspacePatterns.prs index 52ca22f..0a69faf 100644 --- a/schemas/dataspacePatterns.prs +++ b/schemas/dataspacePatterns.prs @@ -5,7 +5,7 @@ embeddedType EntityRef.Cap . Pattern = DDiscard / DBind / DLit / DCompound . DDiscard = <_>. -DBind = . +DBind = . DLit = . DCompound = @rec / @arr From 9445a71b5363d23d30eb14e05269e01086800cc5 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 11 Aug 2021 16:05:36 -0400 Subject: [PATCH 29/39] Use correct latest version of preserves-schemac --- schema-bundle.bin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 4540d22..f758f24 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -4,7 +4,7 @@ later-than controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³sturdy„“³schema·³version‘³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Float“³lit³Float„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± ByteString“³lit³ -ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³tuple*µ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± +ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit‘„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ From c2de82a2b76bd1774b921bc00edbaa797158e82b Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 18 Aug 2021 22:59:59 -0400 Subject: [PATCH 30/39] schemas/transportAddress.prs --- schema-bundle.bin | 2 +- schemas/transportAddress.prs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 schemas/transportAddress.prs diff --git a/schema-bundle.bin b/schema-bundle.bin index f758f24..8e6d3f9 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -10,5 +10,5 @@ TAttenuate ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/transportAddress.prs b/schemas/transportAddress.prs new file mode 100644 index 0000000..b4bdfd1 --- /dev/null +++ b/schemas/transportAddress.prs @@ -0,0 +1,5 @@ +version 1 . + +Tcp = . +Unix = . +WebSocket = . From 0ff8c2c872538c35a199846e84eb5f33fbebc5a3 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 19 Aug 2021 18:17:51 -0400 Subject: [PATCH 31/39] Stdio transport --- schema-bundle.bin | 2 +- schemas/transportAddress.prs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 8e6d3f9..e3fb2a6 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -10,5 +10,5 @@ TAttenuate ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/transportAddress.prs b/schemas/transportAddress.prs index b4bdfd1..ee51a10 100644 --- a/schemas/transportAddress.prs +++ b/schemas/transportAddress.prs @@ -3,3 +3,4 @@ version 1 . Tcp = . Unix = . WebSocket = . +Stdio = . From 770fb79882f40d51fb0a1fa59a6d6abdc3326a5f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 24 Sep 2021 12:55:41 +0200 Subject: [PATCH 32/39] Develop service model --- schema-bundle.bin | 4 +++- schemas/service.prs | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index e3fb2a6..c8a0d51 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -8,7 +8,9 @@ ByteString TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³Dependee“³orµµ±ServiceStarted“³refµ„³ServiceStarted„„µ±ServiceRunning“³refµ„³ServiceRunning„„„„³ +RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„³ServiceStarted“³rec“³lit³service-started„“³tupleµ“³named³ serviceName³any„„„„³ServiceMilestone“³rec“³lit³service-milestone„“³tupleµ“³named³ serviceName³any„“³named³ milestone³any„„„„³ServiceDependency“³rec“³lit³ +depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³Dependee„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/service.prs b/schemas/service.prs index fde204d..a361448 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -1,5 +1,22 @@ version 1 . embeddedType EntityRef.Cap . +;Asserts that a service should begin (and stay) running after waiting for its dependencies and considering reverse-dependencies, blocks, and so on. RequireService = . + +;Asserts that a service should begin (and stay) running RIGHT NOW, without considering its dependencies. +RunService = . + +;Asserts that the service has been started (but is not necessarily ready for use). +ServiceStarted = . + +;Asserts that the service is ready for use. ServiceRunning = . + +;Asserts that `depender` can be considered started but not running until `dependee` is satisfied. +ServiceDependency = . +;Describes a relationship from a dependent to some a dependee service: has it started? is it ready? +Dependee = ServiceStarted / ServiceRunning . + +;Asserts that the service has the given milestone among its dependencies. If not otherwise specified, a service has the milestone `core` as a dependency. +ServiceMilestone = . From 6cfd97c91ae15197190ad50c71b8cfcd45da0f6e Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 24 Sep 2021 12:57:05 +0200 Subject: [PATCH 33/39] Remove protocol variant complication (experimental) --- schema-bundle.bin | 4 ++-- schemas/externalProtocol.prs | 3 --- schemas/internalProtocol.prs | 3 --- schemas/{genericProtocol.prs => protocol.prs} | 0 4 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 schemas/externalProtocol.prs delete mode 100644 schemas/internalProtocol.prs rename schemas/{genericProtocol.prs => protocol.prs} (100%) diff --git a/schema-bundle.bin b/schema-bundle.bin index c8a0d51..2414dd0 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -10,7 +10,7 @@ TAttenuate ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³Dependee“³orµµ±ServiceStarted“³refµ„³ServiceStarted„„µ±ServiceRunning“³refµ„³ServiceRunning„„„„³ RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„³ServiceStarted“³rec“³lit³service-started„“³tupleµ“³named³ serviceName³any„„„„³ServiceMilestone“³rec“³lit³service-milestone„“³tupleµ“³named³ serviceName³any„“³named³ milestone³any„„„„³ServiceDependency“³rec“³lit³ -depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³Dependee„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ +depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³Dependee„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ -ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³genericProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³externalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³sturdy„³WireRef„„„µ³internalProtocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ +ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/externalProtocol.prs b/schemas/externalProtocol.prs deleted file mode 100644 index 2bab9e3..0000000 --- a/schemas/externalProtocol.prs +++ /dev/null @@ -1,3 +0,0 @@ -version 1 . -embeddedType sturdy.WireRef . -include "genericProtocol.prs". diff --git a/schemas/internalProtocol.prs b/schemas/internalProtocol.prs deleted file mode 100644 index 59f720b..0000000 --- a/schemas/internalProtocol.prs +++ /dev/null @@ -1,3 +0,0 @@ -version 1 . -embeddedType EntityRef.Cap . -include "genericProtocol.prs". diff --git a/schemas/genericProtocol.prs b/schemas/protocol.prs similarity index 100% rename from schemas/genericProtocol.prs rename to schemas/protocol.prs From 422904010b40e366883e94019572af3577fde85b Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 27 Sep 2021 13:48:26 +0200 Subject: [PATCH 34/39] Refine approach to services --- schema-bundle.bin | 6 +++--- schemas/service.prs | 47 +++++++++++++++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 2414dd0..f9c4549 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -8,9 +8,9 @@ ByteString TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³Dependee“³orµµ±ServiceStarted“³refµ„³ServiceStarted„„µ±ServiceRunning“³refµ„³ServiceRunning„„„„³ -RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceRunning“³rec“³lit³service-running„“³tupleµ“³named³ serviceName³any„„„„³ServiceStarted“³rec“³lit³service-started„“³tupleµ“³named³ serviceName³any„„„„³ServiceMilestone“³rec“³lit³service-milestone„“³tupleµ“³named³ serviceName³any„“³named³ milestone³any„„„„³ServiceDependency“³rec“³lit³ -depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³Dependee„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³State“³orµµ±started“³refµ„³started„„µ±ready“³refµ„³ready„„µ±failed“³refµ„³failed„„µ±complete“³refµ„³complete„„„„³ +RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceMilestone“³rec“³lit³ core-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ +depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³ ServiceState„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ joinedUser„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³handle“³embedded“³refµ„³Session„„„„„„³Says“³rec“³lit³says„“³tupleµ“³named³who“³refµ„³UserId„„“³named³what“³atom³String„„„„„³UserId“³atom³ SignedInteger„³Session“³orµµ± observeUsers“³rec“³lit³Observe„“³tupleµ“³lit³user„“³named³observer“³embedded“³refµ„³UserInfo„„„„„„„µ± observeSpeech“³rec“³lit³Observe„“³tupleµ“³lit³says„“³named³observer“³embedded“³refµ„³Says„„„„„„„µ± NickClaim“³refµ„³ NickClaim„„µ±Says“³refµ„³Says„„„„³UserInfo“³rec“³lit³user„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„„„„³ NickClaim“³rec“³lit³ claimNick„“³tupleµ“³named³uid“³refµ„³UserId„„“³named³name“³atom³String„„“³named³k“³embedded“³refµ„³NickClaimResponse„„„„„„³ NickConflict“³rec“³lit³ nickConflict„“³tupleµ„„„³NickClaimResponse“³orµµ±true“³lit„„µ± NickConflict“³refµ„³ NickConflict„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³simpleChatProtocol„“³schema·³version‘³ definitions·³Says“³rec“³lit³Says„“³tupleµ“³named³who“³atom³String„„“³named³what“³atom³String„„„„„³Present“³rec“³lit³Present„“³tupleµ“³named³username“³atom³String„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/service.prs b/schemas/service.prs index a361448..b04a0c4 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -1,22 +1,45 @@ version 1 . embeddedType EntityRef.Cap . -;Asserts that a service should begin (and stay) running after waiting for its dependencies and considering reverse-dependencies, blocks, and so on. +; Asserts that a service should begin (and stay) running after waiting +; for its dependencies and considering reverse-dependencies, blocks, +; and so on. RequireService = . -;Asserts that a service should begin (and stay) running RIGHT NOW, without considering its dependencies. +; Asserts that a service should begin (and stay) running RIGHT NOW, +; without considering its dependencies. RunService = . -;Asserts that the service has been started (but is not necessarily ready for use). -ServiceStarted = . +; Asserts one or more current states of service `serviceName`. The +; overall state of the service is the union of asserted `state`s. +; +; Only a few combinations make sense: +; - `started` +; - `started` + `ready` +; - `failed` +; - `complete` +; +ServiceState = . -;Asserts that the service is ready for use. -ServiceRunning = . +; Possible service states. +State = +/ ; The service has begun its startup routine, and may or may not be + ; ready to take requests from other parties. + started +/ ; The service is ready to take requests from other parties. + ; (This state is special in that it is asserted *in addition* to `started`.) + ready +/ ; The service has failed. + failed +/ ; The service has completed execution. + complete +. -;Asserts that `depender` can be considered started but not running until `dependee` is satisfied. -ServiceDependency = . -;Describes a relationship from a dependent to some a dependee service: has it started? is it ready? -Dependee = ServiceStarted / ServiceRunning . +; Asserts that, when `depender` is `require-service`d, it should not +; be started until `dependee` has been asserted. +ServiceDependency = . -;Asserts that the service has the given milestone among its dependencies. If not otherwise specified, a service has the milestone `core` as a dependency. -ServiceMilestone = . +; Asserts that the service is a "core" service. If *not* specified for +; a service X, the system acts as if ` running>>` were asserted. +ServiceMilestone = . From b4b4995d8499c44605fcfb310efc62b49c758711 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 27 Sep 2021 13:50:29 +0200 Subject: [PATCH 35/39] Oops - wanted literals, but had refs instead --- schema-bundle.bin | 2 +- schemas/service.prs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index f9c4549..0f4c405 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -8,7 +8,7 @@ ByteString TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ -TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³State“³orµµ±started“³refµ„³started„„µ±ready“³refµ„³ready„„µ±failed“³refµ„³failed„„µ±complete“³refµ„³complete„„„„³ +TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³State“³orµµ±started“³lit³started„„µ±ready“³lit³ready„„µ±failed“³lit³failed„„µ±complete“³lit³complete„„„„³ RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceMilestone“³rec“³lit³ core-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³ ServiceState„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ diff --git a/schemas/service.prs b/schemas/service.prs index b04a0c4..bebe361 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -25,14 +25,14 @@ ServiceState = . State = / ; The service has begun its startup routine, and may or may not be ; ready to take requests from other parties. - started + =started / ; The service is ready to take requests from other parties. ; (This state is special in that it is asserted *in addition* to `started`.) - ready + =ready / ; The service has failed. - failed + =failed / ; The service has completed execution. - complete + =complete . ; Asserts that, when `depender` is `require-service`d, it should not From 955177b7db5bb2289a96742ce168c9c9064d5a55 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 27 Sep 2021 13:53:54 +0200 Subject: [PATCH 36/39] Clarify action of `core-service` --- schemas/service.prs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/schemas/service.prs b/schemas/service.prs index bebe361..6e9e26c 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -40,6 +40,7 @@ State = ServiceDependency = . ; Asserts that the service is a "core" service. If *not* specified for -; a service X, the system acts as if ` running>>` were asserted. +; a service X, where X is not `` for some Y, the system +; acts as if ` running>>` +; were asserted. ServiceMilestone = . From 9078267e760636b1a31285ea0019fdbc774ee770 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 27 Sep 2021 13:56:12 +0200 Subject: [PATCH 37/39] Fix typo --- schemas/service.prs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/service.prs b/schemas/service.prs index 6e9e26c..36df4b1 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -41,6 +41,6 @@ ServiceDependency = . ; Asserts that the service is a "core" service. If *not* specified for ; a service X, where X is not `` for some Y, the system -; acts as if ` running>>` +; acts as if ` ready>>` ; were asserted. ServiceMilestone = . From 239b1b15cc20ed8c4e096bd1b82d72a31be74d65 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 27 Sep 2021 13:57:12 +0200 Subject: [PATCH 38/39] Repair incorrect definition name --- schema-bundle.bin | 2 +- schemas/service.prs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 0f4c405..0ffc1d7 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -9,7 +9,7 @@ TAttenuate TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³State“³orµµ±started“³lit³started„„µ±ready“³lit³ready„„µ±failed“³lit³failed„„µ±complete“³lit³complete„„„„³ -RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceMilestone“³rec“³lit³ core-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ +RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ CoreService“³rec“³lit³ core-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³ ServiceState„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ diff --git a/schemas/service.prs b/schemas/service.prs index 36df4b1..1ff0b36 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -43,4 +43,4 @@ ServiceDependency = . ; a service X, where X is not `` for some Y, the system ; acts as if ` ready>>` ; were asserted. -ServiceMilestone = . +CoreService = . From b42230b96a6f8665fdd8e56a52a5e76072a6d182 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 6 Oct 2021 21:51:08 +0200 Subject: [PATCH 39/39] ServiceObject --- schema-bundle.bin | 2 +- schemas/service.prs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 0ffc1d7..0812786 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -9,7 +9,7 @@ TAttenuate TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³PCompoundMembers„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³oid³any„“³named³ caveatChain“³seqof“³refµ„³ Attenuation„„„“³named³sig“³atom³ ByteString„„„„„³ TCompound“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³ConstructorSpec„„“³named³members“³refµ„³TCompoundMembers„„„„„³ TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³refµ„³ Attenuation„„„„„³ Attenuation“³seqof“³refµ„³Caveat„„³ConstructorSpec“³orµµ±CRec“³refµ„³CRec„„µ±CArr“³refµ„³CArr„„µ±CDict“³refµ„³CDict„„„„³PCompoundMembers“³dictof³any“³refµ„³Pattern„„³TCompoundMembers“³dictof³any“³refµ„³Template„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³State“³orµµ±started“³lit³started„„µ±ready“³lit³ready„„µ±failed“³lit³failed„„µ±complete“³lit³complete„„„„³ -RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ CoreService“³rec“³lit³ core-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ +RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ CoreService“³rec“³lit³ core-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³ ServiceObject“³rec“³lit³service-object„“³tupleµ“³named³ serviceName³any„“³named³object³any„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³ ServiceState„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³oid³any„“³named³key“³atom³ ByteString„„“³named³target“³embedded³any„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³ sturdyref“³refµ³sturdy„³ SturdyRef„„“³named³observer“³embedded“³embedded³any„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ racketEvent„“³schema·³version‘³ definitions·³ RacketEvent“³rec“³lit³ racket-event„“³tupleµ“³named³source“³embedded³any„„“³named³event“³embedded³any„„„„„„³ embeddedType€„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³CArr“³rec“³lit³arr„“³tupleµ“³named³arity“³atom³ SignedInteger„„„„„³CRec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³arity“³atom³ SignedInteger„„„„„³DLit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³CDict“³rec“³lit³dict„“³tupleµ„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CRec„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CArr„„“³named³members“³dictof“³atom³ SignedInteger„“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³compound„“³tupleµ“³named³ctor“³refµ„³CDict„„“³named³members“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³secureChatProtocol„“³schema·³version‘³ definitions·³Join“³rec“³lit³ diff --git a/schemas/service.prs b/schemas/service.prs index 1ff0b36..330eca5 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -21,6 +21,11 @@ RunService = . ; ServiceState = . +; A running service publishes zero or more of these. The details of +; the object vary by service. +; +ServiceObject = . + ; Possible service states. State = / ; The service has begun its startup routine, and may or may not be