Tony Garnock-Jones
7f930311ce
dataflow.js
2016-07-27 06:51:30 -04:00
Tony Garnock-Jones
31ee4cb2cd
Broadcast message delivery in Syndicate/js
2016-06-27 14:59:53 -04:00
Tony Garnock-Jones
dd28b667e8
Special-case "." selector in uiEvents.
2016-06-05 15:53:28 -04:00
Tony Garnock-Jones
736c93ea94
Fix typo
2016-06-05 13:14:54 -04:00
Tony Garnock-Jones
4aabe422fe
Alter prettyTrie to allow customised rendering of success-values
2016-05-19 13:13:28 -04:00
Tony Garnock-Jones
e806e91baa
Name DemandMatcher and UI actors
2016-05-19 13:13:07 -04:00
Tony Garnock-Jones
fba4aaa6b4
Support debug names for actors (any JSON term)
2016-05-18 16:51:51 -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
9312a28226
Only fire asserted/retracted when first/last interest (dis)/appears; same intent as yesterday's commit b1f7816
2016-05-17 20:04:37 -04:00
Tony Garnock-Jones
8256b56607
Generalize matchValue to permit wildcard messages (not yet used)
2016-05-17 18:16:20 -04:00
Tony Garnock-Jones
1f33039e28
Make matchValue's failureResult non-optional
2016-05-17 17:44:14 -04:00
Tony Garnock-Jones
1aead77a72
Do facet terminate() phase before handleEvent() phase
2016-05-15 16:16:36 -04:00
Tony Garnock-Jones
61ca89ce04
Post-insertion configureNode()
2016-05-15 14:58:28 -04:00
Tony Garnock-Jones
152a76af5e
uiProperty
2016-05-15 14:58:13 -04:00
Tony Garnock-Jones
b92c439f07
Introduce selectorMatch and eventUpdater
2016-05-15 14:57:56 -04:00
Tony Garnock-Jones
6a204a9085
Process many internal cycles per wakeup; avoid reentrancy
2016-05-15 14:56:19 -04:00
Tony Garnock-Jones
51d9d4b64e
Track Actors' knowledge to properly initialize new facets
2016-05-15 14:55:48 -04:00
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
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
879e2425b9
Make Anchor.prototype.context n-ary
2016-05-11 22:13:35 -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
6ba9b402ec
Only trigger onStateChange with non-empty patch (?)
2016-05-11 10:59:44 -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
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
1adb8110b6
Support xmlns in dom-driver.
2016-05-10 15:31:47 -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
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