on master help sign in
buc arm
e28c9b0syzygyzer
reference/hoon-expressions/rune/bar.md+4−2
@@ -8,7 +8,7 @@ Core expressions produce cores. A core is a cell of `[battery payload]`.
8The `battery` is code, a battery of Nock formulas. The `payload` is the data
8The `battery` is code, a battery of Nock formulas. The `payload` is the data
9needed to run those formulas correctly.
9needed to run those formulas correctly.
10
10
11−Four core runes (`|=`, `|.`, `|-`, and `|*`) produce a
11+Five core runes (`|=`, `|.`, `|-`, `|*`, and `|$`) produce a
12core with a single arm, named `$`. We can recompute this arm
12core with a single arm, named `$`. We can recompute this arm
13with changes, which is useful for recursion among other things.
13with changes, which is useful for recursion among other things.
14
14
@@ -60,7 +60,9 @@ gates that produce structures, while `|*` should be used for any other sort of
60wet gate. Thus, the second argument of `|$` is frequently a buc
60wet gate. Thus, the second argument of `|$` is frequently a buc
61rune. For further discussion of wet gates, see the entry for [`|*`](#bartar).
61rune. For further discussion of wet gates, see the entry for [`|*`](#bartar).
62
62
63−Unlike other single-armed cores, `|$` does not have an arm named `$` that can be recursed upon.
63+Like other single-arm cores, the arm for `|$` is named `$` and this can be used to
64+define recursive structures. Note however that Hoon is evaluated eagerly, and so
65+infinite structures are not permitted.
64
66
65Proper style for `|$` is to enclose the first argument with brackets, even if it
67Proper style for `|$` is to enclose the first argument with brackets, even if it
66is only a single term. The interpeter will accept a single term without brackets
68is only a single term. The interpeter will accept a single term without brackets