Commit Graph

446 Commits

Author SHA1 Message Date
Tony Garnock-Jones 08c4980025 Move the bulk of the existing implementation out of the way 2021-05-27 10:34:35 +02:00
Tony Garnock-Jones 4b55742548 Published preserves on the package catalog 2021-05-16 11:38:14 +02:00
Tony Garnock-Jones ec42282c69 Update for latest preserves API 2021-05-15 22:34:58 +02:00
Tony Garnock-Jones 3030d1959e Use flow control to avoid being spammed by fast talkers 2020-06-10 13:38:26 +02:00
Tony Garnock-Jones 55f01cea3f Placeholders no longer available in preserves 2020-06-10 12:06:10 +02:00
Tony Garnock-Jones d300f24243 Update path to preserves package 2020-04-27 21:10:48 +02:00
Tony Garnock-Jones c55e5924f7 Update commit names 2020-04-27 20:34:09 +02:00
Tony Garnock-Jones f269c02c23 Rearrange for independent packages. 2020-04-27 20:27:48 +02:00
Tony Garnock-Jones 419e90e42f server-session-connected avoids assert-lock of server-connected 2019-09-11 16:07:54 +01:00
Tony Garnock-Jones 0013c917b3 Update to new preserves API 2019-09-11 15:10:44 +01:00
Tony Garnock-Jones c9c0d8bb09 Default TCP port 21369 2019-06-23 14:01:30 +01:00
Tony Garnock-Jones 976741cd49 Cope with echo-server minimart-benchmark test: flat new-connection cost 2019-06-21 16:43:59 +01:00
Tony Garnock-Jones df6918bc6f Remove out-of-date example expansions 2019-06-21 16:43:24 +01:00
Tony Garnock-Jones 751d8e104a On start, only relay subs with active holders 2019-06-20 22:54:59 +01:00
Tony Garnock-Jones 6514e1731f Must be able to disable heartbeats for testing 2019-06-20 12:19:45 +01:00
Tony Garnock-Jones aef3490a20 Proper heartbeats 2019-06-20 11:55:29 +01:00
Tony Garnock-Jones c122253681 Update HOWITWORKS.md 2019-06-18 18:01:40 +01:00
Tony Garnock-Jones 5923bdd3ce Partial repair for a deep problem with visibility-restriction.
This change makes `during` work "atomically" across a communications
delay, by ensuring that a retracted assertion matching the `during`'s
pattern triggers the "stop on" clause in the expansion of the
`during`.

Some discussion of the change exists in the Journal and in my
notebook.
2019-06-18 17:56:09 +01:00
Tony Garnock-Jones ff25f8b377 Cosmetic: indicate protocol grouping 2019-06-13 12:51:20 +01:00
Tony Garnock-Jones 68ba310327 Terminate federation link facet on receipt of Err 2019-06-13 12:51:11 +01:00
Tony Garnock-Jones 2512d68852 Repair error: an End was missing 2019-06-13 12:50:55 +01:00
Tony Garnock-Jones c17eb4caa0 Improved error signalling 2019-06-12 00:23:39 +01:00
Tony Garnock-Jones c0ff69f67e Switch to federated-link-ready 2019-06-11 18:47:56 +01:00
Tony Garnock-Jones be0dc5413b Command-line control of nickname in server-chat-client 2019-06-11 18:34:25 +01:00
Tony Garnock-Jones 052be5c58e Line-based buffering of stdout in server-chat-client 2019-06-11 18:34:14 +01:00
Tony Garnock-Jones 72b4326651 Turn-based federation and client/server protocol 2019-06-11 18:33:37 +01:00
Tony Garnock-Jones be8fefaf4d Bag no longer used in federation 2019-05-23 11:13:47 +01:00
Tony Garnock-Jones 921265d2f3 Repair ws-recv usage; requires rfc6455 package v2.0 or newer 2019-05-22 23:45:15 +01:00
Tony Garnock-Jones 58231b253f Clean up empty entries in subscription-matches 2019-05-20 22:07:02 +01:00
Tony Garnock-Jones e03c8267dd Update federation to match latest paper-journal work: proper propagation of Add/Del 2019-05-20 21:49:19 +01:00
Tony Garnock-Jones 8aaf1d1902 Improve distributed debug output 2019-05-20 21:45:40 +01:00
Tony Garnock-Jones 43a0578f19 Buffer uplink communications to give a chance for stateful entities at each end to initialise themselves before sending messages.
An alternative approach would be to reintroduce flow-control, which was
removed as part of commit 94e27e1.
2019-05-16 23:14:39 +01:00
Tony Garnock-Jones 8daff63e8e Fix (observe (server-envelope A B)) => (server-proposal A (observe B)) 2019-05-16 23:13:56 +01:00
Tony Garnock-Jones 94e27e1cbc Change federation protocol to be transport-neutral, carried via Syndicate itself 2019-05-16 22:28:42 +01:00
Tony Garnock-Jones 84361dcbaf Move away from use of "broker" 2019-05-16 20:14:19 +01:00
Tony Garnock-Jones 6952aec992 Remove federation-prototype 2019-05-16 15:48:51 +01:00
Tony Garnock-Jones cd2d7e428b Close input/output ports in web.rkt once connection is logically over 2019-05-16 14:58:33 +01:00
Tony Garnock-Jones 025f101d09 Disconnect websocket service on error 2019-05-16 13:12:21 +01:00
Tony Garnock-Jones c9b62c9a6d Drain ws-ch in an additional, previously-overlooked case 2019-05-16 12:39:16 +01:00
Tony Garnock-Jones 22a517f1b5 Handle "Ping" requests from peers in federated mode 2019-05-16 12:38:26 +01:00
Tony Garnock-Jones 7ec9752f41 Accept and discard "Pong" replies from clients 2019-05-16 12:38:06 +01:00
Tony Garnock-Jones af40134c53 Correct server websocket http-request pattern 2019-05-16 12:37:39 +01:00
Tony Garnock-Jones ae97fb1d1e Flow-controlled TCP (except in netstack); flow-controlled server/federation messages; fixes federation startup glitching 2019-05-12 13:07:38 +01:00
Tony Garnock-Jones 12650e2058 Repair test compilation 2019-05-09 11:43:41 +01:00
Tony Garnock-Jones e9b1983408 Move command-line scripts into submodule main, so tests don't get stuck 2019-05-09 11:43:34 +01:00
Tony Garnock-Jones 7f7a6d03d8 Command-line programs for starting various kinds of server 2019-05-09 11:39:49 +01:00
Tony Garnock-Jones 386a66747e Tweak logging levels 2019-05-09 11:39:49 +01:00
Tony Garnock-Jones 2b882cc10a Integrate federation/peering with client/server code; almost but not quite working yet 2019-05-09 11:39:49 +01:00
Tony Garnock-Jones 0dca5bfbe3 Allow specification of host/port/scope in server-chat-client.rkt 2019-05-09 11:16:29 +01:00
Tony Garnock-Jones 88ec80487d Remove unused definition 2019-05-07 14:06:06 +01:00
Tony Garnock-Jones 39906803b2 Move prototype federation code out of the way 2019-05-07 13:45:52 +01:00
Tony Garnock-Jones cf92ae14c5 Select client/server scope on connect; stub out federation/peering; protocol error and disconnection support 2019-05-07 12:56:40 +01:00
Tony Garnock-Jones 0ac2bb768e New "test" illustrating aspects of the turn-based approach taken 2019-05-07 12:07:30 +01:00
Tony Garnock-Jones db523a8974 The Great Renaming broker -> server, part 2 2019-05-05 16:51:23 +01:00
Tony Garnock-Jones f2b29a798a The Great Renaming broker -> server, part 1 2019-05-05 16:37:03 +01:00
Tony Garnock-Jones a08574a403 Remove unnecessary require 2019-05-05 15:58:01 +01:00
Tony Garnock-Jones d5ff1dd007 Use definitions from wire-protocol.rkt in federation 2019-05-05 15:57:51 +01:00
Tony Garnock-Jones aad3fb6866 Move federation protocol a step closer to client/server protocol 2019-05-05 15:54:28 +01:00
Tony Garnock-Jones 924512f7de Make internal broker isolation protocol asymmetric, to support the needs of federation 2019-05-05 12:55:16 +01:00
Tony Garnock-Jones a3a229532a add-observer-endpoint!, add-raw-observer-endpoint! 2019-05-04 22:58:45 +01:00
Tony Garnock-Jones dabc74976a Refine output of tf.rkt 2019-05-04 22:48:37 +01:00
Tony Garnock-Jones a86478b7b9 Remove unneeded #:capture-projection argument to term->skeleton-interest 2019-05-03 20:29:40 +01:00
Tony Garnock-Jones 40ee3b4ca7 Test and fix for observation visibility in broker 2019-05-03 17:53:24 +01:00
Tony Garnock-Jones 83c81fa293 Rename federation2.rkt -> federation.rkt 2019-05-03 13:45:05 +01:00
Tony Garnock-Jones 508e37171d Bounce relay 2019-05-03 11:20:22 +01:00
Tony Garnock-Jones ed7cf375ad Only remove an entry from specs when no holders remain 2019-05-03 11:20:12 +01:00
Tony Garnock-Jones 736c9de3dc Note on semantic difference 2019-05-03 10:32:16 +01:00
Tony Garnock-Jones f847f3c049 Fix self- and peer-signalling of observation; generalize broker protocol to permit multiple uses of leaf2 on different nodes; printf -> log-info 2019-05-03 10:25:20 +01:00
Tony Garnock-Jones 38e3894a3d Clean up conn-subs on Unsubscribe 2019-05-03 10:23:08 +01:00
Tony Garnock-Jones 1c2bd11373 Connect router to dataspace 2019-05-03 00:10:15 +01:00
Tony Garnock-Jones 79e8d54a51 Avoid silly use of macro 2019-05-02 23:12:02 +01:00
Tony Garnock-Jones 17d5b88784 Federation kernel 2019-05-02 15:59:25 +01:00
Tony Garnock-Jones 4fd2c9895c Remove old, dead code 2019-04-25 12:58:48 +01:00
Tony Garnock-Jones 419bd093d1 Support transformations (e.g. rotation) in the scene prelude 2019-04-25 12:58:30 +01:00
Tony Garnock-Jones 759bbdf1c3 Add visibility-restriction, making the test pass 2019-03-25 16:32:09 +00:00
Tony Garnock-Jones 9e923e1c63 Failing test case: need visibility-restriction in broker clients 2019-03-25 12:16:30 +00:00
Tony Garnock-Jones eb33fdbd59 Steps toward activation in test cases 2019-03-25 12:15:09 +00:00
Tony Garnock-Jones a39bd458d9 Restructure broker protocol adapters; add loopback 2019-03-25 12:14:35 +00:00
Tony Garnock-Jones 25970d9f16 Split out server-connection.rkt 2019-03-24 17:17:26 +00:00
Tony Garnock-Jones 8a5d91a175 strong-gensym 2019-03-24 17:16:57 +00:00
Tony Garnock-Jones 025289500a Configurable broker tcp/http ports 2019-03-22 12:51:59 +00:00
Tony Garnock-Jones 4732650041 module+ main in reload.rkt 2019-03-20 22:36:13 +00:00
Tony Garnock-Jones 63ea6a9d3a extend-ground-boot! 2019-03-20 22:36:05 +00:00
Tony Garnock-Jones 3ff50a6f65 broker: client; ping for keepalive; client example 2019-03-18 23:29:12 +00:00
Tony Garnock-Jones 4e33429b19 tcp-rejected; reassert-on 2019-03-18 23:27:59 +00:00
Tony Garnock-Jones fc43d5c4a0 Initial broker implementation 2019-03-18 15:34:14 +00:00
Tony Garnock-Jones f4f3b67cdf NOTICE support 2019-02-09 10:36:03 +00:00
Tony Garnock-Jones 94c66094e6 Cope with libpurple weirdness 2019-02-05 13:37:18 +00:00
Tony Garnock-Jones 21131dc02c Force membership of channel on login 2019-02-05 13:37:04 +00:00
Tony Garnock-Jones c5848e4c0b PASS; better NICK collision avoidance 2019-02-05 13:30:18 +00:00
Tony Garnock-Jones 823754c8b5 Nested reloaders; simple greeter 2019-01-30 16:40:52 +00:00
Tony Garnock-Jones 28d7bd6653 Make reloaders in turn reloadable 2019-01-30 16:40:12 +00:00
Tony Garnock-Jones 8b516b0190 Filesystem driver: add background-activity signal 2019-01-30 16:39:13 +00:00
Tony Garnock-Jones 636055cbea Scriptlet for starting a client 2019-01-29 23:08:04 +00:00
Tony Garnock-Jones 1e3e978e36 /LIST 2019-01-29 20:47:17 +00:00
Tony Garnock-Jones 7e2284ac11 User count; define/query-count 2019-01-29 20:47:06 +00:00
Tony Garnock-Jones 9c5d9768b4 Pinned channels 2019-01-29 20:46:38 +00:00
Tony Garnock-Jones ed0307d4e5 Parity with the other version 2019-01-28 13:54:18 +00:00
Tony Garnock-Jones bd5f2d8a1b Ported ircd example to imperative-syndicate 2019-01-28 13:50:49 +00:00
Tony Garnock-Jones 60412bd6f2 config driver 2019-01-28 13:47:29 +00:00
Tony Garnock-Jones 832adc94c0 Enable immediate-query 2019-01-28 13:46:54 +00:00
Tony Garnock-Jones e72e22f250 tcp-connection-peer 2019-01-28 01:14:58 +00:00
Tony Garnock-Jones 23580010bb Supervision and reloading 2019-01-28 01:14:33 +00:00
Tony Garnock-Jones 636ca9acf7 Note in HOWITWORKS about `opaque-placeholder`. 2018-11-20 13:22:44 +00:00
Tony Garnock-Jones 937bb7a7c4 Identify, expose, and repair bug (using the new `opaque-placeholder`) 2018-11-20 13:20:31 +00:00
Tony Garnock-Jones 6c1e3b033d Support binary/text websocket payloads 2018-11-15 06:49:31 +00:00
Tony Garnock-Jones 93371894a0 Repair longstanding, subtle bug in both old- and new-syndicate.
during/spawn used not to add linkage assertions to its
initial-assertion set. In addition, if a spawned actor died in its
initial boot procedure, its initial assertions would never be visible.
These two problems interlocked to cause a space leak in during/spawn,
where monitoring facets would never be cleaned up.

This change does two things:
 - adds linkage assertions to the initial-assertion set in during/spawn
 - properly briefly signals initial-assertions even when a new actor
   immediately crashes.

Together, these repair the space leak in during/spawn with a crashy
child startup procedure.
2018-11-04 13:43:17 +00:00
Tony Garnock-Jones 45f638ebae Silly mistake 2018-11-02 15:09:20 +00:00
Tony Garnock-Jones 9571125f3b More notes 2018-11-02 12:18:44 +00:00
Tony Garnock-Jones fb195eb9b7 Improve (?) test ergonomics. 2018-11-02 12:15:21 +00:00
Tony Garnock-Jones 7f14dd900c Detect and repair error in error-handling and -recovery. 2018-11-02 12:15:04 +00:00
Tony Garnock-Jones bc4fb5ef94 Ensure patched assertions are added before being removed, to avoid glitching 2018-11-02 00:38:40 +00:00
Tony Garnock-Jones 22b4f965b9 Separate out narration 2018-10-24 16:14:54 +01:00
Tony Garnock-Jones 84298d5571 The problem specifies 10 elves 2018-10-24 14:29:10 +01:00
Tony Garnock-Jones 838bde3740 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 6ba3734d9d Santa Claus Problem, in Syndicate/rkt 2018-10-24 11:40:16 +01:00
Tony Garnock-Jones 4ddcdfb6a9 Present-to-absent check is necessary in assertion removal handler 2018-10-21 13:32:06 +01:00
Tony Garnock-Jones 02181354dd Tweaks 2018-10-21 01:04:05 +01:00
Tony Garnock-Jones db563fc309 Minor corrections and tweaks 2018-10-21 00:59:38 +01:00
Tony Garnock-Jones 836bae0e27 First JavaScript steps, based on HOWITWORKS.md 2018-10-21 00:58:40 +01:00
Tony Garnock-Jones a178ec5ddf Update to explain the "dummy" outermost wrapper constructor 2018-10-20 21:54:58 +01:00
Tony Garnock-Jones 035eb06a9d Nope, unsafe-struct-ref is still not measurably faster than the safe variants 2018-10-20 21:47:47 +01:00
Tony Garnock-Jones a5d147e277 Avoid a few gratuitous conversions during `skeleton-modify!`. 2018-10-20 21:42:38 +01:00
Tony Garnock-Jones b511e640bd Minor tweak 2018-10-20 19:52:37 +01:00
Tony Garnock-Jones cbf5224599 Remove superfluous update-path helper 2018-10-20 19:13:07 +01:00
Tony Garnock-Jones 6e06c4d502 Fix bug exposed by previous commit 2018-10-20 19:09:25 +01:00
Tony Garnock-Jones 8ff6dc5ff8 Eliminate one set of dummy wrappers 2018-10-20 18:27:15 +01:00
Tony Garnock-Jones 0c701809e1 Describe how the efficient index structure works 2018-10-14 21:25:13 +01:00
Tony Garnock-Jones d497d9e6d1 Split out preserves into its own repository 2018-09-29 17:22:34 +01:00
Tony Garnock-Jones 2c03883b00 SOH-prefixed embedded format considered harmful 2018-09-29 00:07:49 +01:00
Tony Garnock-Jones 268afe8a40 Notes on embedded binary values 2018-09-29 00:04:56 +01:00
Tony Garnock-Jones 348cb3e2a2 Notes on NaNs 2018-09-28 11:48:58 +01:00
Tony Garnock-Jones b0de674117 Grammar 2018-09-28 11:12:58 +01:00
Tony Garnock-Jones 9c38509973 Typo 2018-09-28 11:12:53 +01:00
Tony Garnock-Jones 4187ccb77d Clarification 2018-09-28 11:12:35 +01:00
Tony Garnock-Jones 4f65284ef9 More tests and fixes 2018-09-28 11:00:50 +01:00
Tony Garnock-Jones d27f9cb7cc Disallow whitespace between a label and its open-parenthesis 2018-09-28 11:00:40 +01:00
Tony Garnock-Jones d267f65b71 More tests, coverage and fixes 2018-09-27 23:14:43 +01:00
Tony Garnock-Jones 5f9f2175f0 More tests and fixes 2018-09-27 22:13:46 +01:00
Tony Garnock-Jones 47519680d5 Bug fixes to text reader, and more tests 2018-09-27 21:35:03 +01:00
Tony Garnock-Jones b807b38a44 More TODOs in the text; initial textual reader in Racket 2018-09-27 19:25:28 +01:00
Tony Garnock-Jones f9497d64c5 Handle a couple of TODOs 2018-09-27 13:34:32 +01:00
Tony Garnock-Jones 6fa0dde8f4 WIP from the early hours of this morning, adding textual syntax 2018-09-27 11:42:55 +01:00
Tony Garnock-Jones 906f8a01b6 Python preserves 2018-09-25 15:53:56 +01:00
Tony Garnock-Jones b6a3c480b3 Small fix and new question 2018-09-25 15:53:42 +01:00
Tony Garnock-Jones d0ff78e406 Remove version; improve tests 2018-09-25 15:53:35 +01:00
Tony Garnock-Jones 240cee9d52 Bring preserve.rkt up to spec 2018-09-25 11:49:32 +01:00
Tony Garnock-Jones 780bc6fec2 Python SignedInteger rep needs long as well as int 2018-09-25 10:20:35 +01:00
Tony Garnock-Jones 6e98ba0097 Link to Racket docs for prefab struct labels 2018-09-25 10:08:22 +01:00
Tony Garnock-Jones 0444a2a096 Streamed binaries always use ByteString chunks 2018-09-24 23:15:36 +01:00
Tony Garnock-Jones a9445b2ca7 Squeak Smalltalk mapping 2018-09-24 19:54:59 +01:00
Tony Garnock-Jones e25b7dacbc Improve (?) Erlang mapping 2018-09-24 19:54:52 +01:00
Tony Garnock-Jones 4237200210 Remove page-break override 2018-09-24 19:54:43 +01:00
Tony Garnock-Jones 354776199f Improve formatting now that section numbers exist 2018-09-24 19:54:23 +01:00
Tony Garnock-Jones 3c7215397d RFC7159 -> RFC8259 2018-09-24 19:12:43 +01:00
Tony Garnock-Jones 35726436c9 Specially number appendices 2018-09-24 19:12:29 +01:00
Tony Garnock-Jones e438085e74 Tweaks; python mapping 2018-09-24 18:34:07 +01:00
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