Skip to content

Composer.lower

Latest
Compare
Choose a tag to compare
@tardieu tardieu released this 23 Apr 02:08
· 94 commits to master since this release
  • 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.