Emery Hemingway
96d3bbb500
New "addCallback" proc for processing Futures in Turns
2022-09-04 13:13:02 -05:00
Emery Hemingway
9b0437e922
Export asyncCheck from syndicate module
2022-08-31 15:10:50 -05:00
Emery Hemingway
b0f5ff98e2
Different ?? pattern operator
...
Make the ?? operator convert a pattern to a pattern of itself and
inject other patterns into it.
2022-08-29 14:49:28 -05:00
Emery Hemingway
6701fdb1c7
Assert that pattern capture count matches handlers
2022-08-29 14:49:27 -05:00
Emery Hemingway
7f0277fe85
DSL: bind "turn" symbol in during retract handler
2022-06-16 12:13:28 -05:00
Emery Hemingway
57e4bb6bad
Generate literal patterns by preserving values
2022-06-15 22:27:25 -05:00
Emery Hemingway
07cd833e3d
Move literal pattern builder to syndicate module
2022-06-12 23:07:38 -05:00
Emery Hemingway
7ca28768d4
DSL support for handler bodies without parameters
2022-06-12 14:09:34 -05:00
Emery Hemingway
be22238ca3
addDataspace
2022-06-12 14:07:29 -05:00
Emery Hemingway
b4fd18ffcd
Generate literal patterns for values
2022-06-08 20:20:45 -05:00
Emery Hemingway
9648884997
Move `?` operator to DSL module
2022-04-23 20:06:46 -05:00
Emery Hemingway
fd47039ca3
DSL documentation and example
2022-04-23 20:05:00 -05:00
Emery Hemingway
a437183863
Add proper "during" macro
2022-04-23 20:04:00 -05:00
Emery Hemingway
fac3002fc8
Export "stop" from syndicate module
2022-03-18 10:09:52 -05:00
Emery Hemingway
829c0bf61a
Fix Ref rewriting
2022-03-16 13:00:58 -05:00
Emery Hemingway
13fd96420c
Export more from syndicate module
2022-03-16 13:00:58 -05:00
Emery Hemingway
56431ee37b
Export more from syndicate module
...
Applications should only need to import this module
2022-03-16 13:00:58 -05:00
Emery Hemingway
aca382e178
Cleanup actors module
...
Use methods at Entity rather than proc pointers, but use proc
pointers within the DSL in the syndicate module.
2022-03-16 13:00:58 -05:00
Emery Hemingway
1912574ed8
Proper dataspaces
2022-03-16 13:00:50 -05:00
Emery Hemingway
d18508371f
Remove onRetract macro
2022-03-16 12:59:45 -05:00
Emery Hemingway
123fb79bbe
Mark template within a macros as always used
2021-11-03 19:22:09 +01:00
Emery Hemingway
babc58526c
Update submodules
2021-11-03 19:21:52 +01:00
Emery Hemingway
515ef22805
Add onRetract sugar to scope of onPublish
2021-11-02 13:11:44 +01:00
Emery Hemingway
166152cd84
Re-implement onPublish and onMessage
2021-10-29 18:27:22 +02:00
Emery Hemingway
77a9ea380f
Syndicate with caps
2021-10-26 13:09:54 +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
a5830a4a07
Parameterize Preserve type
2021-09-01 13:44:28 +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
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
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
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