on master help sign in
clean up broken links preventing build
commit63f2f6e5a1e984420226e2ad95f56b3aefdc253e authorJosh Lehman <josh@starcity.com> dateMon 22 Feb 2021, 12:47 (6 years ago) parentbeabb64
14 files changed+64−66
_index.md+47−1 glossary/atom.md+1−1 glossary/hoon.md+1−1 glossary/noun.md+1−1 hoon/_index.md+4 hoon/hoon-school/atoms-auras-and-simple-cell-types.md+1−1 hoon/hoon-school/hoon-syntax.md+1−1 hoon/hoon-school/libraries.md+2−2 hoon/hoon-school/the-subject-and-its-legs.md+1−1 hoon/reference/rune/_index.md+1−1 hoon/reference/rune/cen.md+1−1 introduction.md−52 vere/_index.md+1−1 vere/jetting.md+2−2
_index.md+47−1
@@ -1,6 +1,52 @@
11+++
22title = "Docs"
3+weight = 1
34template = "sections/docs.html"
45+++
56
6−Should this just redirect to introduction?
7+Welcome to the documentation for the Urbit project. This documentation is maintained by [Tlon](https://tlon.io) in a public [Github repository](https://github.com/urbit/docs). Issues and contributions are welcome.
8+
9+If you already know what you're looking for, the easiest way to find it is with the search box located on the left.
10+
11+### [Development](@/docs/development/_index.md)
12+
13+The Development section is recommended reading for developers interested in
14+contributing to Urbit itself, or building apps on top of Urbit. It serves as a
15+high-level orientation to how to set up a development environment, how to
16+interact with Urbit from outside protocols, community projects, and precepts
17+that drive the development of Urbit.
18+
19+### [System Overview](@/docs/systemoverview/_index.md)
20+
21+This section gives a high-level overview to all the major components of the
22+Urbit tech stack - namely, the operating system Arvo, the programming languages
23+Nock and Hoon, the runtime Vere, the decentralized ID system Azimuth, and Tlon's
24+flagship client Landscape.
25+
26+### [Arvo (Urbit OS)](@/docs/arvo/_index.md)
27+
28+This section covers the kernel of Urbit OS, called Arvo, as well as its kernel modules.
29+
30+### [Hoon (High-level Language)](@/docs/hoon/_index.md)
31+
32+Here is contained all official documentation on Hoon, the high-level purely
33+functional programming language in which Arvo and much of userspace is written.
34+
35+### [Nock (Low-level Language)](@/docs/nock/_index.md)
36+
37+Official guidance on Nock, the functional assembly-level language which serves
38+as the basis for Hoon.
39+
40+### [Vere (Interpreter)](@/docs/vere/_index.md)
41+
42+Documentation on Vere, the Nock virtual machine which serves as the interface
43+between Urbit and Unix.
44+
45+### [Azimuth (Urbit ID)](@/docs/azimuth/_index.md)
46+
47+The workings of Azimuth, the decentralized ID system utilized by Urbit.
48+
49+### [Landscape (Web Client)](@/docs/landscape/_index.md)
50+
51+Developer guides to Landscape, the web client by which most users interact
52+with their ship.
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/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
19− - [Lesson 1.2: Nouns](@/docs//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/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/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
14− - [Lesson 1.1: Setup](@/docs//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/hoon/hoon-school/_index.md): Our guide to learning the Hoon programming language.
14− - [Lesson 1.2: Nouns](@/docs//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/nock/_index.md): Includes a low-level explanation of nouns.
hoon/_index.md+4
@@ -4,3 +4,7 @@ weight = 400
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66+++
7+
8+## Content
9+
10+There should be some here.
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//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+1−1
@@ -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//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/libraries.md+2−2
@@ -126,9 +126,9 @@ The `?+` rune is the rune to switch against a value with a default. The default
126126
127127`draw` takes two arguments: `n`, a number; and `d`, a `deck`. It's going to
128128produce a cell of two `decks`. The cell is created using `scag` and `slag`.
129−[`scag`](@/docs/hoon/reference/stdlib/2b/#scag) is a
129+[`scag`](@/docs/hoon/reference/stdlib/2b.md#scag) is a
130130standard-library gate produces the first `n` elements from a list, and
131−[`slag`](@/docs/hoon/reference/stdlib/2b/#slag) is a
131+[`slag`](@/docs/hoon/reference/stdlib/2b.md#slag) is a
132132standard-library gate that produces the remaining elements of a list starting
133133after the `n`th element. So we use `scag` to produce the drawn hand of `n` cards
134134in the head of the cell as `hand`, and `slag` to produce the remaining deck in
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//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]
hoon/reference/rune/_index.md+1−1
@@ -13,7 +13,7 @@ Runes are a way to form expressions in Hoon.
1313
1414Hoon uses runes to form expressions, but not all expressions have runes in them. First, we have constant expressions (and also expressions that would be constant, but that they allow for interpolations).
1515
16−### [Limbs and Wings](@/docs/hoon/reference/limb/_index.md)
16+### [Limbs and Wings](@/docs/hoon/reference/limbs/_index.md)
1717
1818Limb and wing expressions also lack runes.
1919
hoon/reference/rune/cen.md+1−1
@@ -53,7 +53,7 @@ A `%_` expression resolves to the value of the subject at wing `a`, but modified
5353
5454`%_` is different from `%=` because `%=` can change the type of a wing with mutations. `%_` preserves the wing type.
5555
56−See [how wings are resolved](@/docs/hoon/reference/limb/_index.md).
56+See [how wings are resolved](@/docs/hoon/reference/limbs/_index.md).
5757
5858##### Examples
5959
introduction.mddeleted−52
@@ -1,52 +0,0 @@
1−+++
2−title = "Docs"
3−weight = 1
4−template = "sections/docs.html"
5−+++
6−
7−Welcome to the documentation for the Urbit project. This documentation is maintained by [Tlon](https://tlon.io) in a public [Github repository](https://github.com/urbit/docs). Issues and contributions are welcome.
8−
9−If you already know what you're looking for, the easiest way to find it is with the search box located on the left.
10−
11−### [Development](@/docs/development/_index.md)
12−
13−The Development section is recommended reading for developers interested in
14−contributing to Urbit itself, or building apps on top of Urbit. It serves as a
15−high-level orientation to how to set up a development environment, how to
16−interact with Urbit from outside protocols, community projects, and precepts
17−that drive the development of Urbit.
18−
19−### [System Overview](@/docs/systemoverview/_index.md)
20−
21−This section gives a high-level overview to all the major components of the
22−Urbit tech stack - namely, the operating system Arvo, the programming languages
23−Nock and Hoon, the runtime Vere, the decentralized ID system Azimuth, and Tlon's
24−flagship client Landscape.
25−
26−### [Arvo (Urbit OS)](@/docs/arvo/_index.md)
27−
28−This section covers the kernel of Urbit OS, called Arvo, as well as its kernel modules.
29−
30−### [Hoon](@/docs/hoon/_index.md)
31−
32−Here is contained all official documentation on Hoon, the high-level purely
33−functional programming language in which Arvo and much of userspace is written.
34−
35−### [Nock](@/docs/nock/_index.md)
36−
37−Official guidance on Nock, the functional assembly-level language which serves
38−as the basis for Hoon.
39−
40−### [Vere](@/docs/vere/_index.md)
41−
42−Documentation on Vere, the Nock virtual machine which serves as the interface
43−between Urbit and Unix.
44−
45−### [Azimuth (Urbit ID)](@/docs/azimuth/_index.md)
46−
47−The workings of Azimuth, the decentralized ID system utilized by Urbit.
48−
49−### [Landscape](@/docs/landscape/_index.md)
50−
51−Developer guides to Landscape, the web client by which most users interact
52−with their ship.
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//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//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//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