Commit Graph

1127 Commits

Author SHA1 Message Date
Tony Garnock-Jones ca5bf47adf Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
Tony Garnock-Jones cf00496338 Monolithic semantics. 2016-01-23 18:24:07 -05:00
Tony Garnock-Jones 7cb4223235 Rename "matcher" to "trie". 2016-01-21 22:06:09 -05:00
Tony Garnock-Jones 5fcb4cb777 Rename "matcher" to "trie". 2016-01-21 22:02:24 -05:00
Tony Garnock-Jones 3c5a6f00ed Rename "matcher" to "trie". 2016-01-21 21:55:41 -05:00
Tony Garnock-Jones e1c5fd4ac1 Switch from timer-expired /messages/ to /assertions/ at ground level.
Previously, the timer driver caused the background thread to call
send-ground-message to indicate that a timer had expired. However,
this can lead to a race! In cases where a timer expires very soon, the
channel-put of the set-timer instruction leads shortly thereafter to a
send-ground-message which then races the establishment of the
metalevel-1 subscription to the timer-expired events that are coming
from the background thread.

The race cannot occur in the sequential implementation because the
network makes sure to enqueue the transition actions resulting from
the set-timer message delivery ahead of any enqueueing of the
timer-expired ground message, so that by the time the ground message
is processed, the relevant subscription always exists.

In a looser implementation, however, this level of synchronised
activity may not exist, and the ground message may overtake the
subscription establishment.

Therefore, I've changed the driver to instead use ground /assertions/
to signal expired timers. Upon processing of such an assertion, the
driver cleans it up. This is very similar to hardware interrupts,
where the driver has to "clear the interrupt" in order to let the
system continue properly.
2016-01-21 17:38:12 -05:00
Tony Garnock-Jones 4dfb4c46a1 world --> network 2016-01-20 14:16:18 -05:00
Tony Garnock-Jones 1ab7475869 world --> network 2016-01-20 14:13:49 -05:00
Tony Garnock-Jones 5e6d72b991 Rearrange bank-account examples. 2016-01-18 17:38:58 -05:00
Tony Garnock-Jones 1d28908600 Add project-assertions convenience routine. 2016-01-18 17:33:26 -05:00
Tony Garnock-Jones aa9677dbe1 Rename World to Network 2016-01-18 14:29:48 -05:00
Tony Garnock-Jones ad9a78b4a4 Directly detect incoming connections in examples/chat-simplified-internals 2016-01-16 22:12:35 -05:00
Tony Garnock-Jones 024157103c Simplified TCP protocol chat example 2016-01-16 21:59:30 -05:00
Tony Garnock-Jones b7726dafb8 Clearer example 2016-01-16 18:45:44 -05:00
Tony Garnock-Jones fe2bc31f4f Avoid use of sub; wait for server to come ready before sending messages 2016-01-16 18:11:35 -05:00
Tony Garnock-Jones f1c1646163 Bank account example 2016-01-16 14:32:04 -05:00
Tony Garnock-Jones 6058f8ec6e mini-echo examples 2016-01-14 15:19:00 -05:00
Tony Garnock-Jones 31fe2cd92b Variations on chat server 2016-01-13 11:35:03 -05:00
Tony Garnock-Jones 4faf189029 Echo example in actor form 2016-01-13 11:26:01 -05:00
Tony Garnock-Jones 99466dad7f examples/actor/chat-client.rkt 2016-01-08 12:22:27 -05:00
Tony Garnock-Jones a978731c55 Correct typo: 5000 should be 5999 2016-01-08 12:22:11 -05:00
Tony Garnock-Jones 32ff49a814 TODO 2015-12-18 11:45:01 +13:00
Tony Garnock-Jones 881769c274 Comment out debug-printing in expand-state 2015-12-15 15:05:28 +13:00
Tony Garnock-Jones e3aaed1ec9 Untabify 2015-12-15 15:01:13 +13:00
Tony Garnock-Jones edaf97ae05 Simplify and rename %%boot to actor-body->spawn-action 2015-12-12 07:02:13 +13:00
Tony Garnock-Jones 97dceedff2 Expose `perform-core-action!`. 2015-12-12 06:52:16 +13:00
Tony Garnock-Jones bd0278297b Add `network` to actor.rkt 2015-12-12 06:45:15 +13:00
Tony Garnock-Jones debd191992 Fix bug with `until` and #:collect.
`state` now yields the explicit values given in a termination clause
*prepended* to the `#:collect`ed variables of the calling actor at the
time the state terminates. `until` now yields zero values in its sole
termination clause, and thus yields only the `#:collect`ed values.
2015-12-12 06:22:40 +13:00
Tony Garnock-Jones e2b7805232 Simple file-system example, similar to that in the paper submission 2015-12-11 20:25:52 +13:00
Tony Garnock-Jones 122ea7ea1c Steps toward proper scoping of #:collect bindings 2015-12-11 20:25:17 +13:00
Tony Garnock-Jones c607f1c53f Cosmetic rearrangement of MINIMART_TRACE flag-parsing code 2015-12-11 20:24:54 +13:00
Tony Garnock-Jones 0335e54e6a Check for incorrect use of ? in patterns; allow (? pred? ...) in patterns 2015-12-11 20:24:20 +13:00
Tony Garnock-Jones 30d46a2019 Avoid incorrect use of ?; replace with _ 2015-12-11 20:22:36 +13:00
Tony Garnock-Jones 91c2d6a3c7 box-and-client actor example 2015-12-11 17:55:46 +13:00
Tony Garnock-Jones 424f38b268 Bring #:collect vars into scope for maintained assertions in actor.rkt 2015-12-11 17:55:34 +13:00
Tony Garnock-Jones 80ab8e20cc Avoid crashing trace when behavior or state are missing from relevant tables 2015-12-11 17:50:55 +13:00
Tony Garnock-Jones 71c5cd3831 No longer store aggregates for ongoing assertions; instead, use the mux's interest-table 2015-12-11 17:36:32 +13:00
Tony Garnock-Jones e349e28650 Explore behavior of limit-patch a little 2015-12-11 17:36:10 +13:00
Tony Garnock-Jones e4eed9a9e4 Add prospect-pretty-print->string 2015-12-11 16:34:50 +13:00
Tony Garnock-Jones 07f7fcb060 Handy debug printing (commented out) 2015-12-11 16:25:14 +13:00
Tony Garnock-Jones cd6f5a0f59 Remove dead code 2015-12-11 16:25:03 +13:00
Tony Garnock-Jones b0d20f328a Introduce syntax-classes 2015-12-11 16:24:42 +13:00
Tony Garnock-Jones 3b161ef573 First running HLL program! 2015-12-11 15:23:32 +13:00
Tony Garnock-Jones 29042830e2 Greatly improve pretty-printing of many prospect structures 2015-12-11 15:21:24 +13:00
Tony Garnock-Jones 85450362fb Fix treap-values, which had been returning the keys (!) 2015-12-11 15:20:51 +13:00
Tony Garnock-Jones 309ca6f349 Avoid crashing in trace/stderr.rkt by printing the special boot pseudo-event. 2015-12-11 15:17:01 +13:00
Tony Garnock-Jones d9db671896 Provide sequence-transitions*, sequence-transitions0 and sequence-transitions0* 2015-12-11 15:16:06 +13:00
Tony Garnock-Jones 154dfa3831 Much interesting progress in actor.rkt 2015-12-10 12:59:49 +13:00
Tony Garnock-Jones c7870086c5 sequence-transitions0, sequence-transitions0*, and sequence-transitions* 2015-12-10 12:59:33 +13:00
Tony Garnock-Jones 4876a60f93 More progress toward compilation of state forms 2015-12-09 16:18:36 +13:00