Tony Garnock-Jones
571fc13787
Allow multiple "root" facets, by creating a dummy root
2018-05-01 22:39:02 +01:00
Tony Garnock-Jones
15120a8488
A few names for unnamed actors make it clear which actor is faulting
2018-05-01 21:19:19 +01:00
Tony Garnock-Jones
76c74f25c2
Adapt platformer to imperative-syndicate. Mostly working!
...
It's also nicely fast compared to the old-Syndicate version :-)
There are still some problems with parameters in cross-ds relaying;
the symptom is #f for (current-facet) at some point, leading to some
sprites that don't get retracted (!).
2018-05-01 21:15:22 +01:00
Tony Garnock-Jones
7b05a25301
First sketch of `quit-dataspace!`.
2018-05-01 21:12:54 +01:00
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
bf98354984
Support vector in patterns, like we already support list
2018-05-01 20:57:22 +01:00
Sam Caldwell
e402725d7f
note
2018-05-01 13:55:34 -04:00
Sam Caldwell
f1c51661c7
Re-finagle module-begin to a more incremental style
...
Fixes 33
2018-05-01 13:55:34 -04:00
Tony Garnock-Jones
f4681c21a1
gl-2d driver and examples
2018-05-01 17:39:17 +01:00
Tony Garnock-Jones
e44ee5ef28
Drain multiple external ground events at once. (Good or bad idea?)
2018-05-01 17:34:51 +01:00
Tony Garnock-Jones
ca67f9405f
Easy access to profiling
2018-05-01 17:34:34 +01:00
Tony Garnock-Jones
007af89325
Care less about exact set ordering in test case
2018-05-01 17:32:03 +01:00
Tony Garnock-Jones
36e4de74ad
Change representation of hashsets to avoid actual sets: use hashes-to-#t instead
2018-05-01 17:27:49 +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
dab13836f7
Clamp `adhoc-retract!` to not drop below zero.
2018-04-30 22:48:27 +01:00
Tony Garnock-Jones
55d13e7569
In case there are no activation-forms, add a gratuitous `(void)` at the end.
2018-04-30 22:47:53 +01:00
Tony Garnock-Jones
47f645d579
Repair incorrect interleaving of actions and scripts
2018-04-30 22:47:25 +01:00
Tony Garnock-Jones
bda2ec0566
Switch another in-hash to hash-for-each
2018-04-30 14:46:43 +01:00
Tony Garnock-Jones
c22f9f98f8
Avoid sets in the hot path of dataflow repair; also remove (bad) cycle-detection code
2018-04-30 14:29:34 +01:00
Tony Garnock-Jones
9d5213ecf4
Speedup from avoiding uselessly enqueueing an empty work queue
2018-04-30 11:19:03 +01:00
Tony Garnock-Jones
00b7f42335
Eliminate another parameter: now only `current-facet` remains
2018-04-30 11:18:49 +01:00
Tony Garnock-Jones
d68bc87da5
Avoid manipulating `in-script?` all the time
2018-04-30 10:44:35 +01:00
Tony Garnock-Jones
77676fca9b
Another small speed bump from using hash-for-each over in-hash-keys
2018-04-30 10:04:33 +01:00
Tony Garnock-Jones
1bd410db23
Avoid sets on the hot path (use hashes instead); good speed improvement
2018-04-30 09:32:08 +01:00
Tony Garnock-Jones
2008e66f38
Add in-* annotations to for loops
2018-04-30 09:14:00 +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
63666f4567
Merge branch 'master' into imperative
2018-04-29 21:49:20 +01:00
Tony Garnock-Jones
f64ad8389a
Update example-during-criterion-snapshotting.rkt
2018-04-29 21:48:49 +01:00
Tony Garnock-Jones
98b7aecd8f
External-event and TCP drivers; chat server and stdin echo programs
2018-04-29 18:43:39 +01:00
Tony Garnock-Jones
14bc36c4c5
Extract raw dataspace test to separate file
2018-04-29 16:08:52 +01:00
Tony Garnock-Jones
d06acb2b59
Commented-out debug-printing in relay.rkt
2018-04-29 16:08:35 +01:00
Tony Garnock-Jones
768ee57a15
Add `test` make target
2018-04-29 16:08:20 +01:00
Tony Garnock-Jones
a13884cbda
bag-key-count
2018-04-29 16:08:01 +01:00
Tony Garnock-Jones
e3d64677bd
Repair scheduling of inner dataspaces, thus allowing e.g. double nesting
2018-04-29 16:07:49 +01:00
Tony Garnock-Jones
70b4bc5e74
Makefile
2018-04-29 14:54:28 +01:00
Tony Garnock-Jones
5a3f89ccf5
Tweak .gitignore
2018-04-29 14:54:22 +01:00
Tony Garnock-Jones
8900eccb1e
Nested dataspaces
2018-04-29 14:54:14 +01:00
Tony Garnock-Jones
71756d8d40
First stab at #lang infrastructure
2018-04-29 12:22:12 +01:00
Tony Garnock-Jones
9b6fd1418a
Refactor tests
2018-04-29 11:55:32 +01:00
Tony Garnock-Jones
45f401e607
Repair rotten pattern tests
2018-04-29 11:30:26 +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
7be0ccf32c
More robust approach to cleanup of assertions on actor termination.
...
We now explicitly track *committed* assertions of each actor in a new
field, `actor-cleanup-changes`. Each time a patch action is
*performed*, `actor-cleanup-changes` is updated. When an actor quits,
it enqueues a special new kind of action, a `quit` action.
When a `quit` action is performed, any remaining contents of
`actor-cleanup-changes` are processed in order to fully remove any
leftover assertions. (Leftover assertions will only arise in
exceptional cases: when some stop-script or facet boot-script raises
an uncaught exception.)
As part of this commit, we undo the effect of commit b207a07
.
2018-04-27 17:30:26 +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
629b4f8509
Cosmetic
2018-04-27 10:54:58 +01:00