Commit Graph

23 Commits

Author SHA1 Message Date
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 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 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 09ae5ddb5b Support optional "when" in "during" 2021-12-13 12:21:11 +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 f81cf11ebd Pattern (quasi)quotation 2021-12-09 18:55:18 +01:00
Tony Garnock-Jones 78834dfb07 Make "at <target> { ... }" require the braces 2021-12-03 15:29:57 +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 d2f5c947ac Bulk copyright notice repair 2021-12-01 17:24:29 +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 5b1b535644 Typescript support 2021-01-20 00:52:40 +01:00
Tony Garnock-Jones 7be246a400 Module activation; batch compilation 2021-01-19 15:13:42 +01:00
Tony Garnock-Jones 606daa625b Refactor, improve, and repair 2021-01-18 23:11:53 +01:00
Renamed from packages/core/src/compiler/grammar.ts (Browse further)