4o: Molds

$abel

Original sin: type.

Old type, same as the new $type.

Source

+$  abel  typo

Examples

> *abel
#t/*

$alas

Alias list.

This is the type used in %brcb (|_ door) $hoon type for +* alias arms.

Source

+$  alas  (list (pair term hoon))

$atom

Just an $atom.

This is the same as @.

Source

Examples


$aura

"Type" of an $atom.

By convention, a short name for a category of $atom. $aura is circularly defined, with @ta being the +aura of the ASCII subset commonly used in urbit.

Source

Examples

See also: $base, aura reference


$base

Base type.

A base type that $nouns are built from. A $base is either a $noun, $atom with $aura, a $cell, loobean $flag, null (~), or an empty set.

Source

Examples


$woof

Simple embed.

An $atom or some $hoon.

Source

Examples


$chum

Jet hint information.

Jet hint information that must be present in the body of a ~/ or ~% rune. A $chum can optionally contain a kelvin version, jet vendor, and version number.

Source

Examples


$coil

Tuple of core information.

Variance .p, subject type .q, and .r: optional compiled nock, and arms. Used as an intermediate step during compilation and converted to a core.

Source


$garb

Core metadata.

A triple of an optional name, polarity (wet/dry), and variance (%iron, etc).

Source


$poly

Polarity.

Whether a core is wet or dry.

Source


Cases of arms by variance model.

Source


Lexical segment.

Used for documentation.

Source


$crib

Summary and details.

Summary and details for documentation.

Source


$help

Documentation.

Source


$limb

Wing element.

Reference into subject by tree address or name.

Source

Examples


$null

Null, nil, etc.

Just ~.

Source

Examples


$onyx

Arm activation.

Source


$opal

Wing match.

Arm or leg of a wing.

Source


$pica

Prose or code.

A (pair ? cord). If %.y it's prose and if %.n it's code. Used in documentation.

Source


$palo

Wing trace, match.

A $vein and a $opal.

Source


$plat

%hoon, %type, %nock or %tank.

Source


$pock

Changes.

Source


$port

Successful wing match.

Source


$spec

Structure definition AST.

Source

Examples


$tent

Model builder.

Source


$tiki

Test case.

This is used when compiling ?- expressions and similar.

Source


$skin

Texture.

This type is used for faces and similar by the compiler.

Source


$tome

Core chapter.

This type is used by the compiler for the contents of arms in cores.

Source


$tope

Topographic type.

Describes the structure of a $noun.

Source

Examples


+hoot

Hoon tools.

Container core for internally-used XML structure types. XML structure types you'd typically use directly are defined in section 5e.

Source


$beer:hoot

Simple embed.

Either a tape element or interpolated hoon expression in an XML attribute.

Source


$mane:hoot

XML name+space.

XML tag name and optional namespace.

Source

Examples


$manx:hoot

Dynamic XML node.

An XML element which may contain text, attributes, and other elements.

.g is a $marx:hoot (a tag) and .c is a $marl:hoot (its contents).

Source

Examples


$marl:hoot

Dynamic XML nodes.

A list of XML nodes - maybe with interpolation and recursion. See $tuna:hoot.

Source

Examples


$mart:hoot

Dynamic XML attributes.

A list of atributes for an XML tag. For each list item, .n is a $mane:hoot (an attribute name with optional namespace) and .v is a (list beer:hoot) (the attribute itself, maybe with interpolated hoon).

Source

Examples


$marx:hoot

Dynamic XML tag.

An XML tag with optional attributes. .n is a $mane:hoot (the tag name with optional namespace) and .a is a $mart:hoot (any XML attributes).

Source

Examples


$mare:hoot

Node or nodes.

If %.y, a $manx:hoot (single XML node). If %.n, a $marl:hoot (list of XML nodes).

Source

Examples


$maru:hoot

Interpolation or nodes.

If %.y, a $tuna:hoot. If %.n, a $marl:hoot.

Source


$tuna:hoot

Maybe interpolation.

Kinds of nodes. Either an ordinary $manx:hoot, or else a plain tape, a $marl:hoot, or a function call.

Source


$hoon

Hoon AST.

See the rune section of the Hoon reference for details of what many of these relate to.

Source

Examples


$tyre

List, term hoon.

Associative list of [term hoon], used in jet hint processing.

Source


$tyke

List of 'maybe' hoons.

List of (unit hoon), or gaps left to be inferred, in $path parsing. When you use a path such as /=base=/gen/code the path is in fact a $tyke, where the = are inferred from your current path.

Source


$nock

Virtual nock.

See the Nock documentation for details.

Source

Examples


$note

Type annotation.

Used for documentation.

Source


$type

Hoon type type.

Source

Examples


$tony

$tone done right.

An intermediate Nock computation result. Similar to a $toon but without a rendered stack trace.

Source


$tine

Partial $noun.

Source


$tool

Type decoration.

Source


$tune

Complex.

Source


$typo

Old type.

Same as $type

Source


$vase

Type-value pair.

Typed data. A $vase is used wherever typed data is explicitly worked with.

Source

Examples


$vise

Old vase.

Same as a $vase.

Source


$vial

co/contra/in/bi.

Covariant, contravariant, invariant, bivariant.

Source


$vair

in/contra/bi/co.

Core variance.

  • %gold - invariant payload.

  • %iron - contravariant sample.

  • %lead - bivariant sample.

  • %zinc - covariant sample.

See the Hoon School lesson on type polymorphism for more details.

Source


$vein

Search trace.

Noun search trace.

Source


$sect

Paragraph.

Used in documentation.

Source


$whit

Documentation.

Source


$what

Help slogan/section.

Source


$wing

Search path.

Address in subject. A $wing is a path to a value in the subject. A term alone is the trivial case of a $wing.

Source

Examples


$block

Abstract identity of resource awaited.

Source


$result

Internal interpreter result.

Source


$thunk

Fragment constructor.

Source


$doss

Profiling.

Source


$moan

Profiling: sample metric.

Source


$hump

Profiling.

Source


Last updated