Commit Graph

71 Commits

Author SHA1 Message Date
Tony Garnock-Jones 2a5d8ebdd4 Web Worker support, based on js-marketplace 2017-09-16 20:24:12 +01:00
Sam Caldwell 9498f5129e tweak crazy mikes 2017-04-20 13:50:00 -04:00
Sam Caldwell c15b75ecae crazy mikes eve example 2017-03-23 14:40:00 -04:00
Tony Garnock-Jones 6f70eaf93e Mixin example 2017-02-27 04:07:32 -05:00
Sam Caldwell 1134ed0eff Rename `actor` to `spawn` in syndicate.js
similarly for actor* and during actor
2017-02-16 14:38:56 -05:00
Tony Garnock-Jones 138bab9ba6 actor{react{...}} ==> actor{...} for JS 2016-08-25 13:12:32 +01:00
Tony Garnock-Jones 7f785008c8 Prevent default on keypress in textfield-dsl, like plain textfield does 2016-08-07 17:50:05 -04:00
Tony Garnock-Jones 41693b897c Hook dataflow.js into Syndicate/js; add "during ... actor { ... }" 2016-08-07 15:33:09 -04:00
Tony Garnock-Jones 6fae78c7c6 Cosmetic 2016-07-11 12:23:05 -04:00
Tony Garnock-Jones 0314f6a400 Cosmetic 2016-07-11 12:16:22 -04:00
Tony Garnock-Jones cca195d597 New example - this one for the command line! 2016-07-11 12:04:10 -04:00
Tony Garnock-Jones c8f2ea8a56 Supply error-callback and options to watchPosition 2016-06-20 11:02:18 -04:00
Tony Garnock-Jones 95c17a190c Avoid failure when currentLocation not yet initialised 2016-06-20 11:02:18 -04:00
Tony Garnock-Jones 9b2ce64300 Precompile location example. Requires rename location -> locationRecord to avoid window.location clash. 2016-06-11 07:03:39 -04:00
Tony Garnock-Jones ddd67540be Default to wss:// instead of ws:// 2016-06-11 07:02:19 -04:00
Tony Garnock-Jones f4d1f5c800 Location sharing 2016-06-05 16:42:30 -04:00
Tony Garnock-Jones 9cee74b290 Named actors 2016-05-31 10:40:23 -04:00
Tony Garnock-Jones eef8e09f11 Screenshot of TodoMVC app 2016-05-19 14:08:13 -04:00
Tony Garnock-Jones 6160012576 Maintain separation between terminate and handleEvent phases; fixes bug. 2016-05-17 20:50:11 -04:00
Tony Garnock-Jones b559ab04f8 Update for new "group-by" semantics of during 2016-05-17 20:32:03 -04:00
Tony Garnock-Jones 5ec89bd987 Use Github to show (highlighted) JS code 2016-05-17 15:46:28 -04:00
Tony Garnock-Jones acca81076a todomvc: compile Syndicate DSL ahead of time 2016-05-17 13:27:54 -04:00
Tony Garnock-Jones 43f6bd39ea Credits & update index 2016-05-17 13:16:09 -04:00
Tony Garnock-Jones aed3a9f1e2 todomvc: Clean up 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones 3d13375b20 todomvc: localStorage 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones 2c351d7352 todomvc: BUG: transitions don't happen because the nodes are being replaced rather than edited. 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones 299be35d8f todomvc: Implement many more features; redesign to fix bug 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones 9e673c1588 todomvc: Sort todos in display by ID 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones 7a759de5a1 todomvc: Progress 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones 5c80c2f3bd todomvc: Noticed a bug 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones a7ad6355f5 todomvc: Follow HTML template and file layout more closely; use new locationHash 2016-05-17 13:03:09 -04:00
Tony Garnock-Jones eafcff8f75 todomvc: Various additional features toward the spec 2016-05-17 13:03:08 -04:00
Sam Caldwell e18b2a8062 todomvc: progress 2016-05-17 13:03:04 -04:00
Sam Caldwell d316449538 todomvc: switch to new ui library 2016-05-17 13:01:09 -04:00
Tony Garnock-Jones 4acb32813e todomvc: Initial steps 2016-05-17 13:01:03 -04:00
Tony Garnock-Jones df7908d5a7 examples/motion 2016-05-15 20:41:44 -04:00
Tony Garnock-Jones 16365e7e95 Table example 2016-05-14 02:21:56 -04:00
Tony Garnock-Jones 879e2425b9 Make Anchor.prototype.context n-ary 2016-05-11 22:13:35 -04:00
Tony Garnock-Jones e67d018079 Make the TV catch fire eventually. 2016-05-11 21:22:26 -04:00
Tony Garnock-Jones 0208ae7a7d A better UI library. Replaces DOM and jQuery support. 2016-05-11 21:03:11 -04:00
Tony Garnock-Jones 23f269fba6 Use Syndicate.Timer in SVG example 2016-05-11 11:13:14 -04:00
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
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 efc444ac37 forever => react, state => react, init => do, done => finally, until => react until 2016-05-10 18:49:12 -04:00
Tony Garnock-Jones e54b6566f5 Use Timer driver in IoT example. 2016-05-10 17:04:39 -04:00
Tony Garnock-Jones 00b0ef63eb SVG example. 2016-05-10 15:33:02 -04:00
Tony Garnock-Jones b24cd754b0 Set default chat broker url 2016-05-10 01:14:32 -04:00
Tony Garnock-Jones 8f1d27c584 Move Codec and Broker into src/. 2016-05-10 00:57:05 -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 abc844c964 Dataspace.setOnStateChange, to correctly call it at least once 2016-05-09 13:18:19 -04:00