Commit Graph

49 Commits

Author SHA1 Message Date
Tony Garnock-Jones ebe7700cee Allow "when (...)" clause on "on" endpoints 2024-04-17 13:26:06 +02:00
Tony Garnock-Jones 2dca2c2d77 Repair span of identifier after `$` 2024-03-23 10:43:42 +01:00
Tony Garnock-Jones 1e29d528d7 Support toplevel typed binders in patterns 2024-03-21 16:04:30 +01:00
Tony Garnock-Jones 73b7759816 Allow statement boundary to include end-of-group, so long as the group is toplevel or braces 2024-03-21 16:04:03 +01:00
Tony Garnock-Jones b4d728ca7a Change `stop` to refer to a lexical facet, not a dynamic facet.
The previous behaviour of `stop` was inappropriate: it always stopped
`Syndicate.Turn.activeFacet`, which is an instance of dynamic binding.

Now, it instead stops the unique lexically-innermost lexically-apparent
facet - the special name `currentSyndicateFacet` - by default. It is an
error if no such facet is lexically apparent (if `currentSyndicateFacet` is
unbound). This makes it similar to `break` and `continue` in structured
programming.

In addition, an expression denoting a facet can now be used with `stop` to
override this default - again, like `break` and `continue` in some
languages.

Finally, `react` can now be preceded by a label, which binds the label as a
variable denoting the newly-created facet (inside the facet's scope).
2024-03-09 23:04:29 +01:00
Tony Garnock-Jones 644891ce76 Compiler test infrastructure 2024-03-09 22:52:09 +01:00
Tony Garnock-Jones c9a52ebe39 New year 2024-02-03 15:59:22 +01:00
Tony Garnock-Jones 46bafa9501 Remove sometimes-inappropriate error recovery on unexpected semicolon. Closes #5 2023-12-31 18:14:14 +01:00
Tony Garnock-Jones 0a8975a2f6 once asserted ..., once message ..., etc 2023-12-21 10:30:23 +13:00
Tony Garnock-Jones 919ee891f6 Ergonomics: admit JS property-name syntax in PDict patterns 2023-12-17 22:12:27 +13:00
Tony Garnock-Jones ed605718e5 Global Dataspace and ActorSpace available 2023-12-01 20:53:18 +01:00
Tony Garnock-Jones 939004264a Add ModuleType `none` 2023-12-01 12:23:35 +01:00
Tony Garnock-Jones 545282be32 Repair nested-binder-patterns 2023-03-06 23:26:15 +01:00
Tony Garnock-Jones 4adcfdd0ab Update copyrights 2023-01-17 11:44:05 +01:00
Tony Garnock-Jones c66168206b Accept literal values able to __as_preserve__ themselves 2022-04-22 13:49:15 +02:00
Tony Garnock-Jones c3dfd42a58 Bump copyright years 2022-01-26 14:38:38 +01:00
Tony Garnock-Jones 5560ce5aa1 Upgrade Preserves, allowing automatic conversion to Preserves values in many cases 2022-01-24 14:13:46 +01:00
Tony Garnock-Jones b4d0559fe2 Avoid stompling on `this` binding 2022-01-24 09:09:10 +01:00
Tony Garnock-Jones faca72d6b3 Take advantage of new static info propagated by schema compiler 2022-01-24 09:08:56 +01:00
Tony Garnock-Jones 09ae5ddb5b Support optional "when" in "during" 2021-12-13 12:21:11 +01:00
Tony Garnock-Jones 936cdbd3c5 Make during...spawn linked actors always exempt from root facet inert check 2021-12-11 19:42:18 +01:00
Tony Garnock-Jones 9c8436af1f Repair silly mistake in codegen 2021-12-11 17:06:50 +01:00
Tony Garnock-Jones 672be25211 Autolink during...spawn 2021-12-11 16:54:47 +01:00
Tony Garnock-Jones 3edb680c19 Improve preprocessor error reporting 2021-12-11 16:49:12 +01:00
Tony Garnock-Jones 50eaec69ef Repair (?) error when searching for the very last position in a file, such as for a missing close parenthesis 2021-12-09 22:11:11 +01:00
Tony Garnock-Jones f81cf11ebd Pattern (quasi)quotation 2021-12-09 18:55:18 +01:00
Tony Garnock-Jones d1c79973c5 Repair code generation error for "stop on (...)" handlers 2021-12-09 18:54:43 +01:00
Tony Garnock-Jones 7b137bea06 At least *propagate* unhandlable-binder-guard errors 2021-12-08 14:29:28 +01:00
Tony Garnock-Jones 78834dfb07 Make "at <target> { ... }" require the braces 2021-12-03 15:29:57 +01:00
Tony Garnock-Jones 3486ec928e Comment 2021-12-03 15:29:20 +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 33948be6b1 Get the JS target basics working 2021-12-03 01:00:47 +01:00
Tony Garnock-Jones dd14c8471d Update compiler 2021-12-03 00:55:42 +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 dc5c97b027 Major update to @preserves/core from old preserves package. 2021-05-17 16:26:01 +02:00
Tony Garnock-Jones ccd87c09f1 Adapt to latest Preserves changes 2021-03-03 10:28:10 +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 a64a8177eb Repair error caused by collecting fields too early in during 2021-01-29 15:36:53 +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 8259c15a7d Fixup log message locations in syndicate-tsc 2021-01-23 18:20:27 +01:00
Tony Garnock-Jones 99a87be883 tsserver plugin 2021-01-23 00:12:11 +01:00
Tony Garnock-Jones 3908f2ff26 Better source tracking through syndicate/ts 2021-01-20 21:56:01 +01:00
Tony Garnock-Jones 5b1b535644 Typescript support 2021-01-20 00:52:40 +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 3465f6b322 Repair use of global module type option 2021-01-18 23:36:05 +01:00
Tony Garnock-Jones 606daa625b Refactor, improve, and repair 2021-01-18 23:11:53 +01:00