@@ -7,19 +7,11 @@
8# `$% "buscen"`
8# `$% "buscen"`
10−`[%bscn p=(list [[aura @] spec])]`: structure which recognizes a union tagged by head atom.
10+`[%bscn p=(list spec)]`: structure which recognizes a union tagged by head atom.
14−For any item `i` in `p`, a cell whose head is the atom `q.p.i.p`,
15−and whose tail recognizes `q.i.p`.
19## Defaults to
12## Defaults to
21−For the first item `i` in `p`, the cell `[q.p.i.p $:q.i.p]`.
22−Crashes if `p` is empty.
14+The default of the last item `i` in `p`. Crashes if `p` is empty.
@@ -27,7 +19,7 @@ Regular form: *2-running*.
28## Discussion
20## Discussion
30−A `$%` ("buscen") is a tagged union, an extremely common data model.
22+A `$%` is a tagged union, a common data model.
32Make sure the first item in your `$%` terminates, or the default will
24Make sure the first item in your `$%` terminates, or the default will
33be an infinite loop!
25be an infinite loop!
@@ -35,10 +27,10 @@ be an infinite loop!
35## Examples
27## Examples
38−~zod:dojo> =foo $%([%foo p=@ud q=@ud] [%bar p=@ud])
30+~zod:dojo> =foo $%([%foo p=@ud q=@ud] [%baz p=@ud])
40−~zod:dojo> (foo [%bar 37])
32+~zod:dojo> (foo [%baz 37])
41−[%bar p=37]
33+[%baz p=37]
43~zod:dojo> $:foo
35~zod:dojo> $:foo
44[%foo p=0 q=0]~
36[%foo p=0 q=0]~