Tony Garnock-Jones
f07fcb9081
More notes
2018-11-02 12:18:44 +00:00
Tony Garnock-Jones
40fa2ca620
Improve (?) test ergonomics.
2018-11-02 12:15:21 +00:00
Tony Garnock-Jones
5c5316f37e
Detect and repair error in error-handling and -recovery.
2018-11-02 12:15:04 +00:00
Tony Garnock-Jones
57d7ec505d
Ensure patched assertions are added before being removed, to avoid glitching
2018-11-02 00:38:40 +00:00
Tony Garnock-Jones
143abcf4c1
Separate out narration
2018-10-24 16:14:54 +01:00
Tony Garnock-Jones
dd8a7861d4
The problem specifies 10 elves
2018-10-24 14:29:10 +01:00
Tony Garnock-Jones
3fec2d2f57
Supply #f as cleanup function in multicast udp-dataspace, instead of void; notes on cleanup functions and visibility-restrictions
2018-10-24 13:21:20 +01:00
Tony Garnock-Jones
ce706583e5
Santa Claus Problem, in Syndicate/rkt
2018-10-24 11:40:16 +01:00
Tony Garnock-Jones
fe40d6b804
Present-to-absent check is necessary in assertion removal handler
2018-10-21 13:32:06 +01:00
Tony Garnock-Jones
e9d510d658
Tweaks
2018-10-21 01:04:05 +01:00
Tony Garnock-Jones
d08a7536f1
Minor corrections and tweaks
2018-10-21 00:59:38 +01:00
Tony Garnock-Jones
a2ade911f6
First JavaScript steps, based on HOWITWORKS.md
2018-10-21 00:58:40 +01:00
Tony Garnock-Jones
f3152fe1c1
Update to explain the "dummy" outermost wrapper constructor
2018-10-20 21:54:58 +01:00
Tony Garnock-Jones
a40fb01839
Nope, unsafe-struct-ref is still not measurably faster than the safe variants
2018-10-20 21:47:47 +01:00
Tony Garnock-Jones
f1a787b17f
Avoid a few gratuitous conversions during `skeleton-modify!`.
2018-10-20 21:42:38 +01:00
Tony Garnock-Jones
d490b26dc2
Minor tweak
2018-10-20 19:52:37 +01:00
Tony Garnock-Jones
b6063b4d95
Remove superfluous update-path helper
2018-10-20 19:13:07 +01:00
Tony Garnock-Jones
52cf4c3ae5
Fix bug exposed by previous commit
2018-10-20 19:09:25 +01:00
Tony Garnock-Jones
4f6ab9bd77
Eliminate one set of dummy wrappers
2018-10-20 18:27:15 +01:00
Tony Garnock-Jones
c2fdd8a37e
Describe how the efficient index structure works
2018-10-14 21:25:13 +01:00
Tony Garnock-Jones
4141529854
Split out preserves into its own repository
2018-09-29 17:22:34 +01:00
Tony Garnock-Jones
1114b5b6b9
SOH-prefixed embedded format considered harmful
2018-09-29 00:07:49 +01:00
Tony Garnock-Jones
cc0a7c5a2d
Notes on embedded binary values
2018-09-29 00:04:56 +01:00
Tony Garnock-Jones
153466bd10
Notes on NaNs
2018-09-28 11:48:58 +01:00
Tony Garnock-Jones
3ae9d28d37
Grammar
2018-09-28 11:12:58 +01:00
Tony Garnock-Jones
34553f4752
Typo
2018-09-28 11:12:53 +01:00
Tony Garnock-Jones
3669b99525
Clarification
2018-09-28 11:12:35 +01:00
Tony Garnock-Jones
3b869709fb
More tests and fixes
2018-09-28 11:00:50 +01:00
Tony Garnock-Jones
ec8c91270f
Disallow whitespace between a label and its open-parenthesis
2018-09-28 11:00:40 +01:00
Tony Garnock-Jones
5e6b479279
More tests, coverage and fixes
2018-09-27 23:14:43 +01:00
Tony Garnock-Jones
bbe9950148
More tests and fixes
2018-09-27 22:13:46 +01:00
Tony Garnock-Jones
bf2d20f40d
Bug fixes to text reader, and more tests
2018-09-27 21:35:03 +01:00
Tony Garnock-Jones
19e9623358
More TODOs in the text; initial textual reader in Racket
2018-09-27 19:25:28 +01:00
Tony Garnock-Jones
49f64a1058
Handle a couple of TODOs
2018-09-27 13:34:32 +01:00
Tony Garnock-Jones
120c4ee1c4
WIP from the early hours of this morning, adding textual syntax
2018-09-27 11:42:55 +01:00
Tony Garnock-Jones
54073eb164
Python preserves
2018-09-25 15:53:56 +01:00
Tony Garnock-Jones
5683332cc8
Small fix and new question
2018-09-25 15:53:42 +01:00
Tony Garnock-Jones
6e98757e85
Remove version; improve tests
2018-09-25 15:53:35 +01:00
Tony Garnock-Jones
39449a1f50
Bring preserve.rkt up to spec
2018-09-25 11:49:32 +01:00
Tony Garnock-Jones
c479faf9a9
Python SignedInteger rep needs long as well as int
2018-09-25 10:20:35 +01:00
Tony Garnock-Jones
1fcfebf8d9
Link to Racket docs for prefab struct labels
2018-09-25 10:08:22 +01:00
Tony Garnock-Jones
3dcc9edea4
Streamed binaries always use ByteString chunks
2018-09-24 23:15:36 +01:00
Tony Garnock-Jones
55927716bc
Squeak Smalltalk mapping
2018-09-24 19:54:59 +01:00
Tony Garnock-Jones
15ddbdc479
Improve (?) Erlang mapping
2018-09-24 19:54:52 +01:00
Tony Garnock-Jones
c1b7ab9fd5
Remove page-break override
2018-09-24 19:54:43 +01:00
Tony Garnock-Jones
d5c44ba0d3
Improve formatting now that section numbers exist
2018-09-24 19:54:23 +01:00
Tony Garnock-Jones
f16a911892
RFC7159 -> RFC8259
2018-09-24 19:12:43 +01:00
Tony Garnock-Jones
711afb4922
Specially number appendices
2018-09-24 19:12:29 +01:00
Tony Garnock-Jones
f6bec07f5e
Tweaks; python mapping
2018-09-24 18:34:07 +01:00
Tony Garnock-Jones
3dd2366a55
Single-colon pseudoselectors
2018-09-24 18:11:34 +01:00
Tony Garnock-Jones
585cbcdb9e
Fix the jolly section numbering
2018-09-24 18:11:19 +01:00
Tony Garnock-Jones
da5a60f42c
Split out CSS; attempt to get section numbering (grrr!)
2018-09-24 16:45:39 +01:00
Tony Garnock-Jones
67d5d1c71f
Minor print layout tweaks, and minor content fixes
2018-09-24 16:08:48 +01:00
Tony Garnock-Jones
a7aa13818d
Tighten
2018-09-24 15:33:19 +01:00
Tony Garnock-Jones
cb2f2e6853
Literal small integers
2018-09-24 14:09:26 +01:00
Tony Garnock-Jones
13d34e035a
Trim and improve
2018-09-24 12:59:22 +01:00
Tony Garnock-Jones
acc4def15f
Tweak print stylesheet
2018-09-24 10:36:10 +01:00
Tony Garnock-Jones
0120875d15
Print makefile
2018-09-23 22:56:41 +01:00
Tony Garnock-Jones
935ac403b4
Tweaks for Chrome and for print
2018-09-23 22:56:36 +01:00
Tony Garnock-Jones
8c501a6591
Fixes
2018-09-23 22:44:43 +01:00
Tony Garnock-Jones
7dee4c9b35
Progress
2018-09-23 22:35:00 +01:00
Tony Garnock-Jones
8cecaec69b
Many improvements
2018-09-23 18:14:58 +01:00
Tony Garnock-Jones
9883d2bc5f
move codec.md together with preserve.md
2018-09-23 14:39:46 +01:00
Tony Garnock-Jones
efd6bc72ea
codec.md draft
2018-09-23 14:39:02 +01:00
Tony Garnock-Jones
2b44d82c37
preserve.md based on codec.md which I'm about to check in
2018-09-23 14:37:20 +01:00
Tony Garnock-Jones
181e6a87a0
sqlite driver
2018-08-29 15:03:12 +01:00
Tony Garnock-Jones
8e88d4643c
Rename codec --> preserve
2018-08-27 10:24:11 +01:00
Tony Garnock-Jones
a1c9af708d
Explore struct inheritance
2018-08-21 10:54:17 +01:00
Tony Garnock-Jones
710029ea9b
Better codec
2018-08-19 22:13:42 +01:00
Tony Garnock-Jones
03dad81a49
Improve multicast protocol
2018-08-19 17:54:32 +01:00
Tony Garnock-Jones
41a4593183
Improve example
2018-08-15 10:11:07 +01:00
Tony Garnock-Jones
8a34bf20d8
Initial quasi-port of Syndicate/rkt web driver
2018-08-14 17:58:36 +01:00
Tony Garnock-Jones
0b7f827cec
Multicast-UDP-based dataspace sketch, from last night
2018-08-14 12:35:56 +01:00
Tony Garnock-Jones
65e9ffac59
Clear no-longer-interesting timers
2018-08-14 12:33:50 +01:00
Tony Garnock-Jones
8bd848bca0
TODO
2018-08-13 21:45:44 +01:00
Tony Garnock-Jones
2a00d59231
term-intersect
2018-08-13 21:32:51 +01:00
Tony Garnock-Jones
11f28e13e2
UDP and UDP multicast
2018-08-13 20:07:27 +01:00
Tony Garnock-Jones
939b0620ed
filesystem driver
2018-05-11 09:58:25 +01:00
Tony Garnock-Jones
a391b0ff24
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
dbcc931ebd
Notes on tcp2 protocol
2018-05-06 11:24:28 +01:00
Tony Garnock-Jones
07d5656e41
New test case
2018-05-06 11:06:36 +01:00
Tony Garnock-Jones
5cd8e2c2cb
Add missing assertion for outbound connections.
2018-05-06 11:03:39 +01:00
Tony Garnock-Jones
fd7cac5bae
Repair bogus test. I should have caught this earlier!
2018-05-06 10:55:21 +01:00
Tony Garnock-Jones
3c7676906d
Improve the kinds of tests we can do for expected output slightly.
2018-05-06 10:55:02 +01:00
Tony Garnock-Jones
85535608fd
pattern-expander.rkt
2018-05-04 23:15:09 +01:00
Tony Garnock-Jones
12d4e95ac4
GUI example
2018-05-04 16:57:22 +01:00
Tony Garnock-Jones
ff4c4a59bd
Cosmetic - extra logging (when uncommented)
2018-05-04 16:56:56 +01:00
Tony Garnock-Jones
c77416b727
Repair long-standing error in skeleton-walking.
2018-05-04 16:56:45 +01:00
Tony Garnock-Jones
cc54496ac6
Extremely limited support for quasiquoting and quoting in patterns
2018-05-04 16:56:23 +01:00
Tony Garnock-Jones
59e1a09d61
Clock face example
2018-05-04 16:09:12 +01:00
Tony Garnock-Jones
00c6311bfc
Quasi-useful debug output
2018-05-04 16:04:42 +01:00
Tony Garnock-Jones
d9ca939d60
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
ab75efe7f9
Skip apply-patch! make-work if patch is empty
2018-05-03 22:56:40 +01:00
Tony Garnock-Jones
c27ace547d
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
8acfaab8f8
for/bag and for/bag/count
2018-05-03 22:09:13 +01:00
Tony Garnock-Jones
58695351d9
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
b95dd5142a
Reuse apply-patch for initial-assertions too
2018-05-03 20:09:34 +01:00
Tony Garnock-Jones
afaebdf69c
Factor out assertion structure definitions
2018-05-03 16:14:30 +01:00
Tony Garnock-Jones
7079a14d5a
Notes on install and test
2018-05-03 15:21:33 +01:00
Tony Garnock-Jones
a4b8294734
README.md
2018-05-03 15:06:53 +01:00
Tony Garnock-Jones
5631b24904
Add second, non-dataspace, test case to illustrate correct behaviour
2018-05-02 23:36:03 +01:00
Tony Garnock-Jones
835528e855
New (failing) test case re: the approach to relaying
2018-05-02 18:23:02 +01:00
Tony Garnock-Jones
496682f550
Correct printing of test procedures
2018-05-02 18:20:33 +01:00
Tony Garnock-Jones
e7773e918d
Add `bag-empty?`
2018-05-02 18:20:24 +01:00
Tony Garnock-Jones
81e5cfbec4
Ensure (??) that relays' assertions can't outlive them
2018-05-02 18:10:52 +01:00
Tony Garnock-Jones
0b0615ec46
Notes on eventual improvements to dataspace nesting
2018-05-02 13:19:18 +01:00
Tony Garnock-Jones
f9af2de438
Actually-useful instantaneous frame rate measurement
2018-05-01 22:40:12 +01:00
Tony Garnock-Jones
67279c9da7
Handy logging for diagnosing problems
2018-05-01 22:39:50 +01:00
Tony Garnock-Jones
d3a7179907
Eliminate a (mostly harmless) source of #f current-facet.
2018-05-01 22:39:26 +01:00
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
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
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
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
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