on master help sign in
Amending relative links
5c1b80eMatilde Park
.gitmodules+2−2
@@ -1,3 +1,3 @@
1−[submodule "docs/learn/hoon/workbook"]
1+[submodule "docs/hoon/workbook"]
2− path = docs/learn/hoon/workbook
2+ path = docs/hoon/workbook
3 url = git@github.com:urbit/hoon-workbook.git
3 url = git@github.com:urbit/hoon-workbook.git
arvo/eyre.md+1−1
@@ -81,7 +81,7 @@ the perk it into a `%boil` `++ford-req`, adding an `++fcgi` path-segment
81containing query string and `++fcgi-cred:for-client` auth information.
81containing query string and `++fcgi-cred:for-client` auth information.
82
82
83`%ford`s translation of `/=cli=/hymn/hook` to a self-refreshing `%urb` html page
83`%ford`s translation of `/=cli=/hymn/hook` to a self-refreshing `%urb` html page
84−[deserves its own commentary](/docs/learn/arvo/arvo-internals/ford#commentary), but
84+[deserves its own commentary](/docs/arvo/ford#commentary), but
85we resume in `%eyre` when the `%made` sign arrives in `++take`, and soon after
85we resume in `%eyre` when the `%made` sign arrives in `++take`, and soon after
86`++axon:ye`. There the `wire`, or rather the `whir` it has been verified to be,
86`++axon:ye`. There the `wire`, or rather the `whir` it has been verified to be,
87determines that the response should be served immediately. However, as the mark
87determines that the response should be served immediately. However, as the mark
arvo/ford.md+1−1
@@ -272,7 +272,7 @@ produces the text of the hoon file at "/path/to/hoon-file/hoon".
272passes the contents through unchanged. In general, rendering a file with a
272passes the contents through unchanged. In general, rendering a file with a
273mark will potentially run the contents through a series of conversion
273mark will potentially run the contents through a series of conversion
274operations. For details on marks, see the
274operations. For details on marks, see the
275−[Gall docs](../gall).
275+[Gall docs](gall).
276
276
277Here's an example that includes a mark conversion:
277Here's an example that includes a mark conversion:
278```hoon
278```hoon
arvo/gall.md+3−4
@@ -522,8 +522,7 @@ interact with apps. Generators are the "porcelain" layer. This is why
522when you run a command like `+ls` or `|merge`, there are no marks in
522when you run a command like `+ls` or `|merge`, there are no marks in
523sight.
523sight.
524
524
525−We've used generators before, back in [Basic
526−Operation](/docs/learn/arvo/arvo-internals/admin). At that point, we just used the
525+At that point, we just used the
527generators to produce values -- we didn't pipe their results into apps.
526generators to produce values -- we didn't pipe their results into apps.
528In the dojo cast, the role of a generator is to take a list of arguments
527In the dojo cast, the role of a generator is to take a list of arguments
529and produce a value, which is often, though not always, piped into an
528and produce a value, which is often, though not always, piped into an
@@ -1064,7 +1063,7 @@ from the command line, which we we did with `:echo 5`
1064(`:[app-name] [argument(s)]`).
1063(`:[app-name] [argument(s)]`).
1065
1064
1066In this case, `++poke-noun` takes an argument (**sample**) `arg` and
1065In this case, `++poke-noun` takes an argument (**sample**) `arg` and
1067−prints it to dojo with `~&` ([sigpam](/docs/reference/hoon-expressions/rune/sig#sigpam/)).
1066+prints it to dojo with `~&` ([sigpam](/docs/hoon/hoon-expressions/rune/sig#sigpam/)).
1068This is an unusual rune that formally "does nothing", but the interpreter
1067This is an unusual rune that formally "does nothing", but the interpreter
1069detects it and printfs the first child, before executing the second as if the
1068detects it and printfs the first child, before executing the second as if the
1070first didn't exist. This is a slightly hacky way of printing to the console,
1069first didn't exist. This is a slightly hacky way of printing to the console,
@@ -1210,7 +1209,7 @@ Run it with these commands:
1210
1209
1211Replace `~sampel-sipnym` with another urbit. The easiest thing to do is to start
1210Replace `~sampel-sipnym` with another urbit. The easiest thing to do is to start
1212a comet, a free and disposable Urbit identity. If you don't know how to start a
1211a comet, a free and disposable Urbit identity. If you don't know how to start a
1213−comet, see [the user setup section](/docs/getting-started/). Don't forget to start
1212+comet, see [the user setup section](@/operations.md). Don't forget to start
1214the `%pong` app on that urbit, too. You should see, on the foreign
1213the `%pong` app on that urbit, too. You should see, on the foreign
1215urbit, this output:
1214urbit, this output:
1216
1215
arvo/arvo-glossary.md → arvo/glossary.mdrenamed+34−34
@@ -11,7 +11,7 @@ As Dijkstra put it: "The purpose of abstraction is not to be vague, but
11to create a new semantic level in which one can be absolutely precise."
11to create a new semantic level in which one can be absolutely precise."
12
12
13This glossary only covers terms the Arvo side of the project. You can find the
13This glossary only covers terms the Arvo side of the project. You can find the
14−Azimuth glossary [here](../azimuth-glossary)
14+Azimuth glossary [here](../azimuth/glossary)
15
15
16### application
16### application
17
17
@@ -42,7 +42,7 @@ dry.
42 path, which works as if we expanded the callee with the caller's
42 path, which works as if we expanded the callee with the caller's
43 context.
43 context.
44
44
45−_See [advanced types](/docs/reference/hoon-expressions/advanced/)_.
45+_See [advanced types](/docs/hoon/hoon-expressions/advanced/)_.
46
46
47
47
48
48
@@ -67,7 +67,7 @@ their effects happen like so:
67Arvo is located in `/home/sys/arvo.hoon` within your urbit.
67Arvo is located in `/home/sys/arvo.hoon` within your urbit.
68
68
69More in-depth information on Arvo can be found
69More in-depth information on Arvo can be found
70−[`here`](@/docs/learn/arvo/_index.md).
70+[`here`](@/docs/arvo/_index.md).
71
71
72Below are Arvo modules, which are called "vanes".
72Below are Arvo modules, which are called "vanes".
73
73
@@ -80,7 +80,7 @@ Below are Arvo modules, which are called "vanes".
80 Ames is located in `/home/sys/vane/ames.hoon` within your urbit.
80 Ames is located in `/home/sys/vane/ames.hoon` within your urbit.
81
81
82 More in-depth information on Ames can be found
82 More in-depth information on Ames can be found
83− [`here`](@/docs/learn/arvo/ames.md).
83+ [`here`](@/docs/arvo/ames.md).
84
84
85#### Behn
85#### Behn
86
86
@@ -103,9 +103,9 @@ Below are Arvo modules, which are called "vanes".
103 Clay is located at `/home/sys/vane/clay.hoon` within your urbit.
103 Clay is located at `/home/sys/vane/clay.hoon` within your urbit.
104
104
105 Basic information on using Clay can be found
105 Basic information on using Clay can be found
106− [`here`](@/docs/using/filesystem.md). An in-depth explanation
106+ [`here`](@/operations.md). An in-depth explanation
107 of the architecture can be found
107 of the architecture can be found
108− [`here`](@/docs/learn/arvo/clay.md).
108+ [`here`](@/docs/arvo/clay.md).
109
109
110#### Dill
110#### Dill
111
111
@@ -124,7 +124,7 @@ Below are Arvo modules, which are called "vanes".
124 Dill is located at `/home/sys/vane/clay.hoon` within your urbit.
124 Dill is located at `/home/sys/vane/clay.hoon` within your urbit.
125
125
126 More in-depth information on Dill can be found
126 More in-depth information on Dill can be found
127− [`here`](@/docs/learn/arvo/dill.md).
127+ [`here`](@/docs/arvo/dill.md).
128
128
129#### Eyre
129#### Eyre
130
130
@@ -138,7 +138,7 @@ Below are Arvo modules, which are called "vanes".
138 Eyre is located at `/home/sys/vane/eyre.hoon` within your urbit.
138 Eyre is located at `/home/sys/vane/eyre.hoon` within your urbit.
139
139
140 More in-depth information on Eyre can be found
140 More in-depth information on Eyre can be found
141− [`here`](@/docs/learn/arvo/eyre.md).
141+ [`here`](@/docs/arvo/eyre.md).
142
142
143#### Ford
143#### Ford
144
144
@@ -153,7 +153,7 @@ Below are Arvo modules, which are called "vanes".
153 Ford is located at `/home/sys/vane/ford.hoon` within your urbit.
153 Ford is located at `/home/sys/vane/ford.hoon` within your urbit.
154
154
155 More in-depth information on Ford can be found
155 More in-depth information on Ford can be found
156− [`here`](@/docs/learn/arvo/ford.md).
156+ [`here`](@/docs/arvo/ford.md).
157
157
158#### Gall
158#### Gall
159
159
@@ -169,7 +169,7 @@ Below are Arvo modules, which are called "vanes".
169 Gall is located at `/home/sys/vane/gall.hoon` within your urbit.
169 Gall is located at `/home/sys/vane/gall.hoon` within your urbit.
170
170
171 More in-depth information on Gall can be found
171 More in-depth information on Gall can be found
172− [`here`](@/docs/learn/arvo/gall.md).
172+ [`here`](@/docs/arvo/gall.md).
173
173
174### atom
174### atom
175
175
@@ -189,7 +189,7 @@ An atom type is _warm_ or _cold_ based on whether the constant exists.
189
189
190 If the constant is `[~ atom]`, its only legal value is `atom`.
190 If the constant is `[~ atom]`, its only legal value is `atom`.
191
191
192−_See [basic types](@/docs/reference/hoon-expressions/basic.md)_
192+_See [basic types](@/docs/hoon/hoon-expressions/basic.md)_
193
193
194### aura
194### aura
195
195
@@ -245,7 +245,7 @@ Aura Meaning Example Literal Syntax
245 @ux unsigned hexadecimal 0x5f5.e138
245 @ux unsigned hexadecimal 0x5f5.e138
246```
246```
247
247
248−You can find the list of all auras [here](@/docs/reference/hoon-expressions/rune/constants.md).
248+You can find the list of all auras [here](@/docs/hoon/hoon-expressions/rune/constants.md).
249
249
250### blocksize
250### blocksize
251
251
@@ -309,7 +309,7 @@ translate to cores in Hoon.
309
309
310 The data-containing tail of a core.
310 The data-containing tail of a core.
311
311
312−_See [basic types](@/docs/reference/hoon-expressions/basic.md)._
312+_See [basic types](@/docs/hoon/hoon-expressions/basic.md)._
313
313
314### Dojo
314### Dojo
315
315
@@ -350,7 +350,7 @@ In the above example, `a` is the face and `2` is the value.
350Hoon has no scope or symbol-table; there is only the subject. To "declare" a
350Hoon has no scope or symbol-table; there is only the subject. To "declare" a
351"variable" is to construct a new subject: `[name=value old-subject]`.
351"variable" is to construct a new subject: `[name=value old-subject]`.
352
352
353−_See [advanced types](@/docs/reference/hoon-expressions/advanced.md)_.
353+_See [advanced types](@/docs/hoon/hoon-expressions/advanced.md)_.
354
354
355
355
356### flag
356### flag
@@ -362,7 +362,7 @@ _no_.
362
362
363A _gate_ is a [core](#core) with one [arm](#arm) -- Hoon's closest
363A _gate_ is a [core](#core) with one [arm](#arm) -- Hoon's closest
364analog to a function. To call a gate on an argument, replace the sample
364analog to a function. To call a gate on an argument, replace the sample
365−(at [tree address](@/docs/reference/hoon-expressions/limb/limb.md) `+6`
365+(at [tree address](@/docs/hoon/hoon-expressions/limb/limb.md) `+6`
366in the core) with the argument, and then compute the arm.
366in the core) with the argument, and then compute the arm.
367
367
368The payload of a gate has a shape of `[sample context]`.
368The payload of a gate has a shape of `[sample context]`.
@@ -375,8 +375,8 @@ The payload of a gate has a shape of `[sample context]`.
375
375
376 The subject in which the gate was defined.
376 The subject in which the gate was defined.
377
377
378−_See [basic types](@/docs/reference/hoon-expressions/basic.md),
378+_See [basic types](@/docs/hoon/hoon-expressions/basic.md),
379−[`%-` ("cenhep")](@/docs/reference/hoon-expressions/rune/cen.md#cenhep) (the
379+[`%-` ("cenhep")](@/docs/hoon/hoon-expressions/rune/cen.md#cenhep) (the
380[rune](#rune) for calling a `gate`)._
380[rune](#rune) for calling a `gate`)._
381
381
382### generator
382### generator
@@ -397,7 +397,7 @@ information pipeline.
397
397
398Generators are run from the `/gen` directory of your current desk. For example,
398Generators are run from the `/gen` directory of your current desk. For example,
399to run a generator named `whatever.hoon`, you would type `> +whatever` in the
399to run a generator named `whatever.hoon`, you would type `> +whatever` in the
400−[Dojo](@/docs/using/shell.md).
400+[Dojo](@/operations/#using-the-shell).
401
401
402### glyph
402### glyph
403
403
@@ -427,7 +427,7 @@ _Hall_ is the Urbit communication back-end. It’s a messaging bus that can work
427with clients of all sorts. [`:talk`](#talk), the built-in chat client, is one
427with clients of all sorts. [`:talk`](#talk), the built-in chat client, is one
428such app that uses Hall.
428such app that uses Hall.
429
429
430−_More information on Hall can be found [here](@/docs/learn/arvo/hall.md)._
430+_More information on Hall can be found [here](@/docs/arvo/hall.md)._
431
431
432#### circle
432#### circle
433
433
@@ -450,7 +450,7 @@ to Nock.
450
450
451The Hoon source file is located in `/home/sys/hoon.hoon` within your urbit.
451The Hoon source file is located in `/home/sys/hoon.hoon` within your urbit.
452
452
453−_More information can be found in the [hoon](@/docs/learn/hoon/_index.md) section._
453+_More information can be found in the [hoon](@/docs/hoon/_index.md) section._
454
454
455#### Mint
455#### Mint
456
456
@@ -481,7 +481,7 @@ atoms (in this case each with an aura of `%ud`, i.e. unsigned
481decimal).
481decimal).
482
482
483To parse Hoon source into a hoon AST, use `ream` on a `cord`
483To parse Hoon source into a hoon AST, use `ream` on a `cord`
484−containing Hoon source. Try the following in [Dojo](@/docs/using/shell.md):
484+containing Hoon source. Try the following in [Dojo](@/operations/#using-the-shell):
485
485
486```
486```
487(ream ':+(12 7 %a)')
487(ream ':+(12 7 %a)')
@@ -493,7 +493,7 @@ The result should be:
493[%clls p=[%sand p=%ud q=12] q=[%sand p=%ud q=7] r=[%rock p=%tas q=97]]
493[%clls p=[%sand p=%ud q=12] q=[%sand p=%ud q=7] r=[%rock p=%tas q=97]]
494```
494```
495
495
496−See [expression reference](@/docs/reference/hoon-expressions/rune/_index.md) for the full list of hoons.
496+See [expression reference](@/docs/hoon/hoon-expressions/rune/_index.md) for the full list of hoons.
497
497
498### irregular form
498### irregular form
499
499
@@ -501,7 +501,7 @@ Irregular forms are alternative ways of writing Hoon expressions, alternatives
501to the digraphic runes such as `:~`. Irregular forms are usually more compact
501to the digraphic runes such as `:~`. Irregular forms are usually more compact
502than regular forms.=
502than regular forms.=
503
503
504−_See [irregular forms](@/docs/reference/hoon-expressions/irregular.md)._
504+_See [irregular forms](@/docs/hoon/hoon-expressions/irregular.md)._
505
505
506### jet
506### jet
507
507
@@ -514,7 +514,7 @@ so inefficiently. Nock, for example, can’t decrement (reduce a number by one)
514except by starting building a loop that starts from zero and increments to a
514except by starting building a loop that starts from zero and increments to a
515number just below.
515number just below.
516
516
517−_See [API overview](@/docs/learn/vere/api.md)._
517+_See [API overview](@/docs/vere/api.md)._
518
518
519### lark
519### lark
520
520
@@ -564,7 +564,7 @@ found, the result is the product of the arm.
564 a search path into the subject, composed of
564 a search path into the subject, composed of
565 limbs. Search occurs from right to left (`a.b` means `b` within `a`).
565 limbs. Search occurs from right to left (`a.b` means `b` within `a`).
566
566
567−_See [Limbs and wings](@/docs/reference/hoon-expressions/limb/_index.md)_
567+_See [Limbs and wings](@/docs/hoon/hoon-expressions/limb/_index.md)_
568
568
569### move
569### move
570
570
@@ -604,7 +604,7 @@ Urbit's low-level programming language. Nock is functional and typeless.
604
604
605 a noun - the result of evaluating a formula against a subject.
605 a noun - the result of evaluating a formula against a subject.
606
606
607−_See the [Nock definition](@/docs/learn/nock/definition.md)._
607+_See the [Nock definition](@/docs/nock/definition.md)._
608
608
609### mark
609### mark
610
610
@@ -630,7 +630,7 @@ properties of the type of a compatible core). The default is `gold`
630- `zinc`: _covariant_
630- `zinc`: _covariant_
631- `iron`: _contravariant_
631- `iron`: _contravariant_
632
632
633−_See [advanced types](@/docs/reference/hoon-expressions/advanced.md)_.
633+_See [advanced types](@/docs/hoon/hoon-expressions/advanced.md)_.
634
634
635### ship
635### ship
636
636
@@ -712,17 +712,17 @@ Here's some common structure terminology:
712
712
713#### icon: The type of the mold's range
713#### icon: The type of the mold's range
714
714
715−_See [mold hoons](/docs/reference/hoon-expressions/rune/buc/)._
715+_See [mold hoons](/docs/hoon/hoon-expressions/rune/buc/)._
716
716
717### rune
717### rune
718
718
719A Hoon _rune_ is a pair of ASCII symbols used to begin a
719A Hoon _rune_ is a pair of ASCII symbols used to begin a
720[Hoon expression](#a-hoon).
720[Hoon expression](#a-hoon).
721
721
722−For example, the rune [`?:`](@/docs/reference/hoon-expressions/rune/wut.md#wutcol) is
722+For example, the rune [`?:`](@/docs/hoon/hoon-expressions/rune/wut.md#wutcol) is
723Hoon's most common conditional, a branch on a boolean test. The first
723Hoon's most common conditional, a branch on a boolean test. The first
724symbol in a rune represents a family of related runes. For example, the
724symbol in a rune represents a family of related runes. For example, the
725−[`?` family](@/docs/reference/hoon-expressions/rune/wut.md) are all conditionals.
725+[`?` family](@/docs/hoon/hoon-expressions/rune/wut.md) are all conditionals.
726
726
727The result of parsing a Hoon source expression—the rune, followed
727The result of parsing a Hoon source expression—the rune, followed
728by its respective children—into an AST node is simply called
728by its respective children—into an AST node is simply called
@@ -758,7 +758,7 @@ Tall hoons can contain flat hoons, but not vice versa. All irregular
758forms are flat.
758forms are flat.
759
759
760_See [hoon concept](#a-hoon),
760_See [hoon concept](#a-hoon),
761−[expressions](@/docs/reference/hoon-expressions/rune/_index.md).
761+[expressions](@/docs/hoon/hoon-expressions/rune/_index.md).
762
762
763### Sail
763### Sail
764
764
@@ -769,7 +769,7 @@ _Sail_ is the Hoon markup language for XML.
769To _scry_ means to request data from the Arvo namespace and bring it
769To _scry_ means to request data from the Arvo namespace and bring it
770to userspace.
770to userspace.
771
771
772−_See [.^ (dot-ket)](@/docs/reference/hoon-expressions/rune/dot.md#dotket)._
772+_See [.^ (dot-ket)](@/docs/hoon/hoon-expressions/rune/dot.md#dotket)._
773
773
774### slot
774### slot
775
775
@@ -788,7 +788,7 @@ The head of `+n` is `+2n`, the tail is `+(2n+1)`.
788_Talk_ is Urbit's built-in chat app. It’s one example of an app that can be
788_Talk_ is Urbit's built-in chat app. It’s one example of an app that can be
789built on top of Hall, the Urbit back-end messaging system.
789built on top of Hall, the Urbit back-end messaging system.
790
790
791−_See [Messaging](@/docs/using/messaging.md). for more information._
791+_See [Messaging](@/operations/#messaging). for more information._
792
792
793### type
793### type
794
794
@@ -810,7 +810,7 @@ of the simpler built-in types.
810 If `nest` produces no, the Hoon programmer will receive a `nest-fail`
810 If `nest` produces no, the Hoon programmer will receive a `nest-fail`
811 error. This is one of the most commons errors in Hoon programming.
811 error. This is one of the most commons errors in Hoon programming.
812
812
813− _See [advanced types](@/docs/reference/hoon-expressions/advanced.md)_ and [troubleshooting](@/docs/reference/troubleshooting.md).
813+ _See [advanced types](@/docs/hoon/hoon-expressions/advanced.md)_ and [troubleshooting](@/docs/reference/troubleshooting.md).
814
814
815
815
816### Unit
816### Unit
arvo/sail-and-udon.md+3−3
@@ -21,7 +21,7 @@ This document will be divided into two main sections: the Sail guide and the Udo
21## Getting Started {#getting-started}
21## Getting Started {#getting-started}
22
22
23Before starting with either Sail or Udon, make sure that your ship is
23Before starting with either Sail or Udon, make sure that your ship is
24−[mounted to Unix](/docs/getting-started/booting-a-ship)
24+[mounted to Unix](@/operations#booting-a-ship)
25
25
26To host that output, your ship also has a web-server that can be found at
26To host that output, your ship also has a web-server that can be found at
27`localhost` (default port 80) if it’s your first ship that’s running on the
27`localhost` (default port 80) if it’s your first ship that’s running on the
@@ -944,12 +944,12 @@ destination.
944**Example:**
944**Example:**
945
945
946```
946```
947−[I'm an inline-style link](https://www.urbit.org/docs/using/shell)
947+[I'm an inline-style link](https://urbit.org/operations/#using-the-shell)
948```
948```
949
949
950**Produces:**
950**Produces:**
951
951
952−[I'm an inline-style link](https://www.urbit.org/docs/using/shell)
952+[I'm an inline-style link](https://urbit.org/operations/#using-the-shell)
953
953
954The second type is a reference-style link, which uses a relative path, based on
954The second type is a reference-style link, which uses a relative path, based on
955the current page's location. Instead of the full url, we use `..` to fill in
955the current page's location. Instead of the full url, we use `..` to fill in
arvo/ship-troubleshooting.md+1−1
@@ -28,7 +28,7 @@ If you accidentally booted with the same keyfile twice, the only remedy is perfo
28
28
29**Avoid killing the Urbit process directly.** The best way to end an urbit process is to use `ctrl-d` from the Dojo. Unix methods to kill the process, such as with `ctrl-z` or with the `kill` Bash command, or simply closing the window, should only be used if `ctrl-d` does not work.
29**Avoid killing the Urbit process directly.** The best way to end an urbit process is to use `ctrl-d` from the Dojo. Unix methods to kill the process, such as with `ctrl-z` or with the `kill` Bash command, or simply closing the window, should only be used if `ctrl-d` does not work.
30
30
31−**Keep up-to-date builds.** Check for latest Urbit version at https://github.com/urbit/urbit/releases. If you're behind, update using [this guide](/docs/getting-started)
31+**Keep up-to-date builds.** Check for latest Urbit version at https://github.com/urbit/urbit/releases. If you're behind, update using [this guide](/operations/)
32
32
33**`|hi` your star to see if you're connected.** Find out who your star is by running `(sein:title our now our)` in the Dojo. Then, run `|hi ~star`, where `~star` is the star's name, and if things are working properly, you should get the message `hi ~star successful`. It could also be helpful to use `|hi` to check connectivity with `~zod` or another planet that you're in a Talk channel with.
33**`|hi` your star to see if you're connected.** Find out who your star is by running `(sein:title our now our)` in the Dojo. Then, run `|hi ~star`, where `~star` is the star's name, and if things are working properly, you should get the message `hi ~star successful`. It could also be helpful to use `|hi` to check connectivity with `~zod` or another planet that you're in a Talk channel with.
34
34
azimuth/azimuth-glossary.md → azimuth/glossary.mdrenamed+2−2
@@ -5,9 +5,9 @@ template = "doc.html"
5+++
5+++
6
6
7
7
8−Azimuth is a general-purpose public-key infrastructure (PKI) on the Ethereum blockchain, used as a platform for Urbit identities. You need an Azimuth identity to use the Arvo network. All identity-related operations are governed at this layer For more information, see the [Azimuth documentation](https://urbit.org/docs/concepts/azimuth/).
8+Azimuth is a general-purpose public-key infrastructure (PKI) on the Ethereum blockchain, used as a platform for Urbit identities. You need an Azimuth identity to use the Arvo network. All identity-related operations are governed at this layer For more information, see the [Azimuth documentation](azimuth).
9
9
10−This glossary is intended to familiarize you with Azimuth-related terminology. To brush up on terminology related to Arvo, check out the [Arvo glossary](../arvo-glossary).
10+This glossary is intended to familiarize you with Azimuth-related terminology. To brush up on terminology related to Arvo, check out the [Arvo glossary](../arvo/glossary).
11
11
12### Azimuth identity
12### Azimuth identity
13
13
hoon/hoon-expressions/_index.md+5−5
@@ -6,22 +6,22 @@ template = "sections/docs/chapters.html"
6+++
6+++
7Documentation for Hoon expressions.
7Documentation for Hoon expressions.
8
8
9−## [Runes](@/docs/reference/hoon-expressions/rune/_index.md)
9+## [Runes](@/docs/hoon/hoon-expressions/rune/_index.md)
10
10
11Runes are a way to form expressions in Hoon. Their exact semantics and
11Runes are a way to form expressions in Hoon. Their exact semantics and
12
12
13−## [Limbs and Wings](@/docs/reference/hoon-expressions/limb/_index.md)
13+## [Limbs and Wings](@/docs/hoon/hoon-expressions/limb/_index.md)
14
14
15Limbs and wings are ways to extract data from the subject.
15Limbs and wings are ways to extract data from the subject.
16
16
17−## [Basic Types](@/docs/reference/hoon-expressions/basic.md)
17+## [Basic Types](@/docs/hoon/hoon-expressions/basic.md)
18
18
19A simplified explanation of of the Hoon type system.
19A simplified explanation of of the Hoon type system.
20
20
21−## [Advanced Types](@/docs/reference/hoon-expressions/advanced.md)
21+## [Advanced Types](@/docs/hoon/hoon-expressions/advanced.md)
22
22
23A more comprehensive explanation of the Hoon type system, covering aliasing and polymorphism.
23A more comprehensive explanation of the Hoon type system, covering aliasing and polymorphism.
24
24
25−## [Irregular Forms](@/docs/reference/hoon-expressions/irregular.md)
25+## [Irregular Forms](@/docs/hoon/hoon-expressions/irregular.md)
26
26
27Alternative syntaxes for Hoon runes.
27Alternative syntaxes for Hoon runes.
hoon/hoon-expressions/irregular.md+1−1
@@ -242,7 +242,7 @@ See [%sand](@/docs/hoon/hoon-expressions/rune/constants.md#warm) for other irreg
242
242
243### Wings
243### Wings
244
244
245−[docs](content/docs/reference/hoon-expressions/limb/wing.md)
245+[docs](content/docs/hoon/hoon-expressions/limb/wing.md)
246`[%wing p=(list limb)]`; a limb search path.
246`[%wing p=(list limb)]`; a limb search path.
247`a.b` finds limb `a` within limb `b` ("var" `a` within "var" `b`).
247`a.b` finds limb `a` within limb `b` ("var" `a` within "var" `b`).
248
248
hoon/hoon-expressions/rune/_index.md+15−15
@@ -8,64 +8,64 @@ Runes are a way to form expressions in Hoon.
8
8
9## Non-Rune Expressions
9## Non-Rune Expressions
10
10
11−### [Constants](@/docs/reference/hoon-expressions/rune/constants.md)
11+### [Constants](@/docs/hoon/hoon-expressions/rune/constants.md)
12
12
13Hoon 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).
13Hoon 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).
14
14
15−### [Limbs and Wings](@/docs/reference/hoon-expressions/limb/_index.md)
15+### [Limbs and Wings](@/docs/hoon/hoon-expressions/limb/_index.md)
16
16
17Limb and wing expressions also lack runes.
17Limb and wing expressions also lack runes.
18
18
19## Runes Proper
19## Runes Proper
20
20
21−### [`. dot` (Nock)](@/docs/reference/hoon-expressions/rune/dot.md)
21+### [`. dot` (Nock)](@/docs/hoon/hoon-expressions/rune/dot.md)
22
22
23Runes used for carrying out Nock operations in Hoon.
23Runes used for carrying out Nock operations in Hoon.
24
24
25−### [`! zap` (wild)](@/docs/reference/hoon-expressions/rune/zap.md)
25+### [`! zap` (wild)](@/docs/hoon/hoon-expressions/rune/zap.md)
26
26
27Wildcard category. Expressions that don't fit anywhere else go here.
27Wildcard category. Expressions that don't fit anywhere else go here.
28
28
29−### [`= tis` (Subject Modification)](@/docs/reference/hoon-expressions/rune/tis.md)
29+### [`= tis` (Subject Modification)](@/docs/hoon/hoon-expressions/rune/tis.md)
30
30
31Runes used to modify the subject.
31Runes used to modify the subject.
32
32
33−### [`? wut` (Conditionals)](@/docs/reference/hoon-expressions/rune/wut.md)
33+### [`? wut` (Conditionals)](@/docs/hoon/hoon-expressions/rune/wut.md)
34
34
35Runes used for branching on conditionals.
35Runes used for branching on conditionals.
36
36
37−### [`| bar` (Cores)](@/docs/reference/hoon-expressions/rune/bar.md)
37+### [`| bar` (Cores)](@/docs/hoon/hoon-expressions/rune/bar.md)
38
38
39Runes used to produce cores.
39Runes used to produce cores.
40
40
41−### [`+ lus` (Arms)](@/docs/reference/hoon-expressions/rune/lus.md)
41+### [`+ lus` (Arms)](@/docs/hoon/hoon-expressions/rune/lus.md)
42
42
43Runes used to define arms in a core.
43Runes used to define arms in a core.
44
44
45−### [`: col` (Cells)](@/docs/reference/hoon-expressions/rune/col.md)
45+### [`: col` (Cells)](@/docs/hoon/hoon-expressions/rune/col.md)
46
46
47Runes used to produce cells, which are pairs of nouns.
47Runes used to produce cells, which are pairs of nouns.
48
48
49−### [`% cen` (Calls)](@/docs/reference/hoon-expressions/rune/cen.md)
49+### [`% cen` (Calls)](@/docs/hoon/hoon-expressions/rune/cen.md)
50
50
51Runes used for making function calls in Hoon.
51Runes used for making function calls in Hoon.
52
52
53−### [`^ ket` (Casts)](@/docs/reference/hoon-expressions/rune/ket.md)
53+### [`^ ket` (Casts)](@/docs/hoon/hoon-expressions/rune/ket.md)
54
54
55Runes that let us adjust types without violating type constraints.
55Runes that let us adjust types without violating type constraints.
56
56
57−### [`$ buc` (Structures)](@/docs/reference/hoon-expressions/rune/buc.md)
57+### [`$ buc` (Structures)](@/docs/hoon/hoon-expressions/rune/buc.md)
58
58
59Runes used for defining custom types.
59Runes used for defining custom types.
60
60
61−### [`; mic` (Make)](@/docs/reference/hoon-expressions/rune/mic.md)
61+### [`; mic` (Make)](@/docs/hoon/hoon-expressions/rune/mic.md)
62
62
63Miscellaneous useful macros.
63Miscellaneous useful macros.
64
64
65−### [`~ sig` (Hints)](@/docs/reference/hoon-expressions/rune/sig.md)
65+### [`~ sig` (Hints)](@/docs/hoon/hoon-expressions/rune/sig.md)
66
66
67Runes that use Nock `11` to pass non-semantic info to the interpreter.
67Runes that use Nock `11` to pass non-semantic info to the interpreter.
68
68
69−### [`--`, `==` (Terminators)](@/docs/reference/hoon-expressions/rune/terminators.md)
69+### [`--`, `==` (Terminators)](@/docs/hoon/hoon-expressions/rune/terminators.md)
70
70
71Runes used to terminate expressions.
71Runes used to terminate expressions.
hoon/hoon-tutorial/_index.md+1−1
@@ -49,7 +49,7 @@ Chapter 2 covers the type system, and writing apps, and the workings of the Arvo
49
49
50Consult the [standard libary documentation](@/docs/hoon/library/_index.md) or [rune reference](@/docs/hoon/hoon-expressions/_index.md) to look up any unknown rune or standard library function you don't understand.
50Consult the [standard libary documentation](@/docs/hoon/library/_index.md) or [rune reference](@/docs/hoon/hoon-expressions/_index.md) to look up any unknown rune or standard library function you don't understand.
51
51
52−As you work your way through these lessons you may want to work on example problems from the [Hoon Workbook](@/docs/hoon/workbook/_index.md) for practice. Once you finish the lessons here you may want to write more versatile Hoon programs which can make use of more of your urbit's environment, in which case you'll want to check out the [Generators](@/docs/hoon/hoon-tutorial/generators.md) documentation. Or maybe you'd like to learn how to write a [Gall app](content/docs/learn/arvo/gall.md). Learn about [Udon](@/docs/arvo/sail-and-udon.md), Urbit's stripped-down version of Markdown. Or learn [Sail](@/docs/arvo/sail-and-udon.md), a subset of Hoon used for generating XML nodes.
52+As you work your way through these lessons you may want to work on example problems from the [Hoon Workbook](@/docs/hoon/workbook/_index.md) for practice. Once you finish the lessons here you may want to write more versatile Hoon programs which can make use of more of your urbit's environment, in which case you'll want to check out the [Generators](@/docs/hoon/hoon-tutorial/generators.md) documentation. Or maybe you'd like to learn how to write a [Gall app](@/docs/arvo/gall.md). Learn about [Udon](@/docs/arvo/sail-and-udon.md), Urbit's stripped-down version of Markdown. Or learn [Sail](@/docs/arvo/sail-and-udon.md), a subset of Hoon used for generating XML nodes.
53
53
54
54
55> Last major revision of this section: February 2019
55> Last major revision of this section: February 2019
hoon/hoon-tutorial/bank-account.md+1−1
@@ -74,7 +74,7 @@ Each of these arms produces a gate which takes an `@ud` argument. Each of these
74+>.$(balance (add balance amount))
74+>.$(balance (add balance amount))
75```
75```
76
76
77−`+>` is [wing syntax](/docs/reference/hoon-expressions/limb/limb/). This particularly wing construction looks for the the tail of the tail (the third element) in `$`, the subject of the gate we are in, which is the entire `new-account` door. We change `balance` to be the result of adding `balance` and `amount` and produce the door as the result. `withdraw` functions the same way only doing subtraction instead of addition.
77+`+>` is [wing syntax](/docs/hoon/hoon-expressions/limb/limb/). This particularly wing construction looks for the the tail of the tail (the third element) in `$`, the subject of the gate we are in, which is the entire `new-account` door. We change `balance` to be the result of adding `balance` and `amount` and produce the door as the result. `withdraw` functions the same way only doing subtraction instead of addition.
78
78
79It's important to notice that the sample, `balance`, is stored as part of the door rather than existing outside of it.
79It's important to notice that the sample, `balance`, is stored as part of the door rather than existing outside of it.
80
80
hoon/hoon-tutorial/conditionals.md+1−1
@@ -69,6 +69,6 @@ We only went into three "wut" runes in our walkthrough, but there are many other
69
69
70- `?|` takes an indefinite number of children. It's the logical "or" operator. It checks if at least one of its children is true.
70- `?|` takes an indefinite number of children. It's the logical "or" operator. It checks if at least one of its children is true.
71
71
72−To see an exhaustive list of "wut" runes, check out the [reference documentation on conditionals](/docs/reference/hoon-expressions/rune/wut/).
72+To see an exhaustive list of "wut" runes, check out the [reference documentation on conditionals](/docs/hoon/hoon-expressions/rune/wut/).
73
73
74### [Next Up: Reading -- Lists](../lists)
74### [Next Up: Reading -- Lists](../lists)
hoon/hoon-tutorial/doors.md+1−1
@@ -499,6 +499,6 @@ It's better simply to use the `~(arm rs arg)` syntax to replace the value of the
499
499
500## Conclusion
500## Conclusion
501
501
502−You've now reached the end of Chapter 1 of the Hoon tutorial. Ideally you should have a fair understanding of the fundamental concepts of subject-oriented programming: limbs, legs, faces, wings, arms, cores, gates, and doors. If you can master these concepts you should have little or no trouble learning to write substantial Hoon programs. Continue to [Chapter 2](../hoon-programs) to get started.
502+You've now reached the end of Chapter 1 of the Hoon tutorial. Ideally you should have a fair understanding of the fundamental concepts of subject-oriented programming: limbs, legs, faces, wings, arms, cores, gates, and doors. If you can master these concepts you should have little or no trouble learning to write substantial Hoon programs. Continue to [Chapter 2](atoms-auras-and-simple-cell-types) to get started.
503
503
504### [Next Up: Walkthrough -- Bank Account](../bank-account)
504### [Next Up: Walkthrough -- Bank Account](../bank-account)
hoon/hoon-tutorial/hoon-syntax.md+2−2
@@ -308,10 +308,10 @@ Standard library functions are often built with other standard library functions
308
308
309The Hoon syntax can be intimidating for the uninitiated, so it's good to remember where you can look up expressions can be found. The [reference section](/docs/reference/) itself is a good place to find the reference materials that you need. These children sections are likely to be useful:
309The Hoon syntax can be intimidating for the uninitiated, so it's good to remember where you can look up expressions can be found. The [reference section](/docs/reference/) itself is a good place to find the reference materials that you need. These children sections are likely to be useful:
310
310
311−- The [Runes](/docs/reference/hoon-expressions/) page will show you how to use any Hoon rune.
311+- The [Runes](/docs/hoon/hoon-expressions/) page will show you how to use any Hoon rune.
312- The [Cheat sheet](/docs/reference/cheat-sheet/) is a more compact place to look up rune expressions.
312- The [Cheat sheet](/docs/reference/cheat-sheet/) is a more compact place to look up rune expressions.
313- The [Standard library](/docs/reference/library/) section has its sub-pages arranged by category. So arithmetic functions, for example, are all found on the same page.
313- The [Standard library](/docs/reference/library/) section has its sub-pages arranged by category. So arithmetic functions, for example, are all found on the same page.
314−- The [Hoon Style Guide](/docs/learn/hoon/style/) will show you how to write your Hoon code so that it's idiomatic and easily understood by others.
314+- The [Hoon Style Guide](/docs/hoon/style/) will show you how to write your Hoon code so that it's idiomatic and easily understood by others.
315
315
316### Debugging
316### Debugging
317
317
hoon/hoon-tutorial/setup.md+3−3
@@ -13,9 +13,9 @@ These may not look like numbers, but they are. Each urbit name is written in a
13
13
14## Installing Urbit
14## Installing Urbit
15
15
16−You can install Urbit on any Mac or Unix machine; if you're just trying out Urbit or creating a development ship, you can follow the steps for creating a development ship [here](/docs/using/creating-a-development-ship). On Windows, make a virtual Linux machine using VirtualBox or a similar tool.
16+You can install Urbit on any Mac or Unix machine; if you're just trying out Urbit or creating a development ship, you can follow the steps for creating a development ship [here](@/operations/#creating-a-development-ship). On Windows, make a virtual Linux machine using VirtualBox or a similar tool.
17
17
18−Once you're finished, you can [boot your very own ship](/docs/getting-started/booting-a-ship/#step-3-run-the-boot-command). While you can develop in Hoon on your own ship on the live network, we strongly suggest developing on a development ship first.
18+Once you're finished, you can [boot your very own ship](/operations/#booting-a-ship). While you can develop in Hoon on your own ship on the live network, we strongly suggest developing on a development ship first.
19
19
20## Getting started
20## Getting started
21
21
@@ -59,7 +59,7 @@ You'll see:
5917
5917
60```
60```
61
61
62−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 in [Chapter 1.2](docs/learn/hoon/hoon-tutorial/nouns/), but first let's write a very basic program.
62+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 in [Chapter 1.2](docs/hoon/hoon-tutorial/nouns/), but first let's write a very basic program.
63
63
64## Generators
64## Generators
65
65
hoon/troubleshooting.md+6−6
@@ -20,7 +20,7 @@ a correct Hoon file. These values are always correct.
20Usually, the line and column tell you everything you need to
20Usually, the line and column tell you everything you need to
21know. But the worst-case scenario for a syntax error is that,
21know. But the worst-case scenario for a syntax error is that,
22somewhere above, you've confused Hoon's tall form by using the
22somewhere above, you've confused Hoon's tall form by using the
23−wrong fanout for a rune. For example, `%+` ([**cenlus**](@/docs/reference/hoon-expressions/rune/cen.md#cenlus),
23+wrong fanout for a rune. For example, `%+` ([**cenlus**](@/docs/hoon/hoon-expressions/rune/cen.md#cenlus),
24a function call whose sample is a cell) has three subhoons:
24a function call whose sample is a cell) has three subhoons:
25
25
26```hoon
26```hoon
@@ -100,7 +100,7 @@ means you tried to pound a square peg into a round hole.
100What was the peg and what was the hole? Hoon doesn't tell you by
100What was the peg and what was the hole? Hoon doesn't tell you by
101default, because moral fiber, and also because in too many cases
101default, because moral fiber, and also because in too many cases
102trivial errors lead to large intimidating dumps. However, you
102trivial errors lead to large intimidating dumps. However, you
103−can use the `~!` rune ([**sigzap**](@/docs/reference/hoon-expressions/rune/sig.md#sigzap)) to print the type of
103+can use the `~!` rune ([**sigzap**](@/docs/hoon/hoon-expressions/rune/sig.md#sigzap)) to print the type of
104any hoon in your stack trace.
104any hoon in your stack trace.
105
105
106For instance, you wrote `(foo bar)` and got a `nest-fail`. Change
106For instance, you wrote `(foo bar)` and got a `nest-fail`. Change
@@ -130,7 +130,7 @@ function.
130
130
131These are errors caused by type inference in pattern matching.
131These are errors caused by type inference in pattern matching.
132`mint-vain` means this hoon is never executed. `mint-lost` means
132`mint-vain` means this hoon is never executed. `mint-lost` means
133−there's a case in a `?-` ([**wuthep**](@/docs/reference/hoon-expressions/rune/wut.md#wuthep)) that isn't handled.
133+there's a case in a `?-` ([**wuthep**](@/docs/hoon/hoon-expressions/rune/wut.md#wuthep)) that isn't handled.
134
134
135## Runtime crashes
135## Runtime crashes
136
136
@@ -144,7 +144,7 @@ infinite loop will time out either too slowly or too fast). The
144stack trace will show what your code was doing when interrupted.
144stack trace will show what your code was doing when interrupted.
145
145
146The counterpart of `~!` for runtime crashes is `~|`
146The counterpart of `~!` for runtime crashes is `~|`
147−([**sigbar**](@/docs/reference/hoon-expressions/rune/sig.md#sigbar)):
147+([**sigbar**](@/docs/hoon/hoon-expressions/rune/sig.md#sigbar)):
148
148
149```hoon
149```hoon
150~| foo
150~| foo
@@ -160,7 +160,7 @@ The worst possibility, of course, is that your code runs but does
160the wrong thing. This is relatively unusual in a typed
160the wrong thing. This is relatively unusual in a typed
161functional language, but it still happens.
161functional language, but it still happens.
162
162
163−`~&` ([**sigpam**](@/docs/reference/hoon-expressions/rune/sig.md#sigpam)) is Hoon's debugging printf.
163+`~&` ([**sigpam**](@/docs/hoon/hoon-expressions/rune/sig.md#sigpam)) is Hoon's debugging printf.
164This pretty-prints its argument:
164This pretty-prints its argument:
165
165
166```hoon
166```hoon
@@ -169,7 +169,7 @@ This pretty-prints its argument:
169```
169```
170
170
171will always print `foo` every time it executes. A variant is
171will always print `foo` every time it executes. A variant is
172−`~?` ([**sigwut**](@/docs/reference/hoon-expressions/rune/sig.md#sigwut)), which prints only if a condition is
172+`~?` ([**sigwut**](@/docs/hoon/hoon-expressions/rune/sig.md#sigwut)), which prints only if a condition is
173true:
173true:
174
174
175```hoon
175```hoon