Commit Graph

188 Commits

Author SHA1 Message Date
Tony Garnock-Jones fa3505e3a6 Add second, non-dataspace, test case to illustrate correct behaviour 2018-05-02 23:36:03 +01:00
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