5# Cell construction (`:` runes)
7The cell twigs, `$cons` and friends, are simple and regular.
8All `:` twigs expand to `$cons`.
16 {$conq p/twig q/twig r/twig s/twig}
18 {$cont p/twig q/twig r/twig}
24All construction stems expand to one natural stem, `$cons`, the
25pair constructor, named for the Lisp special form.
27Synthetic stems change the last letter to indicate the bulb type:
28`$cont` for triple, `$conq` for quad, `$conp` for tuple, `$conl`
29for list. `$scon` is the reverse.
33The rune prefix is `:`. Suffixes: `-` for pair, `+` for triple,
34`^` for quad, `*` for tuple, `~` for list, `_` for reverse.
36### `:cons`, `:-`, "colhep", `{$cons p/twig q/twig}`,
38*Construct a cell (2-tuple*).
42The product: the cell of `p` and `q`, each compiled against
45### `:cont`, `:+`, "collus", `{$cont p/twig q/twig r/twig}`,
49Expands to: `:cons(p :cons(q r))`.
51### `:conq`, `:^`, "colket", `{$cont p/twig q/twig r/twig s/twig}`,
55Expands to: `:cons(p :cont(q r s))`.
57### `:conp`, `:*`, "coltar", `{$conp p/(list twig)}`,
61Expands by: `|-(?~(p ~ ?~(t.p i.p [%cons i.p $(p t.p)])))`.
63### `:conl`, `:~`, "colsig", `{$conl p/(list twig)}`, "construct list"
67Expands by: `|-(?~(p [%rock %n ~] [%cons i.p $(p t.p)]))`.
69### `:scon`, `:_`, "colcab", `{$scon p/twig q/twig}`, "construct backward"
73Expands to: `[%cons q p]`.
77### Bracket tuple, `[p q r s]`
82[p q r s] :conp(p q r s)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list