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}`, "construct"
40The product: the cell of `p` and `q`, each compiled against
43### `:cont`, `:+`, "collus", `{$cont p/twig q/twig r/twig}`, "cons-3"
47Expands to: `:cons(p :cons(q r))`.
49### `:conq`, `:^`, "colket", `{$cont p/twig q/twig r/twig s/twig}`, "cons-4"
53Expands to: `:cons(p :cont(q r s))`.
55### `:conp`, `:*`, "coltar", `{$conp p/(list twig)}`, "construct tuple"
59Expands by: `|-(?~(p ~ ?~(t.p i.p [%cons i.p $(p t.p)])))`.
61### `:conl`, `:~`, "colsig", `{$conl p/(list twig)}`, "construct list"
65Expands by: `|-(?~(p [%rock %n ~] [%cons i.p $(p t.p)]))`.
67### `:scon`, `:_`, "colcab", `{$scon p/twig q/twig}`, "construct backward"
71Expands to: `[%cons q p]`.
75### Bracket tuple, `[p q r s]`
80[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