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
Tony Garnock-Jones
d149ec57ea
Intro text on examples page.
2016-04-06 18:27:46 +02:00
Tony Garnock-Jones
a85a941d91
Include third-party
2016-04-06 18:27:38 +02:00
Tony Garnock-Jones
7fb0c33660
Describe DOM example.
2016-04-06 18:21:57 +02:00
Tony Garnock-Jones
8e0906d918
Deployment of examples; example descriptions.
2016-04-06 15:29:27 +02:00
Tony Garnock-Jones
0d2e89e309
Include expanded code
2016-03-22 12:14:30 -04:00
Tony Garnock-Jones
e7c7a7cdfa
Button example
2016-03-22 12:11:56 -04: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
64cbe51578
demo-filesystem.js and attendant fixes
2016-03-20 21:01:17 -04:00
Tony Garnock-Jones
761f5652af
Two simple in-browser examples
2016-03-19 15:06:23 -04:00
Tony Garnock-Jones
a8b7de0d64
Support gaining access to the ground object
2016-03-19 15:06:07 -04:00
Tony Garnock-Jones
b9aa833186
Prefer parens around risingEdge transition condition
2016-03-19 14:50:08 -04:00
Tony Garnock-Jones
ce0b30dba6
Fix code generation problem
2016-03-19 14:49:54 -04:00
Tony Garnock-Jones
45d1de7358
Get in-browser compilation working using brfs
2016-03-19 14:49:44 -04:00
Tony Garnock-Jones
e4ae3b1f95
Check for termination of an actor after each event and after boot.
2016-03-19 14:47:39 -04:00
Tony Garnock-Jones
d87118f686
Support risingEdge transition events
2016-03-19 13:48:49 -04:00
Tony Garnock-Jones
e7de06c2d2
Remove spurious braces.
2016-03-19 13:01:23 -04:00
Tony Garnock-Jones
3b5a07f954
Split out compiler to separate syndicatec command
2016-03-19 13:01:14 -04:00
Tony Garnock-Jones
adaf9511bf
Init and done blocks.
2016-03-18 17:13:52 -04:00
Tony Garnock-Jones
3c124633b3
Terminate actors when they have no more facets left.
2016-03-18 17:08:49 -04:00
Tony Garnock-Jones
dea733911d
Load crypto functionality on node.js.
2016-03-18 17:01:00 -04:00
Tony Garnock-Jones
3785cebdf2
Syndicate/js HLL Ohm-based compiler.
2016-03-18 17:00:51 -04:00
Tony Garnock-Jones
fbbad85b04
Put matchPattern back: actor.js will need it.
2016-03-18 15:02:44 -04:00
Tony Garnock-Jones
dc35e7c1bd
Cosmetic (reindentation)
2016-03-18 12:32:37 -04:00
Tony Garnock-Jones
21fd0f574a
makeStructureConstructor
2016-03-18 12:32:09 -04:00
Tony Garnock-Jones
935fb98a1f
Echo-cancel assertions, following syndicate/racket.
2016-02-11 23:56:42 -05:00
Tony Garnock-Jones
e9b431c50f
triePruneBranch; preparation for echo-cancellation of SCNs
2016-02-11 22:51:26 -05:00
Tony Garnock-Jones
d29fb17ad6
Update README.
2016-02-07 14:46:42 -05:00
Tony Garnock-Jones
4f94c8702e
Rename syndicate.js to network.js
2016-02-07 14:39:09 -05:00
Tony Garnock-Jones
0e7a6375e9
Escape text, and make spaces display properly.
2016-02-07 14:25:52 -05:00
Tony Garnock-Jones
49d11b1a73
Fix two major subtraction-related bugs in Route union and intersect.
...
Moved a bunch of lookup logic into rlookupWild, which let me delete a
lot of special-purpose and flawed code. It is clearly heading toward
being properly-refactored, like the Racket implementation (and the
ESOP2016 paper's presentation) is. The performance problems may
interrupt this gradual evolution before it is complete, though:
hopefully I will be able to move to an explicitly memory-managed
scheme soon.
2016-02-07 14:18:57 -05:00
Tony Garnock-Jones
df0ff273b1
Mostly-working textfield example.
2016-02-06 22:05:25 -05:00
Tony Garnock-Jones
8c3aeec6ad
Failing test
2016-02-06 22:05:07 -05:00
Tony Garnock-Jones
e02755c701
Improve patch pretty-printing
2016-02-06 21:56:47 -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
Tony Garnock-Jones
a0670ec3a3
Simple Seal class
2016-02-06 07:42:16 -05:00
Tony Garnock-Jones
85c43510a8
Remove out-of-date comments
2016-02-06 07:41:59 -05:00
Tony Garnock-Jones
5e0757b65f
Support optional metaLevel argument to Network.send
2016-02-06 07:41:47 -05:00
Tony Garnock-Jones
f12f24b133
Support Immutable.List in patterns
2016-02-06 07:41:31 -05:00
Tony Garnock-Jones
4cdd595301
Guard against accidentally trying to build a patch matching a patch.
2016-02-06 07:41:11 -05:00
Tony Garnock-Jones
f06d951dcb
Support Network onStateChange callback.
2016-02-06 07:40:46 -05:00
Tony Garnock-Jones
d00d205314
Take metaLevel into account compiling DemandMatcher projections.
2016-02-06 07:39:58 -05:00
Tony Garnock-Jones
9d7dd37a37
demand-matcher.js, jquery-driver.js
2016-02-06 06:22:49 -05:00
Tony Garnock-Jones
8c55ada827
Fix typo in ground.js
2016-02-06 06:22:13 -05:00
Tony Garnock-Jones
9a8e7b4856
Split out captureToObject
2016-02-06 05:50:47 -05:00
Tony Garnock-Jones
674870b9ba
Remove superfluous require.
2016-02-06 05:47:34 -05:00
Tony Garnock-Jones
7d1a0c58c2
Use immutable sets/lists for projection results
2016-02-06 05:47:14 -05:00
Tony Garnock-Jones
bfd8203a7a
use strict
2016-02-02 21:11:50 -05:00
Tony Garnock-Jones
9f69cffbe7
Ground network; minor refactorings and bugfixes; smoketest example
2016-02-02 21:02:55 -05:00
Tony Garnock-Jones
e0f76b991a
First pass at Network implementation
2016-02-02 18:22:29 -05:00
Tony Garnock-Jones
f22e228cc0
New tests and bug fixes for patch and mux
2016-02-02 15:52:48 -05:00
Tony Garnock-Jones
d1b3ffdf81
Document optionality of removeMeta
2016-02-02 14:36:47 -05:00
Tony Garnock-Jones
4d87f071da
Mux; beginnings of tests for it
2016-02-02 14:36:31 -05:00
Tony Garnock-Jones
6b9c7fee67
Remove unused function from test script
2016-02-02 14:35:43 -05:00
Tony Garnock-Jones
bf94a2cd1c
Support leftShort in Route.matchTrie
2016-02-02 14:35:33 -05:00
Tony Garnock-Jones
95cb196c49
Fix bug in Route.subtract
2016-02-02 14:35:08 -05:00
Tony Garnock-Jones
a0f1d61635
Start skeleton Network
2016-01-31 17:48:00 -05:00
Tony Garnock-Jones
579b82261c
Patches, more tests, fixes
2016-01-31 16:55:24 -05:00
Tony Garnock-Jones
c2fa26f9ed
New $Special objects for __, SOA, EOA etc.
2016-01-31 10:54:41 -05:00
Tony Garnock-Jones
1107483c86
Initial commit.
2016-01-30 21:58:59 -05:00