Commit Graph

11 Commits

Author SHA1 Message Date
Tony Garnock-Jones dede7f08a7 Use strings-of-HTML and mustache.js for DOM fragments.
This avoids churn in the dataspace for no-op DOM updates, but at the
cost of losing the identity of multiple pieces of asserted DOM when
they end up being textually identical.

The fix is, generally, to make sure your DOM fragments are different
in some (perhaps invisible when rendered) way. Next commit updates the
IoT demo to avoid duplicate fragments.
2016-05-10 22:38:40 -04:00
Tony Garnock-Jones 1adb8110b6 Support xmlns in dom-driver. 2016-05-10 15:31:47 -04:00
Tony Garnock-Jones 8546e93e5d Implement Syndicate/js broker-client and chat app.
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.
2016-05-10 00:40:53 -04:00
Tony Garnock-Jones 9c5f427366 Split and rename route.js into trie.js, struct.js and special.js 2016-05-08 11:33:39 -04:00
Tony Garnock-Jones 062e4603af Convert Syndicate/js to use prefix-style trie 2016-05-08 11:11:29 -04:00
Tony Garnock-Jones 7fcfa9586b Rename "network" to "dataspace" throughout 2016-04-07 09:42:54 +02:00
Tony Garnock-Jones da978aad39 Allow published DOM fragments to be just plain text. 2016-03-22 12:11:47 -04:00
Tony Garnock-Jones 4f94c8702e Rename syndicate.js to network.js 2016-02-07 14:39:09 -05:00
Tony Garnock-Jones 6d028f00c5 Seal DOMFragment specifications. 2016-02-06 15:06:59 -05:00
Tony Garnock-Jones afa657096a Introduce Syndicate.Ack() to reliably detect lack of demand in DOMFragment. 2016-02-06 14:32:42 -05:00
Tony Garnock-Jones 3489b5fab7 DOM driver. 2016-02-06 07:42:31 -05:00