Documentation · Generators

A ::= x = y · A#n Alternatives

= separates alternatives, which makes a rule a generator with one derivation per alternative. A bare reference plays the first; Name#n plays the nth.

  • Alternatives can go on their own lines, starting with =.
  • Asking for a derivation that does not exist is an error.

Two grooves in one rule.

running…edit it and it re-runs as you type

c2 f#2 d2 f#2 c2 c2 d2 f#2

Alternatives on their own lines.

running…edit it and it re-runs as you type

c4 e4 g4 c4 f4 a4 d4 g4 b4 c4 e4 g4

Pinned references inside another rule.

running…edit it and it re-runs as you type

c2 f#2 c2 d2 c2 f#2 c2 d2