Tony Garnock-Jones
1f8b3eeb3f
Attribute and property update/remove protocol
2016-05-15 06:14:31 -04:00
Tony Garnock-Jones
097641ffff
Name Structs for compatibility with Racket
2016-05-15 06:13:31 -04:00
Tony Garnock-Jones
0653bdae3c
key.instantiate needs an Array, not an Immutable.List
2016-05-15 06:12:37 -04:00
Tony Garnock-Jones
a55ed180db
Properly handle the first (interesting) patch after a broken connection.
2016-05-15 06:12:09 -04:00
Tony Garnock-Jones
e55e19d5e4
Add "on event ID BLOCK" support
2016-05-14 19:06:00 -04:00
Tony Garnock-Jones
0561a02e78
onTaskExit, matching the Racket
2016-05-14 17:12:41 -04:00
Tony Garnock-Jones
c7d91ac37f
Incorrect loop logic in updateEventListeners meant that nodes right at the end of the anchorNode were skipped.
2016-05-14 10:34:22 -04:00
Tony Garnock-Jones
bf532edd28
UIAttribute doesn't have fragmentId.
2016-05-14 02:26:24 -04:00
Tony Garnock-Jones
16365e7e95
Table example
2016-05-14 02:21:56 -04:00
Tony Garnock-Jones
35f0b75389
UIFragment orderBy, for features and speed
2016-05-14 02:21:43 -04:00
Tony Garnock-Jones
372652c49d
Syndicate.UI.uiAttribute
2016-05-13 20:17:16 -04:00
Tony Garnock-Jones
f64491c0a7
Better use of console.warn and console.error in dataspace.js
2016-05-13 20:17:16 -04:00
Tony Garnock-Jones
628ba87c54
Rewrite JS DemandMatcher to handle important latency-related corner cases.
2016-05-13 20:14:01 -04:00
Tony Garnock-Jones
68cde5be6c
DemandMatcher: overlap not ruled out! Remove it.
2016-05-12 22:18:57 -04:00
Tony Garnock-Jones
b51e7f99d9
LocationHashTracker
2016-05-12 20:11:22 -04:00
Tony Garnock-Jones
6d305e6b00
Hoist .refresh out from .handleEvent; makes assertions depend on state that might have been changed in event handlers properly.
2016-05-12 17:37:14 -04:00
Tony Garnock-Jones
a433a054b8
Syndicate.UI.windowEvent
2016-05-12 15:56:42 -04:00
Tony Garnock-Jones
e0bd8d08c2
Re-register UIFragment event handlers on node replacement
2016-05-12 15:19:37 -04:00
Tony Garnock-Jones
4eb29832df
Correct stupid mistake
2016-05-12 14:52:55 -04:00
Tony Garnock-Jones
fb89954158
Only try to attach events to things that might emit them
2016-05-12 14:46:39 -04:00
Tony Garnock-Jones
7b26b4bf14
Switch to FunctionBody from plain Block, to allow function definitions.
2016-05-12 00:01:09 -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
7b9f5a54e8
Use "message type" in demo-*.js
2016-05-11 21:05:40 -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
6ba9b402ec
Only trigger onStateChange with non-empty patch (?)
2016-05-11 10:59:44 -04:00
Tony Garnock-Jones
0693e88031
Allow "message type ..." as well as "assertion type ...".
2016-05-11 10:59:27 -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
43e94b83b4
Timer driver
2016-05-10 17:04:16 -04:00
Tony Garnock-Jones
b8e076188c
Protect init and done blocks with withCurrentFacet.
2016-05-10 17:02:31 -04:00
Tony Garnock-Jones
00b0ef63eb
SVG example.
2016-05-10 15:33:02 -04:00
Tony Garnock-Jones
1adb8110b6
Support xmlns in dom-driver.
2016-05-10 15:31:47 -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
Tony Garnock-Jones
1dfaf537f5
Add Struct _get method.
2016-05-08 18:57:35 -04:00
Tony Garnock-Jones
5c5da4e569
Avoid using assert/retract directly in IoT alerting
2016-05-08 12:25:28 -04:00
Tony Garnock-Jones
6591091bb6
Drastically simplify IoT TV
2016-05-08 12:20:08 -04:00
Tony Garnock-Jones
a428423ff2
Support when(...) clause in assert in facets.
2016-05-08 12:19:40 -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
6078b81289
IoT example illustration
2016-05-04 14:00:42 -04:00
Tony Garnock-Jones
21a53ba948
IoT example
2016-05-02 17:13:25 -04:00
Tony Garnock-Jones
7fcfa9586b
Rename "network" to "dataspace" throughout
2016-04-07 09:42:54 +02:00
Tony Garnock-Jones
71a7bacccd
Fill TEMP_CHECKOUT/dist from working copy
2016-04-06 18:31:24 +02:00