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.
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.
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.