@@ -1,4 +1,6 @@
3title: Glossary of Urbit Terms
5title: Glossary of Urbit Terms
@@ -48,7 +50,7 @@ or `48.879`, whose parent is `~mun`, `0xef`, `239`. The parent of
51−>Nock is a Turing-complete, non-lambda combinator function.
53+> Nock is a Turing-complete, non-lambda combinator function.
53- `noun`: an `atom` or a `cell`
55- `noun`: an `atom` or a `cell`
54- `atom`: any natural number
56- `atom`: any natural number
@@ -61,7 +63,7 @@ or `48.879`, whose parent is `~mun`, `0xef`, `239`. The parent of
64−>Hoon is a strict, higher-order typed functional language which compiles itself to Nock.
66+> Hoon is a strict, higher-order typed functional language which compiles itself to Nock.
66###### `span`: an inferred type
68###### `span`: an inferred type
@@ -110,7 +112,7 @@ The code (`battery`) is the head, the data (`payload`) is the tail. All code-dat
111*TODO: simplify*
113*TODO: simplify*
113−>When we call a `wet` `arm`, we're essentially using the `twig` as a macro. We are not generating new code for every call site; we are creating a new type analysis path, which works as if we expanded the callee with the caller's context.
115+> When we call a `wet` `arm`, we're essentially using the `twig` as a macro. We are not generating new code for every call site; we are creating a new type analysis path, which works as if we expanded the callee with the caller's context.
115- `dry`: polymorphic by means of *variance*
117- `dry`: polymorphic by means of *variance*
@@ -144,17 +146,18 @@ A Hoon `atom` is a Nock `atom`, with two additional pieces of metadata (TODO: ?)
145###### `aura`: a soft `atom` type
147###### `aura`: a soft `atom` type
147−*alternately **odor***
149+*alternately `odor`*
149*TODO: write a short summary*
151*TODO: write a short summary*
151*TODO: are `aura`s always `mold`s? just the built-in `aura`s?*
153*TODO: are `aura`s always `mold`s? just the built-in `aura`s?*
153−>Auras are a lightweight, advisory representation of the units, semantics, and/or syntax of an `atom`. An `aura` is an atomic string; two auras are compatible if one is a prefix of the other.
155+> Auras are a lightweight, advisory representation of the units, semantics, and/or syntax of an `atom`. An `aura` is an atomic string; two auras are compatible if one is a prefix of the other.
155−>For instance, @t means UTF-8 text (LSB low), @ta means ASCII text, and @tas means an ASCII symbol. @u means an unsigned integer, @ud an unsigned decimal, @ux an unsigned hexadecimal. You can use a @ud atom as a @u or vice versa, but not as a @tas.
157+> For instance, @t means UTF-8 text (LSB low), @ta means ASCII text, and @tas means an ASCII symbol. @u means an unsigned integer, @ud an unsigned decimal, @ux an unsigned hexadecimal. You can use a @ud atom as a @u or vice versa, but not as a @tas.
157−>Auras are truly soft; you can turn any `aura` into any other, statically, by casting through the empty `aura` `@`. Hoon is not dependently typed and can't statically enforce data constraints (for example, it can't enforce that a `@tas` is really a symbol).
159+> Auras are truly soft; you can turn any `aura` into any other, statically, by casting through the empty `aura` `@`. Hoon is not dependently typed and can't statically enforce data constraints (for example, it can't enforce that a `@tas` is really a symbol).
159- `term` (`@tas`): a symbol - an atomic ASCII string which obeys symbol rules: lowercase and digit only, infix hyphen ("worm-case"), first character must be lowercase *(TODO: alphabetic?)*.
162- `term` (`@tas`): a symbol - an atomic ASCII string which obeys symbol rules: lowercase and digit only, infix hyphen ("worm-case"), first character must be lowercase *(TODO: alphabetic?)*.
@@ -227,10 +230,9 @@ A `face` is a `span` *(TODO: ?)* with a label (`@tas`) wrapped around it.
230−>Arvo is a nonpreemptive OS kernel, a single-threaded event interpreter.
233+> Arvo is a nonpreemptive OS kernel, a single-threaded event interpreter.
233- `generator`
236- `generator`
235*... TODO*
238*... TODO*