Commit Graph

269 Commits

Author SHA1 Message Date
Tony Garnock-Jones 08197626a6 Simplify. Why didn't I do it like this before? 2022-01-08 13:38:10 +01:00
Tony Garnock-Jones 3823d3172c Publish
- @syndicate-lang/core@0.10.5
 - @syndicate-lang/html@0.10.6
 - @syndicate-lang/syndicatec@0.10.6
 - @syndicate-lang/timer@0.10.6
 - @syndicate-lang/ts-plugin@0.10.6
 - @syndicate-lang/tsc@0.10.6
 - @syndicate-lang/ws-relay@0.10.2
2021-12-24 20:58:04 -05:00
Tony Garnock-Jones ed8adae3f2 Experiment: run facet teardown in the current turn, immediately, instead of delayed 2021-12-24 17:29:26 -05:00
Tony Garnock-Jones a11b755528 Publish
- @syndicate-lang/core@0.10.4
 - @syndicate-lang/html@0.10.5
 - @syndicate-lang/syndicatec@0.10.5
 - @syndicate-lang/timer@0.10.5
 - @syndicate-lang/ts-plugin@0.10.5
 - @syndicate-lang/tsc@0.10.5
 - @syndicate-lang/ws-relay@0.10.1
2021-12-13 20:23:10 +01:00
Tony Garnock-Jones 90a6e2f41a Adapt to syndicate-protocols changes 2021-12-13 20:20:31 +01:00
Tony Garnock-Jones d737b96465 Merge latest changes from the syndicate-protocols repository 2021-12-13 16:00:35 +01:00
Tony Garnock-Jones a3de480748 Publish
- @syndicate-lang/compiler@0.10.3
 - @syndicate-lang/core@0.10.3
 - @syndicate-lang/html@0.10.4
 - @syndicate-lang/syndicatec@0.10.4
 - @syndicate-lang/timer@0.10.4
 - @syndicate-lang/ts-plugin@0.10.4
 - @syndicate-lang/tsc@0.10.4
 - @syndicate-lang/ws-relay@0.10.0
2021-12-13 13:40:42 +01:00
Tony Garnock-Jones 85f123c777 New preserves-schema-ts invocation style 2021-12-13 13:38:46 +01:00
Tony Garnock-Jones 49283cb4ca Fix repository URLs. 2021-12-13 13:38:28 +01:00
Tony Garnock-Jones 4d42968cd6 Repair an error and a couple of infelicities in quasivalue.ts 2021-12-13 12:20:51 +01:00
Tony Garnock-Jones fca27dda30 Publish
- @syndicate-lang/core@0.10.2
 - @syndicate-lang/html@0.10.3
 - @syndicate-lang/syndicatec@0.10.3
 - @syndicate-lang/timer@0.10.3
 - @syndicate-lang/ts-plugin@0.10.3
 - @syndicate-lang/tsc@0.10.3
2021-12-13 00:00:24 +01:00
Tony Garnock-Jones 11fc55ee7d Use newer preserves versions 2021-12-12 23:58:06 +01:00
Tony Garnock-Jones f24dfb53d5 No need to spawn a relay 2021-12-12 23:54:35 +01:00
Tony Garnock-Jones a9a3a8a66d Bring quasipattern syntax into line with constructor syntax for unary records 2021-12-12 23:54:22 +01:00
Tony Garnock-Jones 2940b80563 Supervision 2021-12-12 23:03:22 +01:00
Tony Garnock-Jones 04bbcd25ab Turn.after 2021-12-12 23:02:58 +01:00
Tony Garnock-Jones 33ac308564 Allow access to new Actor handle on spawn (is this safe?) 2021-12-12 23:02:51 +01:00
Tony Garnock-Jones 951598b7d0 Commit to having onStop shutdownActions run in parent facet context 2021-12-12 23:02:25 +01:00
Tony Garnock-Jones 364c97f357 Repair error in halfLink accounting during facet termination 2021-12-12 23:01:53 +01:00
Tony Garnock-Jones 414b971cee Publish
- @syndicate-lang/compiler@0.10.2
 - @syndicate-lang/core@0.10.1
 - @syndicate-lang/html@0.10.2
 - @syndicate-lang/syndicatec@0.10.2
 - @syndicate-lang/timer@0.10.2
 - @syndicate-lang/ts-plugin@0.10.2
 - @syndicate-lang/tsc@0.10.2
2021-12-11 19:42:50 +01:00
Tony Garnock-Jones a0dc76e4e2 Fix copyright headers 2021-12-11 17:23:48 +01:00
Tony Garnock-Jones 89d340cfc8 Publish
- @syndicate-lang/compiler@0.10.0
 - @syndicate-lang/core@0.10.0
 - @syndicate-lang/html@0.10.0
 - @syndicate-lang/syndicatec@0.10.0
 - @syndicate-lang/timer@0.10.0
 - @syndicate-lang/ts-plugin@0.10.0
 - @syndicate-lang/tsc@0.10.0
2021-12-11 17:03:07 +01:00
Tony Garnock-Jones c9272ddcc9 Repair typo 2021-12-11 16:49:24 +01:00
Tony Garnock-Jones 8888ac3fe9 Dataflow blocks should contribute to facet liveness I guess, since they aren't removable 2021-12-11 15:43:56 +01:00
Tony Garnock-Jones f540b41d73 Optional tracing/dumping for Dataspace 2021-12-11 15:43:32 +01:00
Tony Garnock-Jones 97cfb19852 Move stop continuation *before* a stopping facet's assertions are retracted.
This is a kind of ad-hocish response to an interesting problem. In
previous Syndicates, assertion changes were gathered into *patches*
which *netted out* intra-turn changes. In this implementation, each
change is relayed unchanged, so there is *no netting* going on. The
closest we get is a convention that when things are being replaced,
incoming assertions should be made before outgoing ones are retracted,
so that the kind of glitch that's seen is a double-up of records,
rather than a brief window where no records are present.

So here, by moving the stop continuation into an onStop for the
stopping facet (that nonetheless *executes* in that facet's parent's
context), we allow the following pattern to run without problem
glitching:

    react {
      assert Something(1);
      stop on asserted Condition() => react {
        assert Something(2);
      }
    }

Observers like this...

    during Something(_) => { // **A**
      ...
      during Something($specific) => { // **B**
      }
    }

will see

    + Something(1)
    + Something(2)
    - Something(1)

rather than what they saw before this change,

    + Something(1)
    - Something(1)
    + Something(2)

The consequence is that the line marked **A** above will *remain
active* after this change, with the facet at **B** being replaced,
rather than briefly tearing down the **A** facet when `- Something(1)`
and then creating a fresh one when `+ Something(2)`.

This came up in flappy bird, where I had

    react {
        at mainDs {
            assert ui.html('#board-area', template`<h1 class="score">${score.value}</h1>`);
        }
        at gameDs {
            stop on asserted GameOver() => react {
                at mainDs {
                    assert ui.html(
                        '#board-area',
                        template`<h1 class="score">${score.value}<br/>GAME OVER</h1>`);
                }
            }
        }
    }

which, in combination with the particular implementation of index.ts
in the html package, caused the UIFragment responder to get confused
and to not show the GAME OVER message - the previous score message was
removed, but the new one wasn't manifested in the DOM. Changing the
last `ui.html` above to `ui.context('foo').html` caused the problem to
go away (by making it effectively two unrelated fragments, rather than
a replacement of the content of a single fragment).
2021-12-11 14:04:31 +01:00
Tony Garnock-Jones df7f1c3dd7 Publish
- @syndicate-lang/compiler@0.9.1
 - @syndicate-lang/core@0.9.1
 - @syndicate-lang/html@0.9.1
 - @syndicate-lang/syndicatec@0.9.1
 - @syndicate-lang/timer@0.9.1
 - @syndicate-lang/ts-plugin@0.9.1
 - @syndicate-lang/tsc@0.9.1
2021-12-10 14:03:11 +01:00
Tony Garnock-Jones 1a365f42be Put licences in the place that lerna expects them (?) 2021-12-10 14:02:58 +01:00
Tony Garnock-Jones 3f0bfadc2b Publish
- @syndicate-lang/compiler@0.9.0
 - @syndicate-lang/core@0.9.0
 - @syndicate-lang/html@0.9.0
 - @syndicate-lang/syndicatec@0.9.0
 - @syndicate-lang/timer@0.9.0
 - @syndicate-lang/ts-plugin@0.9.0
 - @syndicate-lang/tsc@0.9.0
2021-12-10 13:35:30 +01:00
Tony Garnock-Jones 32f7a8f5c0 Absent named parameters in quasipatterns are treated as implicit discards 2021-12-09 22:13:05 +01:00
Tony Garnock-Jones e0d76f8dd3 Dataspace.boot 2021-12-09 22:12:41 +01:00
Tony Garnock-Jones 6d7dbaf3b3 Bump to get encoder bugfix 2021-12-09 22:12:14 +01:00
Tony Garnock-Jones 1c1decdb7d Repair type error for dataflow assertions 2021-12-09 22:12:02 +01:00
Tony Garnock-Jones dd4af85296 Allow ancillary data as a side-channel for intra-image value passing 2021-12-09 22:11:46 +01:00
Tony Garnock-Jones 4ec02591c0 Initial QuasiValue support 2021-12-09 18:53:41 +01:00
Tony Garnock-Jones a1c8203b5d Use ES2019 dialect in TypeScript (for Symbol.description) 2021-12-09 18:53:17 +01:00
Tony Garnock-Jones fdf765557e Repair serious error in skeleton indexing (double pop) 2021-12-09 18:52:58 +01:00
Tony Garnock-Jones 58daa8c981 Drop discards in smart pattern constructors 2021-12-09 18:52:42 +01:00
Tony Garnock-Jones 20b83aa5a5 Support stopping a root facet, such as happens when a link between actors is broken 2021-12-09 18:52:22 +01:00
Tony Garnock-Jones 5455392efc Repair typo 2021-12-09 18:51:57 +01:00
Tony Garnock-Jones b5e82cba9b Better Ref printing 2021-12-09 18:51:41 +01:00
Tony Garnock-Jones ffee492fec Debug-dumping of skeleton structure 2021-12-09 18:50:46 +01:00
Tony Garnock-Jones c9da4fcf26 Stack utilities 2021-12-09 18:47:43 +01:00
Tony Garnock-Jones e17fd13442 Bump preserves version 2021-12-09 18:41:42 +01:00
Tony Garnock-Jones fb420855e9 Use a global variable instead of threading thisTurn through everywhere. Should improve ergonomics a little. 2021-12-03 01:46:41 +01:00
Tony Garnock-Jones dd14c8471d Update compiler 2021-12-03 00:55:42 +01:00
Tony Garnock-Jones f9d1e694e0 Examples and bug-fixes 2021-12-02 16:04:07 +01:00
Tony Garnock-Jones d51af436f5 Much progress 2021-12-02 14:40:24 +01:00
Tony Garnock-Jones d2f5c947ac Bulk copyright notice repair 2021-12-01 17:24:29 +01:00
Tony Garnock-Jones 1563398dd8 More WIP novy 2021-12-01 17:13:00 +01:00
Tony Garnock-Jones d9bd57d643 Add 'packages/core/protocols/' from commit 'b42230b96a6f8665fdd8e56a52a5e76072a6d182'
git-subtree-dir: packages/core/protocols
git-subtree-mainline: c6fff70bae
git-subtree-split: b42230b96a
2021-12-01 16:27:11 +01:00
Tony Garnock-Jones c6fff70bae WIP moving to novy 2021-12-01 16:27:06 +01:00
Tony Garnock-Jones 25698ce4b0 Publish
- @syndicate-lang/compiler@0.2.0
 - @syndicate-lang/core@0.6.0
 - @syndicate-lang/html@0.1.0
 - @syndicate-lang/syndicatec@0.2.0
 - @syndicate-lang/timer@0.1.0
 - @syndicate-lang/ts-plugin@0.2.0
 - @syndicate-lang/tsc@0.2.0
2021-05-17 16:32:39 +02:00
Tony Garnock-Jones dc5c97b027 Major update to @preserves/core from old preserves package. 2021-05-17 16:26:01 +02:00
Tony Garnock-Jones 6bec672087 Switch to yarn workspaces 2021-04-26 15:13:30 +02:00
Tony Garnock-Jones ccd87c09f1 Adapt to latest Preserves changes 2021-03-03 10:28:10 +01:00
Tony Garnock-Jones dd281366c4 Bump preserves 2021-03-02 22:58:31 +01:00
Tony Garnock-Jones 608bdde8c8 New Preserves float interface 2021-02-17 15:36:43 +01:00
Tony Garnock-Jones 63a2146f87 Fix handling of template string substitutions in scanner/reader; timer driver; flappy bird demo; associated repairs 2021-01-29 19:56:12 +01:00
Tony Garnock-Jones 9e80ba45b8 Bump preserves version 2021-01-29 15:37:40 +01:00
Tony Garnock-Jones 5d2e776ecf Repair error caused by mutation of a set mid-iteration 2021-01-29 15:37:27 +01:00
Tony Garnock-Jones 82e9457359 More fixes 2021-01-26 22:09:21 +01:00
Tony Garnock-Jones 690ac12cc0 Many fixes to compiler; watchable syndicate-tsc 2021-01-25 22:16:52 +01:00
Tony Garnock-Jones 9e322c4cfb Refactor rollup configuration 2021-01-25 22:15:02 +01:00
Tony Garnock-Jones 7332096828 Watchable builds 2021-01-25 22:14:15 +01:00
Tony Garnock-Jones 49a036376a Publish
- @syndicate-lang/compiler@0.1.0
 - @syndicate-lang/core@0.5.0
 - @syndicate-lang/syndicatec@0.1.0
 - @syndicate-lang/ts-plugin@0.1.0
 - @syndicate-lang/tsc@0.1.0
2021-01-23 23:55:47 +01:00
Tony Garnock-Jones 97aaa5ef5d Better field typing 2021-01-19 21:05:04 +01:00
Tony Garnock-Jones a374cbfdf9 WIP adding typescript support to compiler; cleanups and fixes 2021-01-19 19:54:48 +01:00
Tony Garnock-Jones 7be246a400 Module activation; batch compilation 2021-01-19 15:13:42 +01:00
Tony Garnock-Jones 8c2729e3d8 Tweaks for in-browser use 2021-01-18 23:36:22 +01:00
Tony Garnock-Jones 606daa625b Refactor, improve, and repair 2021-01-18 23:11:53 +01:00
Tony Garnock-Jones eaeb4b7df8 Use source position within templates, now that StringScanner is fixed 2021-01-18 15:32:51 +01:00
Tony Garnock-Jones a0712af032 Remove unused imports/variables 2021-01-18 15:32:38 +01:00
Tony Garnock-Jones f46276cf05 Repair indexing calculation in StringScanner to support nontrivial use of source positions 2021-01-18 15:32:21 +01:00
Tony Garnock-Jones 2ff3067fad Reusable compiler 2021-01-17 22:27:04 +01:00
Tony Garnock-Jones 6408493ea3 Better packaging 2021-01-17 14:14:02 +01:00
Tony Garnock-Jones fc23d1b779 First run of new compiler output! 2021-01-16 17:46:18 +01:00
Tony Garnock-Jones ed12c1c69c Improved field declaration parsing 2021-01-15 14:22:44 +01:00
Tony Garnock-Jones 71cde3daba Follow preserves changes for strict mode 2021-01-15 14:11:12 +01:00
Tony Garnock-Jones 0f6059cd59 Strict tsconfig; more major steps toward ocap style 2021-01-15 13:38:15 +01:00
Tony Garnock-Jones 595a13dfd6 Approach new syntax 2021-01-14 15:27:43 +01:00
Tony Garnock-Jones b60551a52b Major step toward eliminating ambient authority 2021-01-14 14:42:30 +01:00
Tony Garnock-Jones c5efff9a0f Limit pass count 2021-01-14 13:15:23 +01:00
Tony Garnock-Jones 2105886c5e WIP lax parser, matcher, rewriter and compiler 2021-01-14 13:09:53 +01:00
Tony Garnock-Jones bed03edcd3 Comment out debug printing 2021-01-12 14:34:45 +01:00
Tony Garnock-Jones 5a412a5d9b Repair silly mistake: republish on *change*, not on *same*! 2021-01-12 14:34:33 +01:00
Tony Garnock-Jones 1501a719e4 Use differently-named Preserves canonicalString function 2021-01-12 14:34:06 +01:00
Tony Garnock-Jones 58e190e419 Initial port to typescript/es6/babel-free. Far from working or complete 2021-01-11 23:35:36 +01:00
Tony Garnock-Jones e41bf3d042 Publish
- @syndicate-lang/core@0.4.1
 - @syndicate-lang/driver-browser-ui@0.4.1
 - @syndicate-lang/driver-http-node@0.4.1
 - @syndicate-lang/driver-mdns@0.4.1
 - @syndicate-lang/driver-streams-node@0.4.1
 - @syndicate-lang/driver-timer@0.4.1
 - @syndicate-lang/driver-udp-node@0.4.1
 - @syndicate-lang/driver-websocket@0.4.1
 - @syndicate-lang/flappy-bird-demo@0.4.1
 - @syndicate-lang/server@0.4.1
 - @syndicate-lang/socks@0.2.1
 - @syndicate-lang/syntax-playground@0.4.1
 - @syndicate-lang/syntax-server@0.4.1
2020-08-05 13:05:51 +02:00
Tony Garnock-Jones 212a92605e Flesh out util_stub a little more 2020-08-05 13:05:35 +02:00
Tony Garnock-Jones 2fcd2806ab Publish
- @syndicate-lang/core@0.4.0
 - @syndicate-lang/driver-browser-ui@0.4.0
 - @syndicate-lang/driver-http-node@0.4.0
 - @syndicate-lang/driver-mdns@0.4.0
 - @syndicate-lang/driver-streams-node@0.4.0
 - @syndicate-lang/driver-timer@0.4.0
 - @syndicate-lang/driver-udp-node@0.4.0
 - @syndicate-lang/driver-websocket@0.4.0
 - @syndicate-lang/flappy-bird-demo@0.4.0
 - @syndicate-lang/server@0.4.0
 - @syndicate-lang/socks@0.2.0
 - @syndicate-lang/syntax-playground@0.4.0
 - @syndicate-lang/syntax-server@0.4.0
2020-08-05 12:52:35 +02:00
Tony Garnock-Jones 7a6d3b460a Bump preserves version 2020-08-05 12:52:13 +02:00
Tony Garnock-Jones ecce5a31d6 Publish
- @syndicate-lang/core@0.3.2
 - @syndicate-lang/driver-browser-ui@0.3.2
 - @syndicate-lang/driver-http-node@0.3.2
 - @syndicate-lang/driver-mdns@0.3.2
 - @syndicate-lang/driver-streams-node@0.3.2
 - @syndicate-lang/driver-timer@0.3.2
 - @syndicate-lang/driver-udp-node@0.3.2
 - @syndicate-lang/driver-websocket@0.3.2
 - @syndicate-lang/flappy-bird-demo@0.3.2
 - @syndicate-lang/server@0.3.2
 - @syndicate-lang/socks@0.1.2
 - @syndicate-lang/syntax-playground@0.3.2
 - @syndicate-lang/syntax-server@0.3.2
 - @syndicate-lang/syntax@0.1.3
2020-08-05 12:46:28 +02:00
Tony Garnock-Jones fa2c184545 Webpack -> Rollup 2020-08-05 12:36:53 +02:00
Tony Garnock-Jones d88f18967a Publish
- @syndicate-lang/core@0.3.1
 - @syndicate-lang/driver-browser-ui@0.3.1
 - @syndicate-lang/driver-http-node@0.3.1
 - @syndicate-lang/driver-mdns@0.3.1
 - @syndicate-lang/driver-streams-node@0.3.1
 - @syndicate-lang/driver-timer@0.3.1
 - @syndicate-lang/driver-udp-node@0.3.1
 - @syndicate-lang/driver-websocket@0.3.1
 - @syndicate-lang/flappy-bird-demo@0.3.1
 - @syndicate-lang/server@0.3.1
 - @syndicate-lang/socks@0.1.1
 - @syndicate-lang/syntax-playground@0.3.1
 - @syndicate-lang/syntax-server@0.3.1
 - @syndicate-lang/syntax@0.1.2
2020-06-10 12:51:10 +02:00
Tony Garnock-Jones 6a3fbda599 Switch to bootstrapless lerna setup via lerna link convert 2020-06-10 12:42:44 +02:00
Tony Garnock-Jones 2f948067a7 Pass Ground VM to stopHandlers 2019-10-24 19:27:41 +01:00
Tony Garnock-Jones f0f99f3def Publish
- @syndicate-lang/core@0.3.0
 - @syndicate-lang/driver-browser-ui@0.3.0
 - @syndicate-lang/driver-http-node@0.3.0
 - @syndicate-lang/driver-mdns@0.3.0
 - @syndicate-lang/driver-streams-node@0.3.0
 - @syndicate-lang/driver-timer@0.3.0
 - @syndicate-lang/driver-udp-node@0.3.0
 - @syndicate-lang/driver-websocket@0.3.0
 - @syndicate-lang/flappy-bird-demo@0.3.0
 - @syndicate-lang/server@0.3.0
 - @syndicate-lang/socks@0.1.0
 - @syndicate-lang/syntax-playground@0.3.0
 - @syndicate-lang/syntax-server@0.3.0
2019-09-11 15:11:48 +01:00
Tony Garnock-Jones c89739612a Bump preserves version 2019-09-11 14:41:34 +01:00
Tony Garnock-Jones 9b2767d3f5 Publish
- @syndicate-lang/core@0.2.10
 - @syndicate-lang/driver-browser-ui@0.2.12
 - @syndicate-lang/driver-http-node@0.2.12
 - @syndicate-lang/driver-mdns@0.2.11
 - @syndicate-lang/driver-streams-node@0.2.11
 - @syndicate-lang/driver-timer@0.2.11
 - @syndicate-lang/driver-udp-node@0.2.11
 - @syndicate-lang/driver-websocket@0.2.13
 - @syndicate-lang/flappy-bird-demo@0.2.12
 - @syndicate-lang/server@0.2.16
 - @syndicate-lang/socks@0.0.18
 - @syndicate-lang/syntax-playground@0.2.17
 - @syndicate-lang/syntax-server@0.2.13
2019-08-31 22:48:50 +01:00