@@ -4,6 +4,17 @@ weight = 70
4template = "doc.html"
4template = "doc.html"
7+Auras are system of nested "soft types" on [atoms](@/docs/glossary/atom.md) that
8+are used to track metadata about how a particular atom is to be interpreted.
9+This is used for type checking as well as pretty printing.
11+A given aura nests under any aura whose name is a substring of the given aura,
12+i.e. `@ux` nests under `@u`, and all auras nest under the empty aura `@`. We
13+call auras "soft types" since this nesting behavior can be ignored - see
14+[below](#non-coercive).
16+You can learn more about auras in [Hoon school](@/docs/hoon/hoon-school/atoms-auras-and-simple-types.md).
8Aura Meaning Example Literal Syntax
19Aura Meaning Example Literal Syntax
9-------------------------------------------------------------------------
20-------------------------------------------------------------------------
@@ -51,6 +62,9 @@ two, starting from A.
51 @uxG unsigned 64-bit hexadecimal
62 @uxG unsigned 64-bit hexadecimal
52 @uvJ unsigned, 512-bit integer (frequently used for entropy)
63 @uvJ unsigned, 512-bit integer (frequently used for entropy)
54Auras are non-coercive, but conversions may have to go via the empty aura, e.g.
68Auras are non-coercive, but conversions may have to go via the empty aura, e.g.
56> ^-(@ud ^-(@ 'foo'))
70> ^-(@ud ^-(@ 'foo'))