Commit Graph

169 Commits

Author SHA1 Message Date
Tony Garnock-Jones 30a5a924a3 More tweaks 2016-03-01 17:00:57 -05:00
Tony Garnock-Jones ed3877e7b1 Use match-event more 2016-03-01 16:56:58 -05:00
Tony Garnock-Jones a71e138e79 Entersenate. 2016-03-01 16:48:28 -05:00
Tony Garnock-Jones c0b84e1915 Add match-event and accept void from behaviour functions 2016-03-01 16:45:29 -05:00
Tony Garnock-Jones 44b0903c91 Very toy "spreadsheet" 2016-02-29 23:35:19 -05:00
Tony Garnock-Jones 6e3e0fc8bc Remove debug printing 2016-02-29 15:20:03 -05:00
Tony Garnock-Jones 73119c323f Avoid use of for-trie in example for PLACES paper 2016-02-29 13:44:45 -05:00
Tony Garnock-Jones 79ea380afc Update file purpose statement 2016-02-29 10:51:36 -05:00
Tony Garnock-Jones 07785e9232 Add "during". 2016-02-29 10:26:17 -05:00
Tony Garnock-Jones 5b328a1786 More file system variations 2016-02-29 09:43:25 -05:00
Tony Garnock-Jones f8f61dd43d Comprehensions now support internal definitions. 2016-02-29 09:21:05 -05:00
Tony Garnock-Jones 7fc1554230 Support internal definitions in comprehension macros. 2016-02-29 09:20:21 -05:00
Tony Garnock-Jones 95456a4fd5 Use for-trie/list in file-system-lll 2016-02-29 09:15:29 -05:00
Sam Caldwell 5d2cb21d29 Use finer-grained projections inside trie comprehensions
Fixes HEAD~2
2016-02-28 21:49:30 -05:00
Tony Garnock-Jones 438151f092 Low-level implementation of file system. 2016-02-28 21:33:53 -05:00
Tony Garnock-Jones 8832a22b30 Add a failing test case to comprehensions.rkt 2016-02-28 20:32:29 -05:00
Sam Caldwell cd492df0c4 undo my stupid macrology 2016-02-27 21:13:37 -05:00
Sam Caldwell 874ba60f06 use trie comprehension in bank account example 2016-02-22 23:35:11 -05:00
Sam Caldwell aa4e4afdde fix trie comprehension hygiene-bending 2016-02-22 23:35:11 -05:00
Tony Garnock-Jones 62c0ce18a4 Comment explaining a little of the motivation for the previous commit. 2016-02-20 11:41:07 -05:00
Tony Garnock-Jones 92be8eaf70 Only respond to link-results that are genuinely intended for us.
This can be a concern if some facet subscribes to wildcard. An improved design
would ensure facets only receive events that fall within its interests.
2016-02-19 20:10:26 -05:00
Sam Caldwell 96fe9f46e1 add an effectful trie comprehension 2016-02-19 18:46:59 -05:00
Sam Caldwell b7775efd9b Raise an error when trying to iterate over an infinite trie 2016-02-19 15:38:43 -05:00
Sam Caldwell a045d54071 Bind variables in lexical order
Fixes #12
2016-02-12 19:30:00 -05:00
Tony Garnock-Jones 817bfd7517 When acting-pid is 'meta, take the entire delta as the delta-aggregate.
This is correct because now that we have echo-cancelled SCNs, incoming
SCNs from the metalevel are *always* new information for the contained
actors.
2016-02-11 23:50:37 -05:00
Tony Garnock-Jones c3b2df00cd Compute affected peers by the aggregate change, not the incoming action. 2016-02-11 22:28:04 -05:00
Tony Garnock-Jones 01b6bf92ee Echo cancellation for prospect. 2016-02-11 22:26:53 -05:00
Tony Garnock-Jones 1e4415e30b Failing test case, more or less. 2016-02-07 16:17:20 -05:00
Tony Garnock-Jones d5c4b30335 Use `continuation-prompt-available?` to support `actor` at prospect "toplevel". 2016-02-05 18:06:29 -05:00
Sam Caldwell 92169d5e10 use comprehension in box-and-client 2016-02-05 13:27:20 -05:00
Sam Caldwell 26966b9c34 Implement trie-comprehension macros
Trie comprehensions abstract the process of projecting one-or-more
tries against some patterns, binding the results to usable variables,
and iterating over the results.

Currently supports for-trie/fold, for-trie/list, for-trie/set, and
for-trie/patch, as well as the ability to easily create new trie
comprehension macros. Note that these comprehensions operate in the
style of `for*` rather than `for`.
2016-02-05 13:27:20 -05:00
Sam Caldwell 540e3cb1f0 undollar into a particular lexical context 2016-02-05 13:27:20 -05:00
Tony Garnock-Jones b85409ef10 Demos of wildcard assertions 2016-02-02 23:01:08 -05:00
Tony Garnock-Jones 6b31b33230 Nameable demand-matchers 2016-01-27 21:03:08 -05:00
Tony Garnock-Jones bedd44aae5 Using #f as a name doesn't override existing names. 2016-01-27 20:53:37 -05:00
Tony Garnock-Jones 03efb19a4d Optionally-named process behaviour functions 2016-01-27 20:46:24 -05:00
Tony Garnock-Jones de1dc5aa8e Fix "out"-related bug in monolithic implementation 2016-01-24 00:04:29 -05:00
Tony Garnock-Jones 0a6cce2d3d on-claim fix for incremental, on-claim impl for monolithic 2016-01-24 00:03:59 -05:00
Tony Garnock-Jones ff3ba722ad Fix pretty-printing of networks 2016-01-24 00:03:32 -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 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