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
Tony Garnock-Jones
a73b6a9f4a
Whole-packet flow credit
2021-06-15 12:46:09 +02:00
Tony Garnock-Jones
f6cb595709
Add ConnectionPeer assertions; rename TcpOutbound -> TcpRemote and TcpInbound -> TcpLocal
2021-06-15 12:37:14 +02:00
Tony Garnock-Jones
afe36c630d
Refactor/repair tcp.prs and tcp.rkt
2021-06-11 15:29:12 +02:00
Tony Garnock-Jones
5850c5b06d
Credit-based flow control on tcp driver; line mode
2021-06-11 14:18:53 +02:00
Tony Garnock-Jones
b0d0eb3a11
drivers/racket-event.rkt
2021-06-10 13:34:18 +02:00
Tony Garnock-Jones
21d09f81e5
ActiveSocket-close now gets a string, not an embedded exn
2021-06-10 13:33:16 +02:00
Tony Garnock-Jones
8b5e74048e
Beginnings of a TCP driver
2021-06-10 10:00:43 +02:00
Tony Garnock-Jones
201f5433e1
Port timer driver from older syndicate/rkt implementation
2021-06-09 23:08:06 +02:00