This repository was archived by the owner on Jan 17, 2025. It is now read-only.
Commit 142cf1b
authored
V4 (#55)
- The composition json is now _just_ the AST with no implicit lowering.
- `composer.lower(composition, [combinators])` is now exposed and gives control over the lowering (if desired).
- The `compose` command has two new options: `--lower` and `--version`.
- The combinators are now automatically derived from spec, e.g, `if: { args: [{ _: 'test' }, { _: 'consequent' }, { _: 'alternate', optional: true }], since: '0.4.0' }`.
- The spec for the combinators is now exposed as well (`composer.combinators`).
- The core language has shrunk thanks to `composer.mask` and a more aggressive use of lowering.
- The fsm has fewer states.
- The code is now split into three components: 1 compiler component available client-side and server-side, 2 client-side composer, and 3 server-side conductor.1 parent 600e006 commit 142cf1b
File tree
12 files changed
+820
-613
lines changed- bin
- docs
- samples
- test
12 files changed
+820
-613
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
16 | 21 | | |
17 | 22 | | |
18 | 23 | | |
| |||
26 | 31 | | |
27 | 32 | | |
28 | 33 | | |
| 34 | + | |
29 | 35 | | |
30 | 36 | | |
31 | 37 | | |
| 38 | + | |
32 | 39 | | |
33 | 40 | | |
34 | 41 | | |
35 | 42 | | |
36 | 43 | | |
37 | | - | |
| 44 | + | |
| 45 | + | |
38 | 46 | | |
39 | 47 | | |
40 | 48 | | |
41 | 49 | | |
42 | | - | |
43 | | - | |
44 | | - | |
| 50 | + | |
| 51 | + | |
45 | 52 | | |
46 | 53 | | |
47 | 54 | | |
48 | 55 | | |
49 | | - | |
| 56 | + | |
50 | 57 | | |
51 | | - | |
| 58 | + | |
52 | 59 | | |
0 commit comments