Commit Graph

246 Commits

Author SHA1 Message Date
Emery Hemingway 55fcbb0754 cleanup 2021-10-29 18:27:22 +02:00
Emery Hemingway 166152cd84 Re-implement onPublish and onMessage 2021-10-29 18:27:22 +02:00
Emery Hemingway 272b6dfcb7 Idiomatic pattern constructor 2021-10-29 18:27:22 +02:00
Emery Hemingway 29b43eaced Pattern constructors 2021-10-29 18:27:22 +02:00
Emery Hemingway 3b9bbdf0fe Reduce methods to proc pointers 2021-10-29 18:27:22 +02:00
Emery Hemingway 8cf7beeb0d Fix nil dereference in message 2021-10-28 17:41:28 +02:00
Emery Hemingway 3f552edde7 Rename sturdy module to capabilities 2021-10-27 18:54:20 +02:00
Emery Hemingway 77a9ea380f Syndicate with caps 2021-10-26 13:09:54 +02:00
Emery Hemingway 8447822243 Move protocols to a submodule
The code generated from the protocols is commited here so the
submodule doesn't need to be checked out to build.
2021-10-06 11:58:43 +02:00
Emery Hemingway 6cd5887b4c DSL: rename "asserting" to "publish"
This should be more legible if there is less confusion with the
Nim "assert" builtin.
2021-09-22 14:39:30 +02:00
Emery Hemingway b0c92ea5de Make DSL blocks callable procedures 2021-09-21 16:39:57 +02:00
Emery Hemingway 62464a0cc1 Update Preserves submodule 2021-09-21 16:39:43 +02:00
Emery Hemingway ed555776fb isNil(Preserve) is now isFalse 2021-09-21 16:38:15 +02:00
Emery Hemingway 6b15fe98a1 HMAC: Accept strings or bytes for messages without a cast 2021-09-20 18:27:05 +02:00
Emery Hemingway 59e2367131 WiP! SturdyRef 2021-09-07 12:01:42 +02:00
Emery Hemingway 9a0b8caeb5 fixup hmacs 2021-09-07 12:01:28 +02:00
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 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
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
Emery Hemingway 274f0429de macros: inject more getCurrentFacet 2021-06-30 13:36:07 +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
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