4o: Molds
$abel
Original sin: type.
Old type, same as the new $type.
Source
+$ abel typoExamples
> *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
$iota
Typed path segment.
A single segment of a $pith. Either a bare @tas, or a tagged pair naming the aura of the value it holds.
Source
Examples
$pith
Typed Urbit path.
A $pith is a (list iota) — a path whose segments carry their aura, rather than being flattened to @ta as in an ordinary $path.
Source
Examples
Note that casting a $path to a $pith does not parse the segments — it merely retypes them as bare @tas:
Use +pave to actually parse a $path into a $pith.
$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
$foot
Cases of arms by variance model.
Source
$link
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.
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