Tony Garnock-Jones
3b12a290a3
Single-colon pseudoselectors
2018-09-24 18:11:34 +01:00
Tony Garnock-Jones
1275aaded1
Fix the jolly section numbering
2018-09-24 18:11:19 +01:00
Tony Garnock-Jones
96c46c19b4
Split out CSS; attempt to get section numbering (grrr!)
2018-09-24 16:45:39 +01:00
Tony Garnock-Jones
4716b4f4e9
Minor print layout tweaks, and minor content fixes
2018-09-24 16:08:48 +01:00
Tony Garnock-Jones
b656df8632
Tighten
2018-09-24 15:33:19 +01:00
Tony Garnock-Jones
a22ded2f16
Literal small integers
2018-09-24 14:09:26 +01:00
Tony Garnock-Jones
b4d4092b90
Trim and improve
2018-09-24 12:59:22 +01:00
Tony Garnock-Jones
b2eb53e664
Tweak print stylesheet
2018-09-24 10:36:10 +01:00
Tony Garnock-Jones
7f71620136
Print makefile
2018-09-23 22:56:41 +01:00
Tony Garnock-Jones
f2c2e4d39e
Tweaks for Chrome and for print
2018-09-23 22:56:36 +01:00
Tony Garnock-Jones
ff5cb65f5f
Fixes
2018-09-23 22:44:43 +01:00
Tony Garnock-Jones
00a69ae012
Progress
2018-09-23 22:35:00 +01:00
Tony Garnock-Jones
f2f57385ce
Many improvements
2018-09-23 18:14:58 +01:00
Tony Garnock-Jones
2996970cbe
move codec.md together with preserve.md
2018-09-23 14:39:46 +01:00
Tony Garnock-Jones
738fad360a
codec.md draft
2018-09-23 14:39:02 +01:00
Tony Garnock-Jones
c23285781c
preserve.md based on codec.md which I'm about to check in
2018-09-23 14:37:20 +01:00
Tony Garnock-Jones
f6ab8320c5
sqlite driver
2018-08-29 15:03:12 +01:00
Tony Garnock-Jones
939396b9b7
Rename codec --> preserve
2018-08-27 10:24:11 +01:00
Tony Garnock-Jones
542d0a886a
Explore struct inheritance
2018-08-21 10:54:17 +01:00
Tony Garnock-Jones
7dacb5ba6e
Better codec
2018-08-19 22:13:42 +01:00
Tony Garnock-Jones
77b0addcd0
Improve multicast protocol
2018-08-19 17:54:32 +01:00
Tony Garnock-Jones
c125564f5f
Improve example
2018-08-15 10:11:07 +01:00
Tony Garnock-Jones
061765041b
Initial quasi-port of Syndicate/rkt web driver
2018-08-14 17:58:36 +01:00
Tony Garnock-Jones
76674c77b3
Multicast-UDP-based dataspace sketch, from last night
2018-08-14 12:35:56 +01:00
Tony Garnock-Jones
e9457af8c2
Clear no-longer-interesting timers
2018-08-14 12:33:50 +01:00
Tony Garnock-Jones
979d057f3f
TODO
2018-08-13 21:45:44 +01:00
Tony Garnock-Jones
f5efa77d91
term-intersect
2018-08-13 21:32:51 +01:00
Tony Garnock-Jones
86412b273d
UDP and UDP multicast
2018-08-13 20:07:27 +01:00
Tony Garnock-Jones
ea16d24be8
filesystem driver
2018-05-11 09:58:25 +01:00
Tony Garnock-Jones
43f1eab1f3
Port netstack to imperative-syndicate.
...
If you change `racket-bitsyntax` to use `typed/racket/base/no-check`
for its `bitstring.rkt` module, this runs about 15x faster than the
`syndicate` version of the stack. Otherwise, it runs about 3x faster
than the `syndicate` version of the stack.
2018-05-06 15:28:41 +01:00
Tony Garnock-Jones
35726f3831
Notes on tcp2 protocol
2018-05-06 11:24:28 +01:00
Tony Garnock-Jones
96d24fbb4b
New test case
2018-05-06 11:06:36 +01:00
Tony Garnock-Jones
9fc621c829
Add missing assertion for outbound connections.
2018-05-06 11:03:39 +01:00
Tony Garnock-Jones
61cd0613ca
Repair bogus test. I should have caught this earlier!
2018-05-06 10:55:21 +01:00
Tony Garnock-Jones
be1bc6c220
Improve the kinds of tests we can do for expected output slightly.
2018-05-06 10:55:02 +01:00
Tony Garnock-Jones
daba892a07
pattern-expander.rkt
2018-05-04 23:15:09 +01:00
Tony Garnock-Jones
d053edc101
GUI example
2018-05-04 16:57:22 +01:00
Tony Garnock-Jones
46ddb47050
Cosmetic - extra logging (when uncommented)
2018-05-04 16:56:56 +01:00
Tony Garnock-Jones
d3f27488ed
Repair long-standing error in skeleton-walking.
2018-05-04 16:56:45 +01:00
Tony Garnock-Jones
000fa3c008
Extremely limited support for quasiquoting and quoting in patterns
2018-05-04 16:56:23 +01:00
Tony Garnock-Jones
1868b10617
Clock face example
2018-05-04 16:09:12 +01:00
Tony Garnock-Jones
bc4c080641
Quasi-useful debug output
2018-05-04 16:04:42 +01:00
Tony Garnock-Jones
ab64f71766
Restriction-paths: right idea (?), wrong implementation. This time maybe.
...
Instead of having restriction-paths as an adjunct to a change, they're
more propertly a part of each assertion itself. The new `skeleton.rkt`
keeps an optional restriction-path with each assertion, treating it as
distinct from its underlying assertion. The idea of not signalling
changes in assertions that have a restriction-path mismatch stays.
2018-05-04 15:55:53 +01:00
Tony Garnock-Jones
ef4584a60f
Skip apply-patch! make-work if patch is empty
2018-05-03 22:56:40 +01:00
Tony Garnock-Jones
69a8893da3
Add the concept of "restriction-path", which limits assertion visibility.
...
This is used when relaying: because we don't have access to the full
term, but only the projection results, we are inserting various
`(discard)`s. This is the cause of the failure in
`test/core/nesting-confusion.rkt`.
By adding `restriction-path`, we allow the inner dataspace to avoid
showing a reconstructed term to endpoints that might be able to
observe the reconstructed parts.
An alternative implementation approach is to generalize patterns in
the inner relay actor, translating all `(discard)`s into captures,
which would give us all the relevant terms that we need. The way I've
chosen to go (or at least, to try out) allows us to potentially keep
the "efficient" idea of just transmitting pattern-bound values across
some network link connecting dataspaces. The alternative would require
transmission of the full assertions, eliding no irrelevant detail.
2018-05-03 22:09:33 +01:00
Tony Garnock-Jones
8b36c52455
for/bag and for/bag/count
2018-05-03 22:09:13 +01:00
Tony Garnock-Jones
ee0033b6be
Make test-implementation language expose all of `racket` rather than just `racket/base`, for convenience.
2018-05-03 22:08:52 +01:00
Tony Garnock-Jones
f01b17dea4
Reuse apply-patch for initial-assertions too
2018-05-03 20:09:34 +01:00
Tony Garnock-Jones
00d50e6700
Factor out assertion structure definitions
2018-05-03 16:14:30 +01:00
Tony Garnock-Jones
fecd2f9787
Notes on install and test
2018-05-03 15:21:33 +01:00
Tony Garnock-Jones
47a113026c
README.md
2018-05-03 15:06:53 +01:00
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