Runes are a way to form expressions in Hoon.

Non-Rune Expressions


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.

+ lus (Arms)

Runes (digraphs) used to define arms in a core.

Runes Proper

| bar (Cores)

Runes used to produce cores.

$ buc (Structures)

Runes used for defining custom types.

% cen (Calls)

Runes used for making function calls in Hoon.

: col (Cells)

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

. dot (Nock)

Runes used for carrying out Nock operations in Hoon.

/ fas (Imports)

Ford runes which import files.

^ ket (Casts)

Runes that let us adjust types without violating type constraints.

; mic (Make)

Miscellaneous useful macros.

~ sig (Hints)

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

= tis (Subject Modification)

Runes used to modify the subject.

? wut (Conditionals)

Runes used for branching on conditionals.

! zap (wild)

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

--, == (Terminators)

Runes used to terminate expressions.