Commit Graph

113 Commits

Author SHA1 Message Date
Emery Hemingway cd309ceb7d Add private HMAC-SHA256 implementation 2021-09-06 21:55:00 +02:00
Emery Hemingway a23935b3c5 Add Tupfile for generating protocol code 2021-09-06 18:25:35 +02:00
Emery Hemingway fbf48c441e Add Preserves submodule
This allows the schema code generator to be developed and tested
simultaneously.
2021-09-06 18:24:33 +02:00
Emery Hemingway 7f7756ef59 Add 'src/syndicate/protocols/' from commit '0ff8c2c872538c35a199846e84eb5f33fbebc5a3'
git-subtree-dir: src/syndicate/protocols
git-subtree-mainline: 7a7a6f7e4e
git-subtree-split: 0ff8c2c872
2021-09-06 14:22:42 +02:00
Emery Hemingway 7a7a6f7e4e Unlicense 2021-09-01 13:47:21 +02:00
Emery Hemingway a5830a4a07 Parameterize Preserve type 2021-09-01 13:44:28 +02:00
Emery Hemingway cfd863fbf9 Test schema code generator 2021-08-28 10:52:26 +02:00
Emery Hemingway 6fd02e74dd DSL: rename assert to asserting
Too much of a clash with the assert builtin.
2021-08-28 10:51:32 +02:00
Emery Hemingway 2a09e61f2b Adapt to non-throwing fromPreserve
Use the new fromPreserve proc that indicates failure with its
return value to test if a handler can process a pattern match.
2021-08-28 10:49:58 +02:00
Tony Garnock-Jones 0ff8c2c872 Stdio transport 2021-08-19 18:17:51 -04:00
Tony Garnock-Jones c2de82a2b7 schemas/transportAddress.prs 2021-08-18 22:59:59 -04:00
Tony Garnock-Jones 9445a71b53 Use correct latest version of preserves-schemac 2021-08-11 16:05:36 -04:00
Tony Garnock-Jones 8cd601a777 Remove name field from DBind 2021-08-11 15:43:29 -04:00
Tony Garnock-Jones 0b2c7ecfe1 Rename RefAny -> Cap 2021-07-22 14:12:53 +02:00
Tony Garnock-Jones be6b30bba6 Switch Ref -> RefAny 2021-07-22 13:43:14 +02:00
Tony Garnock-Jones 993cf78a38 DeBruijn-like binding in patterns 2021-07-12 21:10:19 +02:00
Emery Hemingway 4f7f7e7780 Add `withFacet` template
Simplifies the injection of `getCurrentFacet`.
2021-07-12 12:17:13 +02:00
Emery Hemingway 8c02bf807e Rename sendMessage to send 2021-07-12 12:10:11 +02:00
Emery Hemingway 9b97f1135e Use monotonic time for the timer driver
Use the arbitrary monotonic timer which supports higher resolution.
This avoids Epochalypse problems (even if we are going to be mostly
dead by 2038).
2021-07-09 17:45:44 +02:00
Emery Hemingway 6920c26183 Add timer driver 2021-07-09 17:08:19 +02:00
Emery Hemingway 6a4eb032ad Simplify EndpointSpec type 2021-07-09 17:06:16 +02:00
Emery Hemingway 262a8d7452 Track external tasks that will drive dataspace 2021-07-09 17:06:16 +02:00
Emery Hemingway 3dfafd925d Add react and during to DSL 2021-07-09 17:06:16 +02:00
Emery Hemingway c85c809bef Use % operator for constructing records from classes 2021-07-09 17:06:16 +02:00
Emery Hemingway 99fb0a9cff Simplify event handling 2021-07-09 17:06:15 +02:00
Emery Hemingway 86b2dfbdab Pass only a single preserves value to assert 2021-07-09 17:06:01 +02:00
Emery Hemingway 3de97c5cf1 macros: take multiple arguments at assert
The assertion record may have multiple fields, so take multiple
arguments.
2021-07-09 16:10:17 +02:00
Emery Hemingway 50afa0107f macros: add onStart and onStop
The onStart and onStop macros will be called as actors start and
stop. This can be used to call `quit`, since the async dispatcher
will run empty and raise an error otherwise.
2021-07-09 16:10:17 +02:00
Emery Hemingway 300f0169bb Move syndicate/macros module to syndicate 2021-07-09 16:10:17 +02:00
Emery Hemingway f695092ae8 Fix lost handlers in skeleton index 2021-07-09 16:10:16 +02:00
Tony Garnock-Jones f7c6e7d164 Specify embedded type for sturdy.prs 2021-07-03 09:00:58 +02:00
Tony Garnock-Jones e7ddfdf311 EntityRef.Ref in dataspacePatterns 2021-07-02 16:51:21 +02:00
Tony Garnock-Jones dab79020f4 Variations on protocol for internal and external use 2021-07-02 16:48:15 +02:00
Tony Garnock-Jones a6639b5380 Error packets 2021-07-02 10:11:53 +02:00
Tony Garnock-Jones 06e922c511 Compiled schema bundle 2021-07-01 10:04:26 +02:00
Tony Garnock-Jones 93c196acaa Move schemas into subdirectory after subtree split 2021-07-01 09:51:53 +02:00
Emery Hemingway 274f0429de macros: inject more getCurrentFacet 2021-06-30 13:36:07 +02:00
Emery Hemingway 1e78cd600d Require Preserves >= 0.3.0
Importing preserves/records does not work otherwise.
2021-06-29 18:46:31 +02:00
Emery Hemingway 77e32a214e Initial Syndicate DSL 2021-06-29 17:44:03 +02:00
Emery Hemingway f745e8b53f Simplifications at dataspaces and skeletons 2021-06-29 17:14:27 +02:00
Emery Hemingway 0e493d0696 Improved declareField 2021-06-29 17:14:25 +02:00
Emery Hemingway e156335d9a Adjust imports for RecordClass 2021-06-29 16:59:30 +02:00
Emery Hemingway 637d3b3d76 Move syndicate.nim to syndicate/dataspaces.nim 2021-06-27 16:11:18 +02:00
Emery Hemingway ff27285cff Allow multiple fields
Fix the declareField template to append fields without
deduplication, which was not working because I cannot find a way
to convert indentifiers to strings.
2021-06-25 15:02:54 +02:00
Tony Garnock-Jones e034486aaa Update schemas to match new identifier restrictions. 2021-06-25 09:45:38 +02:00
Emery Hemingway dd977991ad Initial commit
A mostly verbatim translation of syndicate-js.

https://git.syndicate-lang.org/syndicate-lang/syndicate-js
2021-06-24 17:50:27 +02:00
Tony Garnock-Jones 824b078eac Simpler stream connection protocol. 2021-06-18 13:48:12 +02:00
Tony Garnock-Jones cf93327ed6 Services and service activation 2021-06-17 14:57:06 +02:00
Tony Garnock-Jones 6cfe8c2ba4 `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
2021-06-17 13:38:30 +02:00
Tony Garnock-Jones b6bc816daf 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!
2021-06-16 21:44:07 +02:00