Commit Graph

182 Commits

Author SHA1 Message Date
Tony Garnock-Jones 56e893fac4 Use field instead of set!. 2016-08-21 08:42:45 -04:00
Tony Garnock-Jones 3240f20d90 Allow ($ v) bindings 2016-08-21 08:27:56 -04:00
Tony Garnock-Jones 426a38b17f Silence redefinition warning 2016-08-15 10:45:23 -04:00
Tony Garnock-Jones fe47abd540 Cosmetic 2016-08-10 19:14:01 -04:00
Tony Garnock-Jones a890a7147b Queue implementations without credit tracking 2016-08-10 19:04:08 -04:00
Tony Garnock-Jones 956a940480 Cosmetic 2016-08-10 19:03:52 -04:00
Tony Garnock-Jones 6684c9e883 queue-remove in functional-queue.rkt 2016-08-10 19:03:40 -04:00
Tony Garnock-Jones 0bc370beec A Queue with credit-based flow control. 2016-08-10 18:42:19 -04:00
Tony Garnock-Jones a828334b2f Cosmetic 2016-08-10 18:41:46 -04:00
Tony Garnock-Jones 2b29e817a5 Add *idle-priority*, and allow #:priority on begin/dataflow 2016-08-10 18:41:41 -04:00
Tony Garnock-Jones f20d1a2ad7 Invariant checking via begin/dataflow 2016-08-10 17:09:24 -04:00
Tony Garnock-Jones d7a594e2b9 Counting-semaphore-like mutex, and dining philosophers. 2016-08-10 17:03:21 -04:00
Tony Garnock-Jones eaade6e4fd Treat synthetic patches differently wrt previousKnowledge 2016-08-07 21:58:19 -04:00
Tony Garnock-Jones 02c66c4bab Fix deps 2016-08-04 13:05:54 -04:00
Sam Caldwell 73f180d90a fix bug in LLL two-buyer 2016-08-03 14:19:18 -04:00
Tony Garnock-Jones e22f608109 Now that we capture parameterization for actors, current-actor-path-rev has to be a store rather than a parameter 2016-07-31 22:19:59 -04:00
Tony Garnock-Jones 4e1bab4b90 Introduce make-spawn to capture parameterizations. Closes #10. 2016-07-31 17:24:48 -04:00
Tony Garnock-Jones 1fa50e4e6a file-system-during2.rkt 2016-07-31 12:22:15 -04:00
Tony Garnock-Jones 628b7b2356 Remove superfluous begin0; reindent 2016-07-31 12:19:54 -04:00
Tony Garnock-Jones e2897d37f4 Factor out commonality from file-system*.rkt examples 2016-07-31 12:17:12 -04:00
Tony Garnock-Jones 463dd48577 Always pick the highest-priority script to run next.
This means that `*gc-priority*` scripts will now reliably run last.
Prior to this change, if some higher-priority script X ran while a
`*gc-priority*` script Y was queued, and it enqueued a high-priority
script Z, then Y would run before Z.
2016-07-31 12:02:11 -04:00
Tony Garnock-Jones f34924bc6d Leave a "tombstone" so we can see the process's name while any record of it remains. 2016-07-31 11:36:25 -04:00
Tony Garnock-Jones 4dad3e9661 Process retractions before asserts in the query forms 2016-07-30 17:05:54 -04:00
Tony Garnock-Jones 9e3f804aae I don't understand how elapsed-ms can end up negative, but I was seeing it in the platformer at frame 0 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones b6a03bdd9b Tweak scribblings to silence errors. Still need to update docs. 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 3edd184242 Update syndicate-gl for split mux and relay. 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones c7dae47210 inbound* and outbound* are now match-expanders 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 07eb91b0d9 Update big-bang for split relay and mux. 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 17db697690 spawn->process+transition 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones c0786c86ca Introduce struct process. 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 68ba2f74a6 Split dataspaces in to relay and mux sublayers.
This is a major change to the previous design, and also a change with
respect to the semantics in the ESOP 2016 paper. All the complexity of
echo-cancellation is stripped out of the core dataspace semantics, and
the relaying protocol is changed from one constructor, `at-meta`, to
two, `inbound` and `outbound`. The relay connecting a dataspace to its
container is now completely symmetric with the contained actors: it
initially asserts interest in what it is to relay, just like any other
actor would. Dataspaces no longer treat relaying specially.

This commit has updated all (I think) of the non-graphical examples. The
graphical code remains to be done in a following commit.
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones b8c109d82b pretty-print-actor-state 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 2a2d363c5e Improve printing of patches 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 129dd23b84 Remove obsolete endpoint.rkt and its example 2016-07-30 14:49:05 -04:00
Tony Garnock-Jones 7a3973a097 Move syndicate-monolithic to new historical directory. 2016-07-30 14:48:59 -04:00
Tony Garnock-Jones 56d2fc2c0d Support #:when conditional (on ...) clauses. 2016-07-28 15:45:45 -04:00
Tony Garnock-Jones 0cff79abec Switch from parameters to "stores".
A store is like a parameter, except stores are independent of each
other, unlike parameters which are bundled together into a single
parameterization. This was observable in cases like the
example-action-after-suspension code checked in here, where dataflow
invoked a script, which parameterized current-dataflow-subject-id.
This captured *too much* of things like the pending-patch and
pending-actions. Subsequent `schedule-action!` calls' effects were
then lost.
2016-07-28 15:45:45 -04:00
Sam Caldwell 2e24e105b8 Modify LLL two-buyer examples to give buyer A a budget 2016-07-28 15:33:52 -04:00
Sam Caldwell 48763d8dbe modify HLL two-buyer example to give buyer A a budget
no longer bathing in venture capital
2016-07-27 18:01:15 -04:00
Tony Garnock-Jones e99cd0887f Improved tests for dataflow.rkt 2016-07-27 06:03:57 -04:00
Tony Garnock-Jones 8dba9a66c6 Line reader for TCP 2016-07-25 21:31:12 -04:00
Tony Garnock-Jones 8e22e58920 Move LLL two-buyer examples together in the syndicate collect 2016-07-25 18:37:45 -04:00
Tony Garnock-Jones a05d486354 let-event 2016-07-25 18:34:34 -04:00
Sam Caldwell ce80efeb85 Change monolithic two-buyer to syndicate/monolithic 2016-07-25 14:49:46 -04:00
Sam Caldwell fdf0fa8cf6 Add spawn/stateless to syndicate/monolithic 2016-07-25 14:48:41 -04:00
Tony Garnock-Jones 819ff13835 Expanders for events and assertion-patterns.
Introduced expanders for events (define-event-expander) and for
assertion-patterns (define-assertion-expander).

Introduced convenience syntax and utilities in web.rkt for working
with web requests.

Support nested bindings in assertion-patterns for message events
(only).
2016-07-23 14:57:26 -04:00
Tony Garnock-Jones 796acbeea2 Defaults for web-response-header 2016-07-23 11:40:18 -04:00
Tony Garnock-Jones b6e863fa79 Support for using struct-defaults in web.rkt, plus a simple default 2016-07-23 11:28:46 -04:00
Tony Garnock-Jones 981914c15b Move web-demo.rkt to web-sanity-check.rkt 2016-07-23 11:03:17 -04:00
Sam Caldwell c714374685 add monolithic two-buyer example 2016-07-22 18:16:50 -04:00