Sam Caldwell
75cec37038
Support for defining fields with contracts
2016-07-15 18:53:25 -04:00
Sam Caldwell
e1f42d5d4f
First pass at field/c
...
Logic mostly dupicated from parameter/c
2016-07-15 15:45:08 -04:00
Tony Garnock-Jones
22f5c47d30
Collect actor.rkt pending-actions during module compilation
2016-07-15 09:50:29 -04:00
Tony Garnock-Jones
cb473a8847
Make rising-edge check at patch-compute-time.
...
This makes rising-edge checks happen only when *fields* change, rather
than every turn. It also means that if a script causes a relevant
field change, the rising-edge check will definitely be performed
before the end of the turn.
A potential downside is that a rising-edge check could schedule a
script which triggers the same rising-edge check, causing an infinite
loop in `run-scripts!`.
2016-07-15 09:47:48 -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
be80ac038f
Split effect.rkt out into a package of its own, github.com/tonyg/racket-effects
2016-07-13 13:25:47 -04:00
Tony Garnock-Jones
a466fcdf23
track-set.rkt
2016-07-12 21:17:07 -04:00
Tony Garnock-Jones
cf82b794e5
Abort to prompt-tag when invoking a suspended continuation.
2016-07-12 17:42:54 -04:00
Tony Garnock-Jones
1a6199f9ee
Allow naming of `during/actor`s
2016-07-12 16:32:54 -04:00
Tony Garnock-Jones
34b504326f
Remove react/independent; counter to Syndicate design. See Journal 5 for details.
2016-07-12 15:33:31 -04:00
Tony Garnock-Jones
7989bc4931
Add `flush!` utility to actor.rkt
2016-07-12 15:18:06 -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
2afa0fce15
#lang syndicate/monolithic, integrated with incremental
2016-07-12 13:45:32 -04:00
Tony Garnock-Jones
7c11a438e4
Change compute-patch to deal with trie-sets rather than -maps
2016-07-12 13:43:01 -04:00
Tony Garnock-Jones
118c163193
Done
2016-07-11 12:27:15 -04:00
Tony Garnock-Jones
b323d7c650
Support (quit-dataspace) at ground level
2016-07-10 20:14:54 -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
081383d321
Correct grammatical error in error message
2016-07-10 18:41:29 -04:00
Tony Garnock-Jones
adf2d1e291
Disallow usage of assert!/retract!/patch! outside scripts
2016-07-10 16:48:09 -04:00
Tony Garnock-Jones
9bf2991da8
Enforce rule: fields legal only at actor toplevel or in facet setup code
2016-07-10 16:47:37 -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
Tony Garnock-Jones
52aed3111c
Print process names during exn; avoid double-printing exns
2016-07-09 15:28:31 -04:00
Tony Garnock-Jones
d244866617
Fix match-value/captures for vectors (and hence structs)
2016-07-09 13:21:20 -04:00
Tony Garnock-Jones
707245cfe2
Support broadcast messages
2016-06-27 14:54:07 -04:00
Tony Garnock-Jones
173a0edb54
two-buyer-protocol.rkt
2016-06-23 10:48:28 -04:00
Tony Garnock-Jones
e5a38d5fe5
Instantiated patterns need `?`, not `_`.
2016-06-18 11:57:11 -04:00
Tony Garnock-Jones
eac9f39169
Mini version of forward-chaining.rkt using syndicate/actor
2016-06-14 04:01:54 -04:00
Tony Garnock-Jones
4ae9aa0e2b
Move the newly-runnable example into examples/actor
2016-06-14 03:51:10 -04:00
Tony Garnock-Jones
f21e58dacb
Support #:meta-level for during
2016-06-14 03:48:31 -04:00
Tony Garnock-Jones
7271ef6b73
Ensure that `?` is provided by pattern.rkt and clients
2016-06-14 03:48:12 -04:00
Tony Garnock-Jones
0b964bb1bb
Compute `retracted` pattern just once during `during`. Avoids mutation-related bug.
2016-06-11 06:59:59 -04:00
Tony Garnock-Jones
7e144ab33b
Remove unused require
2016-06-09 14:24:03 -04:00
Tony Garnock-Jones
403cc372c1
Forgot to update endpoint.rkt's use of <spawn>
2016-06-09 14:23:54 -04:00
Tony Garnock-Jones
d161d50b9a
Split out pattern.rkt
2016-06-08 14:22:35 -04:00
Tony Garnock-Jones
2a218dd0a6
Split out effect-handling library.
2016-06-08 13:52:32 -04:00
Tony Garnock-Jones
e74f6ae7e5
Initial support for properly-recorded actor names.
2016-06-06 16:45:42 -04:00
Tony Garnock-Jones
cd94df3cab
Report non-network-failure exceptions more clearly
2016-06-06 10:36:00 -04:00
Tony Garnock-Jones
9af4e88681
Optional SSL options for broker
2016-06-05 12:06:28 -04:00
Tony Garnock-Jones
f3645b9081
Better choice of example UDP multicast group address.
2016-05-28 10:32:03 -04:00
Tony Garnock-Jones
f6ed330a0d
UDP multicast support
2016-05-27 19:43:35 -04:00