Tony Garnock-Jones
852eff8d0b
New (failing) test case re: the approach to relaying
2018-05-02 18:23:02 +01:00
Tony Garnock-Jones
bc5b28c403
Correct printing of test procedures
2018-05-02 18:20:33 +01:00
Tony Garnock-Jones
e4a1a6e075
Add `bag-empty?`
2018-05-02 18:20:24 +01:00
Tony Garnock-Jones
17cee51342
Ensure (??) that relays' assertions can't outlive them
2018-05-02 18:10:52 +01:00
Tony Garnock-Jones
dd123f4a27
Notes on eventual improvements to dataspace nesting
2018-05-02 13:19:18 +01:00
Tony Garnock-Jones
74cb70bdf3
Actually-useful instantaneous frame rate measurement
2018-05-01 22:40:12 +01:00
Tony Garnock-Jones
eb208f3a10
Handy logging for diagnosing problems
2018-05-01 22:39:50 +01:00
Tony Garnock-Jones
367b39ce39
Eliminate a (mostly harmless) source of #f current-facet.
2018-05-01 22:39:26 +01:00
Tony Garnock-Jones
669122766d
Allow multiple "root" facets, by creating a dummy root
2018-05-01 22:39:02 +01:00
Tony Garnock-Jones
c85f05ced1
A few names for unnamed actors make it clear which actor is faulting
2018-05-01 21:19:19 +01:00
Tony Garnock-Jones
bbcb8a3b80
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
869a495392
First sketch of `quit-dataspace!`.
2018-05-01 21:12:54 +01:00
Tony Garnock-Jones
896cfe2498
Multi-assert!/retract! for adhoc assertions
2018-05-01 20:58:26 +01:00
Tony Garnock-Jones
e43054a6bd
More thoughtless uncommenting of query-* forms
2018-05-01 20:58:02 +01:00
Tony Garnock-Jones
9c22868bd2
Correct error from earlier thoughtless uncommenting
2018-05-01 20:57:42 +01:00
Tony Garnock-Jones
e4e0b5f9d4
Support vector in patterns, like we already support list
2018-05-01 20:57:22 +01:00
Tony Garnock-Jones
2b2d12075a
gl-2d driver and examples
2018-05-01 17:39:17 +01:00
Tony Garnock-Jones
38c6bfd20e
Drain multiple external ground events at once. (Good or bad idea?)
2018-05-01 17:34:51 +01:00
Tony Garnock-Jones
65b2c94161
Easy access to profiling
2018-05-01 17:34:34 +01:00
Tony Garnock-Jones
32d217f3e0
Care less about exact set ordering in test case
2018-05-01 17:32:03 +01:00
Tony Garnock-Jones
475e6527f3
Uncomment query-value and friends. May need tweaks.
2018-04-30 22:48:50 +01:00
Tony Garnock-Jones
ec0933ffdd
Clamp `adhoc-retract!` to not drop below zero.
2018-04-30 22:48:27 +01:00
Tony Garnock-Jones
2575b71db4
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
f3ca2b6a15
Repair incorrect interleaving of actions and scripts
2018-04-30 22:47:25 +01:00
Tony Garnock-Jones
3c4076287e
Switch another in-hash to hash-for-each
2018-04-30 14:46:43 +01:00
Tony Garnock-Jones
671e9742c7
Speedup from avoiding uselessly enqueueing an empty work queue
2018-04-30 11:19:03 +01:00
Tony Garnock-Jones
0e37037b6e
Eliminate another parameter: now only `current-facet` remains
2018-04-30 11:18:49 +01:00
Tony Garnock-Jones
14ee4f70ef
Avoid manipulating `in-script?` all the time
2018-04-30 10:44:35 +01:00
Tony Garnock-Jones
c2cb624e42
Another small speed bump from using hash-for-each over in-hash-keys
2018-04-30 10:04:33 +01:00
Tony Garnock-Jones
00121d9710
Avoid sets on the hot path (use hashes instead); good speed improvement
2018-04-30 09:32:08 +01:00
Tony Garnock-Jones
eb3a93e32b
Add in-* annotations to for loops
2018-04-30 09:14:00 +01:00
Tony Garnock-Jones
a6811f2ba5
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
91596b066f
External-event and TCP drivers; chat server and stdin echo programs
2018-04-29 18:43:39 +01:00
Tony Garnock-Jones
f45323a097
Extract raw dataspace test to separate file
2018-04-29 16:08:52 +01:00
Tony Garnock-Jones
2652147141
Commented-out debug-printing in relay.rkt
2018-04-29 16:08:35 +01:00
Tony Garnock-Jones
8ba3779eda
Add `test` make target
2018-04-29 16:08:20 +01:00
Tony Garnock-Jones
5b435ee8d8
bag-key-count
2018-04-29 16:08:01 +01:00
Tony Garnock-Jones
b3d6b74dab
Repair scheduling of inner dataspaces, thus allowing e.g. double nesting
2018-04-29 16:07:49 +01:00
Tony Garnock-Jones
e69473a115
Makefile
2018-04-29 14:54:28 +01:00
Tony Garnock-Jones
1fe134d920
Tweak .gitignore
2018-04-29 14:54:22 +01:00
Tony Garnock-Jones
dd2cddb6a7
Nested dataspaces
2018-04-29 14:54:14 +01:00
Tony Garnock-Jones
204197c3eb
First stab at #lang infrastructure
2018-04-29 12:22:12 +01:00
Tony Garnock-Jones
f40e7c15cc
Refactor tests
2018-04-29 11:55:32 +01:00
Tony Garnock-Jones
afad4cd0be
Repair rotten pattern tests
2018-04-29 11:30:26 +01:00
Tony Garnock-Jones
3a857db4b9
Box-and-client speed test
2018-04-27 23:59:04 +01:00
Tony Garnock-Jones
290170f450
Simple test harness
2018-04-27 23:53:31 +01:00
Tony Garnock-Jones
d6c0241c57
Cosmetic notes
2018-04-27 18:23:34 +01:00
Tony Garnock-Jones
a4abea9d87
Remove current-dataspace parameter
2018-04-27 18:05:33 +01:00
Tony Garnock-Jones
0cbb5b061c
Cosmetic notes
2018-04-27 17:36:43 +01:00
Tony Garnock-Jones
edb8e719f7
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 8624047
.
2018-04-27 17:30:26 +01:00