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