syndicate-2017/js
Tony Garnock-Jones 4a2c8147aa Enable and disable the IoT demo spawn/kill buttons.
Previous commit changed DOM fragment representation to use strings
instead of Seal'd quasi-sexprs, and so eliminated any distinction
between textually-identical DOM fragments in the dataspace.

This patch disables the "spawn" buttons for components in the IoT demo
to avoid (mostly harmless) duplication of actor instances.

It also demonstrates use of react{} outside a *lexically*-enclosing
actor{}.
2016-05-10 22:40:49 -04:00
..
bin Split out compiler to separate syndicatec command 2016-03-19 13:01:14 -04:00
compiler forever => react, state => react, init => do, done => finally, until => react until 2016-05-10 18:49:12 -04:00
dist Initial commit. 2016-01-30 21:58:59 -05:00
examples Enable and disable the IoT demo spawn/kill buttons. 2016-05-10 22:40:49 -04:00
src Use strings-of-HTML and mustache.js for DOM fragments. 2016-05-10 22:38:40 -04:00
test Implement Syndicate/js broker-client and chat app. 2016-05-10 00:40:53 -04:00
third-party Initial commit. 2016-01-30 21:58:59 -05:00
.gitignore Initial commit. 2016-01-30 21:58:59 -05:00
Makefile Fill TEMP_CHECKOUT/dist from working copy 2016-04-06 18:31:24 +02:00
README.md Split and rename route.js into trie.js, struct.js and special.js 2016-05-08 11:33:39 -04:00
package.json Get in-browser compilation working using brfs 2016-03-19 14:49:44 -04:00

README.md

Syndicate-JS: Syndicate for Javascript environments

A walk through the code

Source files in src/, from most general to most specific:

  • reflect.js: Reflection on function formal parameter lists.

  • util.js: Functions extend and kwApply.

  • randomid.js: Generation of (cryptographically) random base64 strings.

  • trie.js: Implementation of dataspace trie structure.

  • patch.js: Implementation of patches over dataspace tries.

  • mux.js: Use of tries plus patches to build a (de)multiplexing routing structure.

  • dataspace.js: Implementation of core leaf actors and dataspaces.

  • ground.js: Pseudo-dataspace acting as the global outermost context for Syndicate actors.

  • ack.js: Utility for detecting when a previous state change has taken effect.

  • seal.js: Immutable container for data, used to hide structure from dataspace tries.

  • demand-matcher.js: Tracking and responding to demand and supply expressed as assertions.

  • dom-driver.js: Syndicate driver for displaying DOM fragments on a webpage.

  • jquery-driver.js: Syndicate driver for soliciting jQuery-based DOM events.

  • main.js: Main package entry point.