Commit Graph

219 Commits

Author SHA1 Message Date
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