Commit Graph

26 Commits

Author SHA1 Message Date
Tony Garnock-Jones 77a3042c98 Multi-assert!/retract! for adhoc assertions 2018-05-01 20:58:26 +01:00
Tony Garnock-Jones 9d4388ad8c More thoughtless uncommenting of query-* forms 2018-05-01 20:58:02 +01:00
Tony Garnock-Jones 7e71f04cc6 Correct error from earlier thoughtless uncommenting 2018-05-01 20:57:42 +01:00
Tony Garnock-Jones aaea276ec5 Uncomment query-value and friends. May need tweaks. 2018-04-30 22:48:50 +01:00
Tony Garnock-Jones 8bed3d4d4c Add timer/timestate support; this prompted a change to endpoint registration.
The `add-endpoint!` call is changed in two ways:

 - the old `assertion-fn` has become `update-fn`, yielding both
   an assertion *and* an optional handler, because if the handler
   depends on a field which changes, previously the handler wasn't
   being updated

 - a new parameter, `dynamic?`, can be set to #f (it's usually #t)
   to ensure that the assertion and skeleton-interest are calculated
   only once ever, and are not connected to the dataflow machinery.

The first change makes it possible for the `(later-than (deadline))`
pattern, where `deadline` is a field, to work; the second change makes
`during` and `during/spawn` work correctly in the face of field
updates.
2018-04-29 22:27:55 +01:00
Tony Garnock-Jones 8900eccb1e Nested dataspaces 2018-04-29 14:54:14 +01:00
Tony Garnock-Jones 9b6fd1418a Refactor tests 2018-04-29 11:55:32 +01:00
Tony Garnock-Jones f2af7cb20b Box-and-client speed test 2018-04-27 23:59:04 +01:00
Tony Garnock-Jones 897c1aec0a Simple test harness 2018-04-27 23:53:31 +01:00
Tony Garnock-Jones 7199e6be64 Cosmetic notes 2018-04-27 18:23:34 +01:00
Tony Garnock-Jones a22062e043 Remove current-dataspace parameter 2018-04-27 18:05:33 +01:00
Tony Garnock-Jones 2c202d46ad Cosmetic notes 2018-04-27 17:36:43 +01:00
Tony Garnock-Jones 60a6290bc2 New failing test case. This, plus recent commits, calls for a
different strategy for tracking the retractions necessary at actor
termination.
2018-04-27 10:55:21 +01:00
Tony Garnock-Jones c56e5ad547 Switch adhoc-assertions to a bag (from a set).
This repairs a bug regarding crashes in a new actor's boot-proc.

Previously, if boot-proc raised an exception, the initial assertions
would stick around forever. By changing adhoc-assertions to a bag
rather than a set, and putting the initial assertions in the bag, we
put them somewhere they are guaranteed to be processed during actor
termination, even when an exception is signalled during boot.

This is an API change wrt the previous Syndicate implementation:
assert!/retract! now have bag semantics, not set semantics. We can add
set-semantics APIs if we end up needing them, of course, layered on
top of the bag implementation.
2018-04-27 09:59:03 +01:00
Tony Garnock-Jones 18418dfc13 Failing test: an exception in a stop script messes up cleanup 2018-04-25 20:13:54 +01:00
Tony Garnock-Jones 2878386805 Omit "name" to ctor for dataspace struct - name is/will be a property of the downward relay connection 2018-04-25 19:30:45 +01:00
Tony Garnock-Jones 1b1c598aa0 during/spawn 2018-04-22 21:07:35 +01:00
Tony Garnock-Jones 8cb4e947a5 Correct typo 2018-04-22 21:06:18 +01:00
Tony Garnock-Jones 7283eb8362 Implement during and ad-hoc assertions 2018-04-19 17:55:52 +01:00
Tony Garnock-Jones dd816a74ca Better Isolated Turn Principle 2018-04-11 12:28:09 +01:00
Tony Garnock-Jones d37a675afc Improve syntax location tracking 2018-04-09 10:29:14 +01:00
Tony Garnock-Jones b8e00e90f9 Script suspend and resume 2018-04-09 10:23:22 +01:00
Tony Garnock-Jones 8fcf765192 Simple messages-per-second test (~195kHz at present) 2018-04-08 12:06:37 +01:00
Tony Garnock-Jones 0673d6d9b3 Progress on syntax veneer 2018-04-08 11:44:32 +01:00
Tony Garnock-Jones 0e2384514f Eliminate (interesting uses of) facet IDs by storing references directly 2018-04-08 08:52:37 +01:00
Tony Garnock-Jones e1de8a2814 Steps toward API usable by syntax layer; beginning of syntax layer, adapted from previous implementation 2018-04-08 07:39:39 +01:00