on master help sign in
links: nouns.md
d488be4drbeefsupreme
glossary/atom.md+1−1
@@ -16,5 +16,5 @@ number, etc, and an optional constant. A Hoon atom type is _warm_ or _cold_ base
16### Further Reading
16### Further Reading
17
17
18- [The Hoon Tutorial](@/docs/tutorials/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
18- [The Hoon Tutorial](@/docs/tutorials/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
19− - [Lesson 1.2: Nouns](@/docs/tutorials/hoon/hoon-school/nouns.md): A Hoon Tutoral lesson that explains how atoms work.
19+ - [Lesson 1.2: Nouns](@/docs//hoon/hoon-school/nouns.md): A Hoon Tutoral lesson that explains how atoms work.
20- [The Nock explanation](@/docs/tutorials/nock/explanation.md): Includes an explanation of atoms.
20- [The Nock explanation](@/docs/tutorials/nock/explanation.md): Includes an explanation of atoms.
glossary/hoon.md+1−1
@@ -11,5 +11,5 @@ The Hoon source file is located in `/home/sys/hoon.hoon` within your Urbit.
11### Further Reading
11### Further Reading
12
12
13- [The Hoon Tutorial](@/docs/tutorials/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
13- [The Hoon Tutorial](@/docs/tutorials/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
14− - [Lesson 1.1: Setup](@/docs/tutorials/hoon/hoon-school/nouns.md): How to set up an environment for programming in Hoon.
14+ - [Lesson 1.1: Setup](@/docs//hoon/hoon-school/nouns.md): How to set up an environment for programming in Hoon.
15- [Why Hoon?](@/blog/why-hoon.md): A blog post that explains why Urbit uses its own programming language.
15- [Why Hoon?](@/blog/why-hoon.md): A blog post that explains why Urbit uses its own programming language.
glossary/noun.md+1−1
@@ -11,5 +11,5 @@ A **noun** is an [atom](../atom) or a cell, which is an ordered pair of nouns. T
11### Further Reading
11### Further Reading
12
12
13- [The Hoon Tutorial](@/docs/tutorials/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
13- [The Hoon Tutorial](@/docs/tutorials/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
14− - [Lesson 1.2: Nouns](@/docs/tutorials/hoon/hoon-school/nouns.md): A Hoon Tutoral lesson that explains how nouns work.
14+ - [Lesson 1.2: Nouns](@/docs//hoon/hoon-school/nouns.md): A Hoon Tutoral lesson that explains how nouns work.
15- [The Nock explanation](@/docs/tutorials/nock/_index.md): Includes a low-level explanation of nouns.
15- [The Nock explanation](@/docs/tutorials/nock/_index.md): Includes a low-level explanation of nouns.
hoon/hoon-school/atoms-auras-and-simple-cell-types.md+1−1
@@ -18,7 +18,7 @@ In this lesson we'll cover (1)-(4) as they pertain to atoms and simple cell type
18
18
19## Atoms and Auras
19## Atoms and Auras
20
20
21−In [Lesson 1.2](@/docs/tutorials/hoon/hoon-school/nouns.md) we defined what an atom is: any unsigned integer. In this lesson we'll expand on that discussion, going over how Hoon's type system implements auras.
21+In [Lesson 1.2](@/docs//hoon/hoon-school/nouns.md) we defined what an atom is: any unsigned integer. In this lesson we'll expand on that discussion, going over how Hoon's type system implements auras.
22
22
23In the most straightforward sense, atoms simply are unsigned integers. But they can also be interpreted as representing signed integers, ASCII symbols, floating-point values, dates, binary numbers, hexadecimal numbers, and more. Every atom is, in and of itself, just an unsigned integer; but Hoon keeps track of type information about each atom, and this info tells Hoon how to interpret the atom in question.
23In the most straightforward sense, atoms simply are unsigned integers. But they can also be interpreted as representing signed integers, ASCII symbols, floating-point values, dates, binary numbers, hexadecimal numbers, and more. Every atom is, in and of itself, just an unsigned integer; but Hoon keeps track of type information about each atom, and this info tells Hoon how to interpret the atom in question.
24
24
hoon/hoon-school/hoon-syntax.md+2−2
@@ -84,7 +84,7 @@ We start with atom literals. Each of these is a basic expression of Hoon that ev
84~zod
84~zod
85```
85```
86
86
87−Recall from [Lesson 1.2](@/docs/tutorials/hoon/hoon-school/nouns.md) that even though atoms are unsigned integers, they can be pretty-printed in different ways. The way an atom is to be represented depends on its aura. The literal syntax for each of the hard-coded auras will be explained further in [Lesson 2.1](@/docs/hoon/hoon-school/atoms-auras-and-simple-cell-types.md).
87+Recall from [Lesson 1.2](@/docs/hoon/hoon-school/nouns.md) that even though atoms are unsigned integers, they can be pretty-printed in different ways. The way an atom is to be represented depends on its aura. The literal syntax for each of the hard-coded auras will be explained further in [Lesson 2.1](@/docs/hoon/hoon-school/atoms-auras-and-simple-cell-types.md).
88
88
89Cell literals can be written in Hoon using `[ ]`. Cell literals are complex, because other expressions are put inside the square brackets. Examples:
89Cell literals can be written in Hoon using `[ ]`. Cell literals are complex, because other expressions are put inside the square brackets. Examples:
90
90
@@ -213,7 +213,7 @@ What Hoon expression does the following figure correspond to, and what does it e
213Right. This represents the Hoon expression `:- 2 :- 3 4`,
213Right. This represents the Hoon expression `:- 2 :- 3 4`,
214and evaluates to `[2 [3 4]]`. Remember, though, that if you input this into dojo it will print as `[2 3 4]`.
214and evaluates to `[2 [3 4]]`. Remember, though, that if you input this into dojo it will print as `[2 3 4]`.
215
215
216−Thinking in terms of these “LEGO block” diagrams, as well as the more literal binary tree diagrams utilized in [Lesson 1.2](@/docs/tutorials/hoon/hoon-school/nouns.md), can be a helpful learning and debugging tactic.
216+Thinking in terms of these “LEGO block” diagrams, as well as the more literal binary tree diagrams utilized in [Lesson 1.2](@/docs//hoon/hoon-school/nouns.md), can be a helpful learning and debugging tactic.
217
217
218##### Exercise 1.3a
218##### Exercise 1.3a
219
219
hoon/hoon-school/setup.md+1−1
@@ -61,7 +61,7 @@ You'll see:
6117
6117
62```
62```
63
63
64−You asked Dojo to evaluate `17` and it echoed the number back at you. This value is a "noun". We'll talk more about [nouns](/docs/glossary/noun/) in [Lesson 1.2](@/docs/tutorials/hoon/hoon-school/nouns.md), but first let's write a very basic program.
64+You asked Dojo to evaluate `17` and it echoed the number back at you. This value is a "noun". We'll talk more about [nouns](/docs/glossary/noun/) in [Lesson 1.2](@/docs/hoon/hoon-school/nouns.md), but first let's write a very basic program.
65
65
66## Generators
66## Generators
67
67
hoon/hoon-school/the-subject-and-its-legs.md+1−1
@@ -11,7 +11,7 @@ Hoon isn't an object-oriented programming language; it's a "subject-oriented" pr
11
11
12For now we can say three things about the subject: (1) every Hoon expression is evaluated relative to some subject; (2) roughly, the subject defines the environment in which a Hoon expression is evaluated; and (3) the subject is a [noun](/docs/glossary/noun/).
12For now we can say three things about the subject: (1) every Hoon expression is evaluated relative to some subject; (2) roughly, the subject defines the environment in which a Hoon expression is evaluated; and (3) the subject is a [noun](/docs/glossary/noun/).
13
13
14−In fact, you already learned about the noun address system in [Lesson 1.2](@/docs/tutorials/hoon/hoon-school/nouns.md) when you used `+` to return a fragment of a noun:
14+In fact, you already learned about the noun address system in [Lesson 1.2](@/docs//hoon/hoon-school/nouns.md) when you used `+` to return a fragment of a noun:
15
15
16```
16```
17> +1:[[11 22] 33]
17> +1:[[11 22] 33]
vere/_index.md+1−1
@@ -21,7 +21,7 @@ in C, `u3`. This section is a relatively complete description.
21Under `u3` is the simple `c3` layer, which is just how we write C
21Under `u3` is the simple `c3` layer, which is just how we write C
22in Urbit.
22in Urbit.
23
23
24−## [u3: Land of nouns](@/docs/tutorials/vere/nouns.md)
24+## [u3: Land of nouns](@/docs//vere/nouns.md)
25
25
26The division between `c3` and `u3` is that you could theoretically
26The division between `c3` and `u3` is that you could theoretically
27imagine using `c3` as just a generic C environment. Anything to do
27imagine using `c3` as just a generic C environment. Anything to do
vere/jetting.md+2−2
@@ -505,7 +505,7 @@ A `u3_noun` will want to be further disassembled into atoms.
505A `u3_atom` represents a simple number, but the implementation may or
505A `u3_atom` represents a simple number, but the implementation may or
506may not be simple. If the value held in the atom is 31 bits or less,
506may not be simple. If the value held in the atom is 31 bits or less,
507it's stored directly in the atom. If the value is 32 bits the atom
507it's stored directly in the atom. If the value is 32 bits the atom
508−holds a pointer into the loom where the actual value is stored. ( see [Nouns](@/docs/tutorials/vere/nouns.md) )
508+holds a pointer into the loom where the actual value is stored. ( see [Nouns](@/docs//vere/nouns.md) )
509
509
510You don't want to get bogged down in the details of this -- you just
510You don't want to get bogged down in the details of this -- you just
511want to get data out of your atoms.
511want to get data out of your atoms.
@@ -627,7 +627,7 @@ This implies that, to create a list instead of a cell, you will need to append
627 return(u3nt(a, b, u3_nul)); // for two atoms as a list
627 return(u3nt(a, b, u3_nul)); // for two atoms as a list
628```
628```
629
629
630−Understanding the memory model, allocation, freeing, and ownership ('transfer' vs 'retain' semantics) is important. Some info is available at [Nouns](@/docs/tutorials/vere/nouns.md).
630+Understanding the memory model, allocation, freeing, and ownership ('transfer' vs 'retain' semantics) is important. Some info is available at [Nouns](@/docs//vere/nouns.md).
631
631
632## Compile the C code
632## Compile the C code
633
633