Support capturing with a pattern in the Syndicate/js DSL: ($foo = bar())
Struct has been cleaned up, and now offers proper Javascript objects
for its prefab-like structures. These can serialize and deserialize
themselves to/from JSON. They behave like prefabs in that two
StructureTypes created with the same label and arity behave
identically wrt Dataspaces and Tries. Sadly, prefab field names had to
go in order to support this.
Facets now track and terminate their children upon termination. This
is experimental; I suspect it is required for nested durings.
DemandMatcher can now support multiple specs, but this is less useful
than you might think since it tracks supply and demand quite naively.
It would have to have (surprise, surprise!) a mux-like structure to do
the job properly!
Added WakeDetector to main.js; adding the broker client will have to
wait until it is turned into a proper module in the src/ directory.
Moved a bunch of lookup logic into rlookupWild, which let me delete a
lot of special-purpose and flawed code. It is clearly heading toward
being properly-refactored, like the Racket implementation (and the
ESOP2016 paper's presentation) is. The performance problems may
interrupt this gradual evolution before it is complete, though:
hopefully I will be able to move to an explicitly memory-managed
scheme soon.