Commit Graph

37 Commits

Author SHA1 Message Date
Tony Garnock-Jones 06224b52a8 Repair syndicate/js just like commit 1fa5167 repaired syndicate/rkt. 2018-03-27 22:21:14 +13: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 51a28b9349 Fix bug where `this` was referring to the fields of a parent facet, not the facet currently being constructed 2016-12-06 05:53:06 +13:00
Tony Garnock-Jones 138bab9ba6 actor{react{...}} ==> actor{...} for JS 2016-08-25 13:12:32 +01:00
Tony Garnock-Jones 6443e9dadd Only repair damage to subjects on non-terminated facets 2016-08-07 21:58:24 -04:00
Tony Garnock-Jones 183f104ade Optional initialiser in field declaration, to match examples (!) 2016-08-07 17:34:19 -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 4138495ae1 Fix mistake in invoking translateNonTerminalCode 2016-08-01 16:45:32 -04:00
Tony Garnock-Jones 9644aa3ad1 Fixes to code-generation in Syndicate/js compiler.
1. Repair .buildSubscription(mode) so it doesn't delete spaces in
   unchanged ES5 code.
2. Avoid ',' between successive translated clauses in a
   FacetStateTransitionBlock.
2016-07-11 12:02:40 -04:00
Tony Garnock-Jones 03616226e1 Run in-browser translated code in the same context as precompiled code. 2016-06-11 07:01:30 -04:00
Tony Garnock-Jones 0b964bb1bb Compute `retracted` pattern just once during `during`. Avoids mutation-related bug. 2016-06-11 06:59:59 -04:00
Tony Garnock-Jones 02f4f9f89c Allow function declarations 2016-06-05 16:01:24 -04:00
Tony Garnock-Jones 56324db6f6 Oops 2016-06-05 14:52:40 -04:00
Tony Garnock-Jones f8116ee8eb Support var decls in facet blocks 2016-06-05 13:14:48 -04:00
Tony Garnock-Jones d4e4cc6bd6 Improve error reporting by removing Statement rule description; correct typo 2016-05-27 18:45:32 -04:00
Tony Garnock-Jones 02d73f44fa Disambiguate syndicate.ohm properly 2016-05-19 13:12:16 -04:00
Tony Garnock-Jones 4c1d6814d9 Cosmetic 2016-05-18 16:52:06 -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 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 e55e19d5e4 Add "on event ID BLOCK" support 2016-05-14 19:06:00 -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 7b9f5a54e8 Use "message type" in demo-*.js 2016-05-11 21:05:40 -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 efc444ac37 forever => react, state => react, init => do, done => finally, until => react until 2016-05-10 18:49:12 -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 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 7fcfa9586b Rename "network" to "dataspace" throughout 2016-04-07 09:42:54 +02:00
Tony Garnock-Jones 64cbe51578 demo-filesystem.js and attendant fixes 2016-03-20 21:01:17 -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 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