Tony Garnock-Jones
bb889542fc
Track process names in trace/stderr.rkt
2016-09-13 12:24:16 -04:00
Tony Garnock-Jones
9ee7e677ad
Give names to udp-driver and udp-socket processes
2016-09-06 16:46:14 +01:00
Tony Garnock-Jones
c844c0d596
Make sure spawn tracing happens before initial-patch tracing
2016-09-06 16:45:59 +01:00
Tony Garnock-Jones
02828d8356
syndicate/profile
2016-09-05 11:22:27 +01:00
Tony Garnock-Jones
0ef2a621d1
Support #:exit? on ide-dataspace
2016-09-05 11:22:13 +01:00
Tony Garnock-Jones
497b63699c
Avoid consing up a fresh 1x1 rectangle each time
2016-09-05 11:22:01 +01:00
Tony Garnock-Jones
550bb12c4a
Workable first stab at visualization of running configuration
2016-09-02 17:56:07 +01:00
Tony Garnock-Jones
7880b2ba28
current-trace-procedures needs to be a store, not a parameter, because spawns capture the parameterization too early and the scoping of tracing should be hierarchy-based
2016-09-02 17:55:46 +01:00
Tony Garnock-Jones
7d52e24a35
Support rotation of simple-sprites
2016-09-02 17:54:41 +01:00
Tony Garnock-Jones
74b768044f
actor-view tooltip
2016-09-02 13:09:41 +01:00
Tony Garnock-Jones
9f333345fc
Add actor-view for ground dataspace
2016-09-02 13:09:28 +01:00
Tony Garnock-Jones
92ae08b24e
Better dataspace detection
2016-09-02 13:09:16 +01:00
Tony Garnock-Jones
c459dbe684
Render dataspaces a little differently
2016-09-02 13:02:20 +01:00
Tony Garnock-Jones
c758c0d79c
Use `signal-background-activity!` to prevent blocking of the main user thread
2016-09-02 13:00:32 +01:00
Tony Garnock-Jones
9451c6ca54
Fix vertical alignment of tooltip
2016-09-02 12:59:42 +01:00
Tony Garnock-Jones
01013ea372
Tooltip
2016-09-02 11:32:10 +01:00
Tony Garnock-Jones
82e4b64168
Make frame counter transparent wrt touching
2016-09-02 11:15:22 +01:00
Tony Garnock-Jones
bd40ca3c62
Simplify `touching` notifications
2016-09-02 11:11:56 +01:00
Tony Garnock-Jones
386df02fd0
Fix comment.
2016-09-02 10:36:40 +01:00
Tony Garnock-Jones
b56f559f45
draggable-mixin in syndicate-gl/examples/basic.rkt
2016-09-02 10:36:26 +01:00
Tony Garnock-Jones
45c12bacf0
Permit #:when in stop-when.
2016-09-02 10:36:03 +01:00
Tony Garnock-Jones
e50ab77b53
`#:touchable-predicate`
2016-09-02 10:08:02 +01:00
Tony Garnock-Jones
a6f002c27d
Simplify transform composition
2016-09-02 09:50:48 +01:00
Tony Garnock-Jones
b60fa8c755
First steps toward mouse-based picking in syndicate-gl
2016-09-01 19:50:03 +01:00
Tony Garnock-Jones
1ae40c1ff1
`install-ide-dataspace!`
2016-09-01 11:34:38 +01:00
Tony Garnock-Jones
b69c3b3778
First sketch of "IDE" for Syndicate
2016-08-31 19:12:40 +01:00
Tony Garnock-Jones
8249993a86
Use lists rather than conses, since they travel through dataspaces better
2016-08-31 19:12:05 +01:00
Tony Garnock-Jones
4685d6af46
extract-patch-pids and tset/set-union
2016-08-31 19:11:43 +01:00
Tony Garnock-Jones
bf3b2a5a36
Expose current-ground-event-async-channel
2016-08-31 19:11:16 +01:00
Tony Garnock-Jones
e76ccd31a2
Add #:label parameter to 2d-dataspace
2016-08-31 19:10:59 +01:00
Tony Garnock-Jones
fb3ed65831
trace-logger --> current-trace-procedures
2016-08-31 15:12:52 +01:00
Tony Garnock-Jones
ca1c0f6645
Add a way of loading trace modules at startup time
2016-08-25 18:15:39 +01:00
Tony Garnock-Jones
2a6061bd97
Revamp tracing
2016-08-25 18:07:27 +01: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
3240f20d90
Allow ($ v) bindings
2016-08-21 08:27:56 -04:00
Tony Garnock-Jones
426a38b17f
Silence redefinition warning
2016-08-15 10:45:23 -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
6684c9e883
queue-remove in functional-queue.rkt
2016-08-10 19:03:40 -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
2b29e817a5
Add *idle-priority*, and allow #:priority on begin/dataflow
2016-08-10 18:41:41 -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
02c66c4bab
Fix deps
2016-08-04 13:05:54 -04:00
Sam Caldwell
73f180d90a
fix bug in LLL two-buyer
2016-08-03 14:19:18 -04:00
Tony Garnock-Jones
e22f608109
Now that we capture parameterization for actors, current-actor-path-rev has to be a store rather than a parameter
2016-07-31 22:19:59 -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
463dd48577
Always pick the highest-priority script to run next.
...
This means that `*gc-priority*` scripts will now reliably run last.
Prior to this change, if some higher-priority script X ran while a
`*gc-priority*` script Y was queued, and it enqueued a high-priority
script Z, then Y would run before Z.
2016-07-31 12:02:11 -04:00
Tony Garnock-Jones
f34924bc6d
Leave a "tombstone" so we can see the process's name while any record of it remains.
2016-07-31 11:36:25 -04:00
Tony Garnock-Jones
4dad3e9661
Process retractions before asserts in the query forms
2016-07-30 17:05:54 -04:00
Tony Garnock-Jones
9e3f804aae
I don't understand how elapsed-ms can end up negative, but I was seeing it in the platformer at frame 0
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
b6a03bdd9b
Tweak scribblings to silence errors. Still need to update docs.
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
3edd184242
Update syndicate-gl for split mux and relay.
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
c7dae47210
inbound* and outbound* are now match-expanders
2016-07-30 14:49:05 -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
17db697690
spawn->process+transition
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
c0786c86ca
Introduce struct process.
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
b8c109d82b
pretty-print-actor-state
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
2a2d363c5e
Improve printing of patches
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
129dd23b84
Remove obsolete endpoint.rkt and its example
2016-07-30 14:49:05 -04:00
Tony Garnock-Jones
7a3973a097
Move syndicate-monolithic to new historical directory.
2016-07-30 14:48:59 -04:00
Tony Garnock-Jones
56d2fc2c0d
Support #:when conditional (on ...) clauses.
2016-07-28 15:45:45 -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
2e24e105b8
Modify LLL two-buyer examples to give buyer A a budget
2016-07-28 15:33:52 -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
e99cd0887f
Improved tests for dataflow.rkt
2016-07-27 06:03:57 -04:00
Tony Garnock-Jones
8dba9a66c6
Line reader for TCP
2016-07-25 21:31:12 -04:00
Tony Garnock-Jones
8e22e58920
Move LLL two-buyer examples together in the syndicate collect
2016-07-25 18:37:45 -04:00
Tony Garnock-Jones
a05d486354
let-event
2016-07-25 18:34:34 -04:00
Sam Caldwell
ce80efeb85
Change monolithic two-buyer to syndicate/monolithic
2016-07-25 14:49:46 -04:00
Sam Caldwell
fdf0fa8cf6
Add spawn/stateless to syndicate/monolithic
2016-07-25 14:48:41 -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
Sam Caldwell
c714374685
add monolithic two-buyer example
2016-07-22 18:16:50 -04:00
Sam Caldwell
9a6ce7d7f9
allow named stateless actors in monolithic lang
2016-07-22 18:16:14 -04:00
Sam Caldwell
e20506644f
update monolithic impl to use hierarchy.rkt
2016-07-22 16:28:22 -04:00
Sam Caldwell
f28e16ee7b
low-level two-buyer example
2016-07-22 15:20:10 -04:00
Sam Caldwell
9f8ddc5249
Allow stateless actors to be given names
2016-07-22 15:11:53 -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
c931b0aee5
Fix dataspace macro
2016-07-21 18:31:33 -04:00
Tony Garnock-Jones
4357424e78
Switch to non-boxed, persistent impl of fields
2016-07-21 16:50:16 -04:00
Tony Garnock-Jones
970baf7a36
Forbid multiple uses of a suspend-script continuation
2016-07-21 15:14:03 -04:00
Tony Garnock-Jones
bffc3757cb
Remove unused #:substate arg from add-facet!.
2016-07-21 15:00:58 -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
3569426048
Support specification of the form to use to create an actor in during/actor
2016-07-20 22:05:14 -04:00
Tony Garnock-Jones
9b5a399383
Route targeted-events via actor paths
2016-07-20 19:30:49 -04:00
Tony Garnock-Jones
815b139e5c
Split out keeping track of actor paths to hierarchy.rkt
2016-07-20 18:54:31 -04:00
Tony Garnock-Jones
a01480fe05
Anticipate the pid a process is *about* to be allocated.
2016-07-20 18:42:35 -04:00
Sam Caldwell
c76480f701
Allow giving two contracts in field macro
2016-07-20 16:51:41 -04:00
Sam Caldwell
01ad7c72f6
Allow field/c to have different in and out contracts
...
This can be used to temporarily disallow writing to the field, or
allowing the field to be initially #f but never set to #f.
2016-07-20 16:34:21 -04:00
Sam Caldwell
3b9e483076
Re-kerjigger field macro to allow using #f as a contract
2016-07-20 16:14:12 -04:00
Sam Caldwell
e20f87adba
Implement field/c using a struct rather than make-contract
...
Asumu suggested that using a struct with the contract property is
generally preferred.
2016-07-19 17:49:45 -04:00
Sam Caldwell
9cf12a381e
wrap contracts given to field with `field\c`
2016-07-18 15:20:38 -04:00
Sam Caldwell
0fb5fa52f4
allow field/c to blame positive party
2016-07-18 15:17:17 -04:00
Tony Garnock-Jones
a046bd0f23
Experimental begin/dataflow and define/dataflow facilities
2016-07-17 12:51:57 -04:00
Tony Garnock-Jones
21f05e110a
Do not provide "sleep" from the #langs
2016-07-17 12:51:57 -04:00
Tony Garnock-Jones
0a0feee01b
Support optional priority in on-event
2016-07-17 00:29:52 -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
4f570fcd18
Support current-ground-dataspace for syndicate-gl.
2016-07-16 16:15:19 -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
b6c679afa6
Support `module+` in Syndicate #langs. Closes #2 .
...
Adding `#'module+` explicitly to the stop-list for local-expand stops
the infinite recursion (problem 1 in the issue description). The code
goes on to treat it like `#'module` and `#'module+`, namely as a
non-action-producing form.
Problem 2 in the issue description is interesting. I haven't done
anything in particular to address the production of unbounded `X` ->
`(begin X)` expansions, but it seems not currently to be a problem;
and, weirdly (?), submodules in a `#lang syndicate` or `#lang
syndicate/actor` module do not seem to inherit the `#%module-begin` of
their container! That is, `(module+ main)`, `(module+ test)` etc. all
seem to have a `racket/base` `#%module-begin`, though I've not looked
very far into this.
Most peculiar on this front is that if the `#,@(reverse final-forms)`
precedes the `(module+ syndicate-main ...)`, and the module being
processed includes, say, a `(module+ main)`, then for some reason the
resulting `main` submodule *is* treated as having a `syndicate/lang`
`#%module-begin` (thus causing problems as suggested in the issue
description)! I *really* don't understand why that might be, and
haven't spent very much time investigating after I noticed that so
long as the `main`-required `syndicate-main` submodule preceded all
other submodule declarations, things seemed to work out.
This whole approach is still a bit dicey: for example, the following
will erroneously treat `(foo quux)` as an expression yielding actions,
rather than a struct declaration:
#lang syndicate
(define-syntax-rule (foo x) (struct x ()))
(foo quux)
2016-07-16 15:49:03 -04:00
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
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
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
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
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
Tony Garnock-Jones
4d905e9f3f
Correct typo in documentation
2016-05-27 18:45:41 -04:00
Tony Garnock-Jones
5c288036aa
Friendlier error when one accidentally asserts wildcard
2016-05-17 02:08:23 -04:00
Tony Garnock-Jones
791d2880ae
If a parent facet terminates, its children watch for this and terminate themselves.
2016-05-17 01:15:09 -04:00
Tony Garnock-Jones
1e84a3507d
Avoid use of racket/match for message matching in actors; makes abstracting over patterns easier
2016-05-17 01:14:48 -04:00
Tony Garnock-Jones
e3ff45b08e
Fix wildcard matcing in trie-lookup to properly prepend wilds for open-parens.
2016-05-17 01:11:00 -04:00
Tony Garnock-Jones
07ef4f108e
Improve printing of actor state
2016-05-17 01:10:26 -04:00
Tony Garnock-Jones
b1f7816418
Only fire (on (asserted)) when no previous matching assertions have been seen.
...
This makes (on (asserted)), (on (retracted)) and (during) behave as if
they are *grouping* by their named captures, which is what we want. It
gives a much easier to understand programming model. Note the
differences in execution of example-partial-retraction.rkt before and
after this patch. This patch gives example-partial-retraction.rkt, and
programs like it, a more natural behaviour.
2016-05-17 00:24:17 -04:00
Tony Garnock-Jones
3db6177ce9
Second listener, this one using during
2016-05-17 00:15:52 -04:00
Tony Garnock-Jones
d9b11566f5
example-partial-retraction.rkt
2016-05-17 00:09:18 -04:00
Tony Garnock-Jones
c7b62b109e
Slightly less noisy logging from broker by default
2016-05-16 14:18:44 -04:00
Tony Garnock-Jones
cd60353053
Remove obsolete definition.
2016-05-15 07:01:32 -04:00
Tony Garnock-Jones
74c663d5d4
Provide broker-scope and broker-data from server.rkt
2016-05-15 06:59:28 -04:00
Tony Garnock-Jones
81f9a0f0fe
Split host and port in websocket-remote-client and broker-scope.
2016-05-15 06:56:29 -04:00
Tony Garnock-Jones
c29ae059ff
Make sure to advertise presence even during connection establishment, since otherwise the user actor may hang indefinitely.
2016-05-15 06:55:39 -04:00
Tony Garnock-Jones
0f1fabddfb
Better logging of websocket connection failures.
2016-05-15 06:55:14 -04:00
Tony Garnock-Jones
931c54df6a
It is expected that outbound connection supply should drop.
2016-05-15 06:53:02 -04:00
Tony Garnock-Jones
b65291e789
Remove obsolete clean-patch function.
2016-05-15 06:11:04 -04:00
Tony Garnock-Jones
e7b0e15786
Support nested observation across broker protocol
2016-05-15 06:10:51 -04:00
Tony Garnock-Jones
ee120022a4
trie-step*
2016-05-15 06:10:31 -04:00
Tony Garnock-Jones
7a4f1d8931
Update Racket demand-matcher to match improvements in the js version.
2016-05-14 17:07:50 -04:00
Tony Garnock-Jones
68cde5be6c
DemandMatcher: overlap not ruled out! Remove it.
2016-05-12 22:18:57 -04:00
Tony Garnock-Jones
c6cfa2fe87
Scoped broker connections
2016-05-12 12:32:29 -04:00
Tony Garnock-Jones
f486f93bd4
More ergonomic step/prepend for tries and patches
2016-05-12 12:18:59 -04:00
Tony Garnock-Jones
81e10632dd
Expose Websocket request host/path to server-side
2016-05-12 12:18:43 -04:00
Tony Garnock-Jones
7e48e82a48
Print out peer connection details in broker
2016-05-12 10:57:34 -04:00
Tony Garnock-Jones
de44b51e49
ws-echo.rkt and ws-echo-client.rkt
2016-05-12 10:48:34 -04:00
Tony Garnock-Jones
a8821913a1
Publish websocket-peer-details for each connection
2016-05-12 10:46:02 -04:00
Tony Garnock-Jones
4de4a099b9
Fix bug with outbound websocket connections
2016-05-12 10:46:02 -04:00
Tony Garnock-Jones
8d6bc484a8
Canonicalize deserialized atoms. Fixes serious routing bug when using the broker.
2016-05-12 08:06:23 -04:00
Tony Garnock-Jones
fd2e4cc23c
Exchange ad-hoc tracing for slightly more principled log-info output.
2016-05-10 01:24:47 -04:00
Tony Garnock-Jones
bbca582b98
Get the broker working.
...
Add support for encoding prefab structs as JSON objects.
Remove linkage & at-meta from patches inside broker dataspace. This is
ugly, and deserves to be revisited in future.
Fix a bug where using trie-prune-branch was incorrect, and
trie-subtract should have been used instead.
Factor out support/struct.rkt.
2016-05-10 00:25:50 -04:00
Tony Garnock-Jones
7c4e00f614
Command-line launcher for broker
2016-05-09 12:55:20 -04:00