on master help sign in
fixes broken links
ee169bfJoseph Bryan
docs/about/contributing.md+1−1
@@ -16,7 +16,7 @@ for improving our [code](https://github.com/urbit/urbit/) and
16Our official guide to contributing can be found
16Our official guide to contributing can be found
17[here](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md),
17[here](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md),
18which is most useful for large and low-level changes. For simpler
18which is most useful for large and low-level changes. For simpler
19−revisions, refer to [Hoon Syntax](/hoon/syntax) for an in-depth guide to
19+revisions, refer to [Hoon Syntax](../../hoon/syntax) for an in-depth guide to
20good Hoon. Alternatively, [browse the
20good Hoon. Alternatively, [browse the
21source](https://github.com/urbit/arvo/blob/master/arvo/hoon.hoon).
21source](https://github.com/urbit/arvo/blob/master/arvo/hoon.hoon).
22
22
docs/arvo/basic.md+6−6
@@ -163,7 +163,7 @@ You can write:
163### Lines 12-34
163### Lines 12-34
164
164
165Now let's quickly walk through this code line-by-line. Lines 12-34 are
165Now let's quickly walk through this code line-by-line. Lines 12-34 are
166−wrapped in a `|%` ('[barcen](/hoon/twig/bar-core/cen-core/)'), which produces a core. Cores are a
166+wrapped in a `|%` ('[barcen](../../hoon/twig/bar-core/cen-core/)'), which produces a core. Cores are a
167fundamental datatype in Hoon, similar to a struct, class, or object. A
167fundamental datatype in Hoon, similar to a struct, class, or object. A
168core is just a map of names to any kind of code, whether it be functions
168core is just a map of names to any kind of code, whether it be functions
169or data. Each element in this map begins with a `++` followed by the
169or data. Each element in this map begins with a `++` followed by the
@@ -182,7 +182,7 @@ Let's step into each of the three arms within our core.
182 (add (five a) (three a))
182 (add (five a) (three a))
183 --
183 --
184
184
185−`|=` ('[bartis](/hoon/twig/bar-core/tis-gate/)') produces a function, much like a lambda in lisp. It
185+`|=` ('[bartis](../../hoon/twig/bar-core/tis-gate/)') produces a function, much like a lambda in lisp. It
186takes two children:
186takes two children:
187
187
1881. A set of argument(s). In this case our argument set only contains
1881. A set of argument(s). In this case our argument set only contains
@@ -207,7 +207,7 @@ takes two children:
207As above, `++three` takes an integer argument, `a`, and then executes
207As above, `++three` takes an integer argument, `a`, and then executes
208the remainder of the code with `a` set to the actual arguments.
208the remainder of the code with `a` set to the actual arguments.
209
209
210−Similarly, `=|` ('[tisbar](/hoon/twig/tis-flow/bar-new/)') pushes its first child, `b` into our context
210+Similarly, `=|` ('[tisbar](../../hoon/twig/tis-flow/bar-new/)') pushes its first child, `b` into our context
211(in other words, it declares a variable `b`) and executes the remainder
211(in other words, it declares a variable `b`) and executes the remainder
212of the code. However, `b` is not an argument; `=|` sets `b` to the
212of the code. However, `b` is not an argument; `=|` sets `b` to the
213default value of whatever type it is declared as. Since the default
213default value of whatever type it is declared as. Since the default
@@ -225,10 +225,10 @@ value of an atom is `0`, b is set to `0`.
225So now we have two variables: `a` is set to our input, and `b` is
225So now we have two variables: `a` is set to our input, and `b` is
226initialized to `0`.
226initialized to `0`.
227
227
228−One way to think about `|-` ('[barhep](/hoon/twig/bar-core/hep-loop/)') is that it lays down a recursion
228+One way to think about `|-` ('[barhep](../../hoon/twig/bar-core/hep-loop/)') is that it lays down a recursion
229point. More on this later.
229point. More on this later.
230
230
231−`^-` ('[kethep](/hoon/core/ket-cast/hep-cast/)') is just a cast that sets the result of the remainder of
231+`^-` ('[kethep](../../hoon/core/ket-cast/hep-cast/)') is just a cast that sets the result of the remainder of
232the code to an unsigned integer, `@u`.
232the code to an unsigned integer, `@u`.
233
233
234In pseudocode, the last three lines read like this: if `a` is less than
234In pseudocode, the last three lines read like this: if `a` is less than
@@ -272,7 +272,7 @@ our cheatsheat at the bottom.
272 =(a b) test equality
272 =(a b) test equality
273 (function args ...) call function with args
273 (function args ...) call function with args
274
274
275−Lookup each of these expressions (and all others!) in the [Twig Expressions](/hoon/twig/) definition.
275+Lookup each of these expressions (and all others!) in the [Twig Expressions](../../hoon/twig/) definition.
276
276
277### New material
277### New material
278
278
docs/arvo/network.md+1−1
@@ -57,7 +57,7 @@ do that is to poke it from the command line, which we we did with
57`:echo 5` (`:[app-name] [argument(s)]`).
57`:echo 5` (`:[app-name] [argument(s)]`).
58
58
59In this case, `++poke-noun` takes an argument `arg` and prints it out
59In this case, `++poke-noun` takes an argument `arg` and prints it out
60−with `~&` ([sigpam](/hoon/twig/sig-hint/pam-dump/)). This is an unusual
60+with `~&` ([sigpam](../../hoon/twig/sig-hint/pam-dump/)). This is an unusual
61rune that formally "does nothing", but the interpreter detects it and
61rune that formally "does nothing", but the interpreter detects it and
62printfs the first child, before executing the second as if the first
62printfs the first child, before executing the second as if the first
63didn't exist. This is a slightly hacky way of printing to the console,
63didn't exist. This is a slightly hacky way of printing to the console,
docs/arvo/subject.md+3−3
@@ -15,7 +15,7 @@ Now we're going to cover the boiler plate that we skimmed over earlier.
15 =< (sum [1.000 2.000])
15 =< (sum [1.000 2.000])
16
16
17The first rune, `:-` (colhep, aka
17The first rune, `:-` (colhep, aka
18−[:cons](/hoon/twig/col-cell/hep-cons/)), constructs the 2-element cell
18+[:cons](../../hoon/twig/col-cell/hep-cons/)), constructs the 2-element cell
19that will be our program. The first element, `%say`, tells the
19that will be our program. The first element, `%say`, tells the
20interpreter what to produce--in this case a value.
20interpreter what to produce--in this case a value.
21
21
@@ -28,7 +28,7 @@ Similarly, the rest of the program (which we construct with another
28producing a value of type `noun`, and the code that we run to actually
28producing a value of type `noun`, and the code that we run to actually
29produce our value of the type `noun`.
29produce our value of the type `noun`.
30
30
31−`=<` ([tisgal](/hoon/twig/tis-flow/gal-rap/)) is a rune that takes two
31+`=<` ([tisgal](../../hoon/twig/tis-flow/gal-rap/)) is a rune that takes two
32children. The second child is the context against which we run the first
32children. The second child is the context against which we run the first
33child. So in this case, we are running the expression
33child. So in this case, we are running the expression
34`(sum [1.000 2.000])` against everything contained within the `|%`. In
34`(sum [1.000 2.000])` against everything contained within the `|%`. In
@@ -72,7 +72,7 @@ allows a sort of reification of the context through continutations, and
72some may see a parallel to Forth's stack, but Hoon takes takes the
72some may see a parallel to Forth's stack, but Hoon takes takes the
73concept one step further.
73concept one step further.
74
74
75−Our starting subject is the [standard library](/hoon/library), which is
75+Our starting subject is the [standard library](../../hoon/library), which is
76defined in `/arvo/hoon.hoon` and `/arvo/zuse.hoon`. This is where
76defined in `/arvo/hoon.hoon` and `/arvo/zuse.hoon`. This is where
77functions like `add` are defined. When we define a core with `|%`, we
77functions like `add` are defined. When we define a core with `|%`, we
78don't throw away the subject (i.e. the standard library); rather, we
78don't throw away the subject (i.e. the standard library); rather, we
docs/arvo/subscriptions.md+9−9
@@ -75,42 +75,42 @@ Cheat sheet:
75
75
76- `&` (pam) can either be the boolean true (as can `%.y`, `0`), or
76- `&` (pam) can either be the boolean true (as can `%.y`, `0`), or
77 the irregular wide form of the `?&`
77 the irregular wide form of the `?&`
78− ([wutpam](/hoon/twig/wut-test/pam-and)) rune, which computes
78+ ([wutpam](../../hoon/twig/wut-test/pam-and)) rune, which computes
79 logical `AND` on its two children.
79 logical `AND` on its two children.
80
80
81- Similar to `&`,`|` is either the boolean false (along with `%.n` and
81- Similar to `&`,`|` is either the boolean false (along with `%.n` and
82 `1`), or the irregular short for of `?|`
82 `1`), or the irregular short for of `?|`
83− ([wutbar](/hoon/twig/wut-test/bar-or)), which computes logical `OR`
83+ ([wutbar](../../hoon/twig/wut-test/bar-or)), which computes logical `OR`
84 on its two children.
84 on its two children.
85
85
86- `!` is the irregular wide form of `?!`
86- `!` is the irregular wide form of `?!`
87− ([wutzap](/hoon/twig/wut-test/zap-not/)), which computes logical
87+ ([wutzap](../../hoon/twig/wut-test/zap-not/)), which computes logical
88 `NOT` on its child.
88 `NOT` on its child.
89
89
90−- `?~` ([wutsig](/hoon/twig/wut-test/sig-ifno/)) is basically an
90+- `?~` ([wutsig](../../hoon/twig/wut-test/sig-ifno/)) is basically an
91 if-then-else that checks whether condition `p` is `~` (null). `?~`
91 if-then-else that checks whether condition `p` is `~` (null). `?~`
92 is slightly different from `?:(~ %tru %fal)` in that `?~` reduces to
92 is slightly different from `?:(~ %tru %fal)` in that `?~` reduces to
93 `?:($=(%type value) %tru %false)`. `$=`
93 `?:($=(%type value) %tru %false)`. `$=`
94− ([buctis](/hoon/twig/buc-mold/tis-coat/)) tests whether value `q` is
94+ ([buctis](../../hoon/twig/buc-mold/tis-coat/)) tests whether value `q` is
95 of type `p`.
95 of type `p`.
96 <!--One thing to watch out for in hoon: if you do `?~`, it
96 <!--One thing to watch out for in hoon: if you do `?~`, it
97 affects the type of the conditional value: XXexample-->
97 affects the type of the conditional value: XXexample-->
98
98
99−- `:_` ([colcab](/hoon/twig/col-cell/cab-scon/)) is inverted `:-`: it
99+- `:_` ([colcab](../../hoon/twig/col-cell/cab-scon/)) is inverted `:-`: it
100 accepts `p` and `q`, and produces `[q p]`.
100 accepts `p` and `q`, and produces `[q p]`.
101
101
102- `++bowl` is the type of the system state within our app. For
102- `++bowl` is the type of the system state within our app. For
103 example, it includes things like `our`, the name of the host urbit,
103 example, it includes things like `our`, the name of the host urbit,
104 and `now`, the current time.
104 and `now`, the current time.
105
105
106−- `$%` ([buccen](/hoon/twig/buc-mold/cen-book/)) is a type
106+- `$%` ([buccen](../../hoon/twig/buc-mold/cen-book/)) is a type
107 constructor: it defines a new type, composed of `n` types that it is
107 constructor: it defines a new type, composed of `n` types that it is
108 passed. For example `$% @ * ^ ==` is the type of either `@`,
108 passed. For example `$% @ * ^ ==` is the type of either `@`,
109 `*`, or a cell `^`. <!--XX this is a union, right?-->
109 `*`, or a cell `^`. <!--XX this is a union, right?-->
110
110
111- You may have noticed the separate `|%`
111- You may have noticed the separate `|%`
112− ([barcen](/hoon/twig/bar-core/cen-core/)) above the application core
112+ ([barcen](../../hoon/twig/bar-core/cen-core/)) above the application core
113− `|_` ([barcab](/hoon/twig/bar-core/cab-door/). We usually put our
113+ `|_` ([barcab](../../hoon/twig/bar-core/cab-door/). We usually put our
114 types in another core on top of the application core. We can access
114 types in another core on top of the application core. We can access
115 these type from our `|_` because in `hoon.hoon` files, all cores are
115 these type from our `|_` because in `hoon.hoon` files, all cores are
116 called against each other. (The shorthand for 'called' is `=>`.)
116 called against each other. (The shorthand for 'called' is `=>`.)
docs/hoon/library/4h.md+1−1
@@ -61,7 +61,7 @@ Examples
61Parse backslash
61Parse backslash
62
62
63Parses ASCII character 92, the backslash. Note the extra `\` in the calling of
63Parses ASCII character 92, the backslash. Note the extra `\` in the calling of
64−`bas` with [`++just`](/doc/hoon/library/2ec#++just) is to escape the escape
64+`bas` with [`++just`](/docs/hoon/library/2ec#++just) is to escape the escape
65character, `\`.
65character, `\`.
66
66
67Source
67Source
docs/hoon/library/zuse/core/epur.md+1−1
@@ -12,7 +12,7 @@ Parses an entire URL.
12Accepts
12Accepts
13-------
13-------
14
14
15−`a` is a [`++cord`](/doc/hoon/library/1#++cord).
15+`a` is a [`++cord`](/docs/hoon/library/1#++cord).
16
16
17Produces
17Produces
18--------
18--------
docs/hoon/library/zuse/core/yu.md+1−1
@@ -153,7 +153,7 @@ Examples
153Back-shifted leap second dates
153Back-shifted leap second dates
154
154
155Produces a [`++list`]() of absolute dates ([`@da`]()s) that represent the Urbit
155Produces a [`++list`]() of absolute dates ([`@da`]()s) that represent the Urbit
156−Galactc Time equivalents of the UTC leap second dates in [`++les`](/doc/hoon/library/3bc#++les).
156+Galactc Time equivalents of the UTC leap second dates in [`++les`](/docs/hoon/library/3bc#++les).
157
157
158Produces
158Produces
159--------
159--------
docs/hoon/library/zuse/diff.md+1−1
@@ -227,7 +227,7 @@ Examples
227Find common
227Find common
228
228
229Finds a subsequence of repeated elements within two
229Finds a subsequence of repeated elements within two
230−[`++list`](/doc/hoon/library/1#++list)s, producing a [\`++tape]().
230+[`++list`](/docs/hoon/library/1#++list)s, producing a [\`++tape]().
231
231
232Accepts
232Accepts
233-------
233-------
docs/hoon/library/zuse/gate/jesc.md+1−1
@@ -7,7 +7,7 @@ navhome: /docs
7
7
8Escape JSON character
8Escape JSON character
9
9
10−Produces a [`++tape`]() of an escaped [`++json`](/doc/hoon/library/3bi#++json) character `a`.
10+Produces a [`++tape`]() of an escaped [`++json`](/docs/hoon/library/3bi#++json) character `a`.
11
11
12Accepts
12Accepts
13-------
13-------
docs/hoon/library/zuse/gate/tope.md+1−1
@@ -24,7 +24,7 @@ A `++path`.
24 ^- path
24 ^- path
25 [(scot %p p.bem) q.bem (scot r.bem) (flop s.bem)]
25 [(scot %p p.bem) q.bem (scot r.bem) (flop s.bem)]
26
26
27−Parses a [`++beam`]() to a [`++path`](/doc/hoon/library/1#++path).
27+Parses a [`++beam`]() to a [`++path`](/docs/hoon/library/1#++path).
28
28
29 ~zod/try=/zop> (tope [~zod %main ud/1] /hook/down/sur)
29 ~zod/try=/zop> (tope [~zod %main ud/1] /hook/down/sur)
30 /~zod/main/1/sur/down/hook
30 /~zod/main/1/sur/down/hook
docs/hoon/syntax.md+2−2
@@ -371,7 +371,7 @@ long names and/or kebab-case.
371
371
372If you came all this way to learn how to write apps, you're all
372If you came all this way to learn how to write apps, you're all
373set. This is about all you need to know to start getting your
373set. This is about all you need to know to start getting your
374−hands dirty. Refer back here or to the [standard library](/hoon/library) when
374+hands dirty. Refer back here or to the [standard library](../../hoon/library) when
375−needed, but for now, move on to [Arvo](/arvo) to continue learning.
375+needed, but for now, move on to [Arvo](../../arvo) to continue learning.
376
376
377If, however, good enough is *not* enough, feel free to dive deeper:
377If, however, good enough is *not* enough, feel free to dive deeper: