Commit Graph

159 Commits

Author SHA1 Message Date
Tony Garnock-Jones 96331e0cfd More flip-flop tweaks 2017-09-15 21:46:39 +01:00
Tony Garnock-Jones e124983e05 Print differently in flip-flop 2017-09-15 21:45:54 +01:00
Tony Garnock-Jones a82b428f44 racket/syndicate/examples/actor/flip-flop.rkt 2017-09-15 20:34:16 +01:00
Tony Garnock-Jones 516f6a5cd2 message-struct and assertion-struct 2017-09-13 19:08:01 +01:00
Tony Garnock-Jones 5ce1cec2ea Better comments. 2017-08-27 08:18:11 -04:00
Tony Garnock-Jones d0e803ac41 Update renders 2017-08-27 07:50:17 -04:00
Tony Garnock-Jones 0acd504d05 Demonstrate the general insufficiency of the approach of commit 2a0197b 2017-08-27 07:50:09 -04:00
Tony Garnock-Jones 2a0197b711 Fix responsibility-handoff for TCP listener.
Similar problems likely still exist elsewhere that the LLL
demand-matcher is used.
2017-08-22 16:53:57 -04:00
Tony Garnock-Jones 9009fb5ec7 Stay rational 2017-08-10 17:40:15 -04:00
Tony Garnock-Jones 40961e7893 f-to-c3.rkt 2017-08-10 17:08:31 -04:00
Tony Garnock-Jones b3a745dbcb Make #lang syndicate equivalent to #lang syndicate/actor. Fixes #17. 2017-08-10 15:17:28 -04:00
Tony Garnock-Jones c9996d53ae Avoid premature termination of parent facet.
Scenario:
 - In script of facet X, (react (stop-when E (react ...)))
 - This creates facet Y, child of X.
 - Facet X has no endpoints, only its child facet Y.
 - When the stop-when fires, without this patch, facet X
   will be terminated because the *inner* react above hasn't executed yet.
 - With this patch, the check for a useless X is done after the stop-when
   has had a chance to run; and so X will survive for now.
2017-08-10 15:08:48 -04:00
Tony Garnock-Jones 6b3f8d920a Key debouncer 2017-08-07 13:41:01 -04:00
Tony Garnock-Jones 61b683fc94 double-click "debouncing" example 2017-08-07 13:04:10 -04:00
Tony Garnock-Jones 11de40ce98 Change spawn processing to include initial-assertions 2017-08-05 19:36:40 -04:00
Tony Garnock-Jones 6e399dd1dd Experimental Racket GUI driver. 2017-07-29 23:17:55 -04:00
Tony Garnock-Jones 28f6b8acf8 Finally committing the f-to-c examples of Sep 23, 2016 2017-07-27 10:40:11 -04:00
Tony Garnock-Jones 8a2ace112b Handle additional cases: children present, and obsolescent parent. Additional fix for #18 2017-07-12 11:38:27 -04:00
Tony Garnock-Jones f6c145b4a7 Fix poor on-stop/post-stop separation. Additional fix for #23. 2017-07-12 11:36:20 -04:00
Tony Garnock-Jones 46e5922dc8 Stop a new facet with no endpoints. Fixes #18. 2017-07-12 11:12:10 -04:00
Tony Garnock-Jones 6db1e67a7e Beginnings of test case for termination order 2017-07-12 11:03:23 -04:00
Tony Garnock-Jones 3073d8b614 Avoid some stop-when/rising-edge/flag combinations, and some rising-edge uses generally 2017-07-05 07:13:36 -04:00
Tony Garnock-Jones 1fdd62d56d Remove enforcement of field scoping rules dating back to separate-actor implementation of HLL 2017-07-04 16:31:46 -04:00
Tony Garnock-Jones 9b54069ecd chat-multiroom-topic-persist.rkt 2017-05-12 19:21:41 -04:00
Tony Garnock-Jones 42742fe8ac chat-multiroom-topic.rkt 2017-05-12 18:55:32 -04:00
Tony Garnock-Jones 966cd2ed17 Comment 2017-05-12 17:14:18 -04:00
Tony Garnock-Jones 4be0a8cb59 chat-multiroom.rkt 2017-05-12 15:45:38 -04:00
Tony Garnock-Jones b9dfd79f34 example-bug-rising-edge-true.rkt 2017-05-04 09:08:47 -04:00
Tony Garnock-Jones 118cdef4c6 Refactor other chat servers to match 2017-03-14 18:29:45 -04:00
Tony Garnock-Jones 689d410bda Rearrange chat-simplified-internals2.rkt 2017-03-14 18:06:02 -04:00
Tony Garnock-Jones dc83d33afb Cosmetic 2017-03-08 06:45:40 -05:00
Tony Garnock-Jones c51f18efc2 Compile lambda calculus into Syndicate 2017-03-08 06:37:27 -05:00
Sam Caldwell 9c1e9719ba swap the meaning of spawn and actor in racket syndicate 2017-02-15 18:18:19 -05:00
Tony Garnock-Jones 413840382b Better crash-handling for simplified TCP protocol sketch 2017-02-09 19:24:02 -05:00
Tony Garnock-Jones 25729454a6 Tweak 2017-01-23 17:38:38 -05:00
Tony Garnock-Jones 36459c5942 Even simpler chat server 2017-01-23 16:40:01 -05:00
Tony Garnock-Jones eb4a228c73 Crude IRC driver and example. 2017-01-07 01:14:14 -05:00
Tony Garnock-Jones b946bbec3c Glitching example 2016-12-12 11:09:39 +13:00
Tony Garnock-Jones 6a2163bce9 Avoid accidental shadowing of field-names in query-value* and friends 2016-12-12 10:26:50 +13:00
Tony Garnock-Jones 4ee234f118 Remove egregious lack of support for reading directory contents in filesystem driver 2016-12-04 17:33:12 +13:00
Tony Garnock-Jones 8cd60417c4 Reimplement supervise.rkt to use spawn->process+transition at each reboot. 2016-11-29 14:48:28 +13:00
Tony Garnock-Jones 726b936ed3 Example of supervision 2016-11-29 13:45:43 +13:00
Tony Garnock-Jones e7402e4387 example-multiple-suspension-resumption.rkt 2016-11-29 10:16:39 +13:00
Tony Garnock-Jones 6497cc5185 Use utility sleep instead of repeating it in one of the examples 2016-11-22 09:16:23 +13:00
Tony Garnock-Jones 08f1e7506b filesystem driver 2016-11-20 22:33:07 +13:00
Tony Garnock-Jones c77793f7fd Ticker 2016-10-31 17:42:38 -04:00
Tony Garnock-Jones 15504cccab timestate 2016-10-31 17:36:59 -04:00
Tony Garnock-Jones 37af1e8726 Cope with transient pulses of demand in during/actor 2016-10-25 16:59:00 -04:00
Tony Garnock-Jones ea997539a2 WIP exploration of problems with demand transients 2016-10-25 12:38:19 -04:00
Tony Garnock-Jones cd83b5f5d8 Minor fixes 2016-10-24 22:01:17 -04:00
Tony Garnock-Jones 694de50bc0 Illustrate bounds on observation too 2016-09-19 21:21:43 -04:00
Tony Garnock-Jones c1681f7804 Another firewall-demo example case 2016-09-19 21:19:17 -04:00
Tony Garnock-Jones e7dc36f126 syndicate/firewall 2016-09-19 21:14:08 -04:00
Tony Garnock-Jones 9a62eb6076 sandbox-os.rkt 2016-09-19 20:24:51 -04:00
Tony Garnock-Jones 0bc775a89f First commit moving from (actor (react ...)) to (actor ...) 2016-08-24 17:35:38 +01:00
Tony Garnock-Jones 56e893fac4 Use field instead of set!. 2016-08-21 08:42:45 -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 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 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 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 07eb91b0d9 Update big-bang for split relay and mux. 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 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 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 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
Tony Garnock-Jones cecb261c6b Introduce level-anchor and level-anchor->meta-level 2016-07-21 18:53:41 -04:00
Tony Garnock-Jones 5aebc7fa75 #:meta-level in query-set and friends 2016-07-21 18:31:44 -04:00
Tony Garnock-Jones 573ca4d6e5 Handle exceptions better in syndicate/threaded 2016-07-20 23:02:42 -04:00
Tony Garnock-Jones ccdaceb30c Add syndicate/threaded. 2016-07-20 22:13:43 -04:00
Tony Garnock-Jones a046bd0f23 Experimental begin/dataflow and define/dataflow facilities 2016-07-17 12:51:57 -04:00
Tony Garnock-Jones 1334bd3abb Split out query-set* etc; add query-value etc 2016-07-17 00:11:19 -04:00
Tony Garnock-Jones d36ccbb0c2 New web driver 2016-07-16 16:20:57 -04:00
Tony Garnock-Jones 4496258d0e Support current-ground-dataspace for big-bang and friends 2016-07-16 16:07:34 -04:00
Tony Garnock-Jones 0ac24a5755 Support #:on-add, #:on-remove in queries 2016-07-13 17:20:57 -04:00
Tony Garnock-Jones 024cb6d707 Promote {define/,}query-{set,hash,hash-set} to actor.rkt 2016-07-13 16:59:55 -04:00
Tony Garnock-Jones 95fe020ed1 Factor out support/hash.rkt 2016-07-13 16:53:07 -04:00
Tony Garnock-Jones fe272ab514 define/query-set, -hash, -hash-set 2016-07-13 16:37:58 -04:00
Tony Garnock-Jones 6c3295c96d Rename track -> query 2016-07-13 16:35:55 -04:00
Tony Garnock-Jones 53efb1fcd4 Refine script priorities for use by track-set and friends 2016-07-13 16:34:16 -04:00
Tony Garnock-Jones a466fcdf23 track-set.rkt 2016-07-12 21:17:07 -04:00
Tony Garnock-Jones 0b06bcf1c4 Introduce syndicate module *activation*.
Make #lang syndicate module-begin gather boot actions into a
syndicate-main submodule, and for each such module, add a main
submodule that calls run-ground with the syndicate-main boot actions.

This lets us write syndicate *libraries* that comprise both
data-structures, functions, and Syndicate services.
2016-07-12 15:05:56 -04:00
Tony Garnock-Jones 118c163193 Done 2016-07-11 12:27:15 -04:00
Tony Garnock-Jones adf6603440 Track dependencies from fields to endpoint assertion sets with simple dataflow 2016-07-10 19:22:02 -04:00
Tony Garnock-Jones b20337fad8 Introduce actor-global field-table. 2016-07-10 19:15:50 -04:00
Tony Garnock-Jones 175c619edc #lang syndicate/actor 2016-07-10 12:33:16 -04:00
Tony Garnock-Jones bf12d3f27f Examples demonstrating illegal field flow 2016-07-09 17:25:37 -04:00
Tony Garnock-Jones 1e1fef6a6e Correctly (?) prune field-tables 2016-07-09 17:24:23 -04:00
Tony Garnock-Jones 3bc95aeaeb Update big-bang.rkt to the new Syndicate/Racket HLL. 2016-07-09 16:35:29 -04:00
Tony Garnock-Jones 8ca2b1ac0c Reimplement Syndicate/Racket with a new design.
This is Syndicate/Racket v2, modeled more closely after Syndicate/js.
Facets and Endpoints are now contained within a single actor, unlike
Syndicate/Racket v1, where a linkage protocol between multiple actors
was used. The approach to actor and facet state has been revised as a
consequence.

Almost all the examples using syndicate/actor have been updated.
2016-07-09 16:18:30 -04:00