on master help sign in
links: nouns.md
commitd488be4bc0995da28234a0b90f81803cb9ca7983 authordrbeefsupreme <drbeefsupreme@discordja.net> dateFri 19 Feb 2021, 12:47 (6 years ago) parentd7e4244
9 files changed+11−11
glossary/atom.md+1−1 glossary/hoon.md+1−1 glossary/noun.md+1−1 hoon/hoon-school/atoms-auras-and-simple-cell-types.md+1−1 hoon/hoon-school/hoon-syntax.md+2−2 hoon/hoon-school/setup.md+1−1 hoon/hoon-school/the-subject-and-its-legs.md+1−1 vere/_index.md+1−1 vere/jetting.md+2−2
glossary/atom.md+1−1
@@ -16,5 +16,5 @@ number, etc, and an optional constant. A Hoon atom type is _warm_ or _cold_ base
1616### Further Reading
1717
1818- [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.
2020- [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.
1111### Further Reading
1212
1313- [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.
1515- [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
1111### Further Reading
1212
1313- [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.
1515- [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
1818
1919## Atoms and Auras
2020
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.
2222
2323In 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.
2424
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
8484~zod
8585```
8686
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).
8888
8989Cell literals can be written in Hoon using `[ ]`. Cell literals are complex, because other expressions are put inside the square brackets. Examples:
9090
@@ -213,7 +213,7 @@ What Hoon expression does the following figure correspond to, and what does it e
213213Right. This represents the Hoon expression `:- 2 :- 3 4`,
214214and evaluates to `[2 [3 4]]`. Remember, though, that if you input this into dojo it will print as `[2 3 4]`.
215215
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.
217217
218218##### Exercise 1.3a
219219
hoon/hoon-school/setup.md+1−1
@@ -61,7 +61,7 @@ You'll see:
616117
6262```
6363
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.
6565
6666## Generators
6767
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
1111
1212For 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/).
1313
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:
1515
1616```
1717> +1:[[11 22] 33]
vere/_index.md+1−1
@@ -21,7 +21,7 @@ in C, `u3`. This section is a relatively complete description.
2121Under `u3` is the simple `c3` layer, which is just how we write C
2222in Urbit.
2323
24−## [u3: Land of nouns](@/docs/tutorials/vere/nouns.md)
24+## [u3: Land of nouns](@/docs//vere/nouns.md)
2525
2626The division between `c3` and `u3` is that you could theoretically
2727imagine 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.
505505A `u3_atom` represents a simple number, but the implementation may or
506506may not be simple. If the value held in the atom is 31 bits or less,
507507it'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) )
509509
510510You don't want to get bogged down in the details of this -- you just
511511want 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
627627 return(u3nt(a, b, u3_nul)); // for two atoms as a list
628628```
629629
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).
631631
632632## Compile the C code
633633