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
e8d33d4135
Move from syndicate-monolithic to syndicate/monolithic, in prep for refactoring
2016-07-12 13:55:59 -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
6fae78c7c6
Cosmetic
2016-07-11 12:23:05 -04:00
Tony Garnock-Jones
0314f6a400
Cosmetic
2016-07-11 12:16:22 -04:00
Tony Garnock-Jones
cca195d597
New example - this one for the command line!
2016-07-11 12:04:10 -04:00
Tony Garnock-Jones
9644aa3ad1
Fixes to code-generation in Syndicate/js compiler.
...
1. Repair .buildSubscription(mode) so it doesn't delete spaces in
unchanged ES5 code.
2. Avoid ',' between successive translated clauses in a
FacetStateTransitionBlock.
2016-07-11 12:02:40 -04:00
Tony Garnock-Jones
b323d7c650
Support (quit-dataspace) at ground level
2016-07-10 20:14:54 -04:00
Tony Garnock-Jones
3f3249e7a1
Convert syndicate-gl/2d basic example to syndicate/actor style
2016-07-10 19:22:48 -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
5484e1b4a3
Cannot construct a 0x0 bitmap for some reason?
2016-07-10 18:38:33 -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
31ee4cb2cd
Broadcast message delivery in Syndicate/js
2016-06-27 14:59:53 -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
c8f2ea8a56
Supply error-callback and options to watchPosition
2016-06-20 11:02:18 -04:00
Tony Garnock-Jones
95c17a190c
Avoid failure when currentLocation not yet initialised
2016-06-20 11:02:18 -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
7cc8f2cbe6
Remove obsolete "examples"
2016-06-14 03:55:10 -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
b857ce7bcd
Actually-runnable syndicate/actor big-bang example.
2016-06-14 03:49:47 -04:00