Runes

Runes are a way to form expressions in Hoon.

Non-Rune Expressions

Constants

Hoon uses runes to form expressions, but not all expressions have runes in them. First, we have constant expressions (and also expressions that would be constant, but that they allow for interpolations).

Limbs and Wings

Limb and wing expressions also lack runes.

Runes Proper

. dot (Nock)

Runes used for carrying out Nock operations in Hoon.

! zap (wild)

Wildcard category. Expressions that don't fit anywhere else go here.

= tis (Subject Modification)

Runes used to modify the subject.

? wut (Conditionals)

Runes used for branching on conditionals.

| bar (Cores)

Runes used to produce cores.

+ lus (Arms)

Runes used to define arms in a core.

: col (Cells)

Runes used to produce cells, which are pairs of nouns.

% cen (Calls)

Runes used for making function calls in Hoon.

^ ket (Casts)

Runes that let us adjust types without violating type constraints.

$ buc (Structures)

Runes used for defining custom types.

; mic (Make)

Miscellaneous useful macros.

~ sig (Hints)

Runes that use Nock 11 to pass non-semantic info to the interpreter.

--, == (Terminators)

Runes used to terminate expressions.