on master help sign in
Merge pull request #1312 from urbit/update-remaining-home-references
d166c65tinnus-napbus
content/docs/arvo/clay/architecture.md+1−1
@@ -90,7 +90,7 @@ blob store for performance reasons.
90Recall that a desk is a series of numbered commits. Not every
90Recall that a desk is a series of numbered commits. Not every
91commit in a desk must be numbered. For example, if the `%base` desk
91commit in a desk must be numbered. For example, if the `%base` desk
92has had 50 commits since `%foo` was forked from it, then a merge
92has had 50 commits since `%foo` was forked from it, then a merge
93−from `%base` to `%foo` will only add a single revision number to home,
93+from `%base` to `%foo` will only add a single revision number,
94although the full commit history will be accessible by traversing
94although the full commit history will be accessible by traversing
95the parentage of the individual commits.
95the parentage of the individual commits.
96
96
content/docs/arvo/clay/marks/using-marks.md+3−3
@@ -159,21 +159,21 @@ If we try merging diffs `a` and `c` however, we get `~` because of a conflict:
159If we run `+mash` on `a` and `b` we get the same diff as with `+join` (sans the `unit`):
159If we run `+mash` on `a` and `b` we get the same diff as with `+join` (sans the `unit`):
160
160
161```
161```
162−> (mash:txt-nave [our %home diff-a] [our %blah diff-b])
162+> (mash:txt-nave [our %base diff-a] [our %blah diff-b])
163[~ ~[[%.n p=<|foo|> q=<|zap|>] [%.n p=<|bar|> q=<|zoo|>] [%.y p=1]]]
163[~ ~[[%.n p=<|foo|> q=<|zap|>] [%.n p=<|bar|> q=<|zoo|>] [%.y p=1]]]
164```
164```
165
165
166If we `+mash` `a` and `c`, however, we get a diff with the conflict annotated rather than just `~`:
166If we `+mash` `a` and `c`, however, we get a diff with the conflict annotated rather than just `~`:
167
167
168```
168```
169−> (mash:txt-nave [our %home diff-a] [our %blah diff-c])
169+> (mash:txt-nave [our %base diff-a] [our %blah diff-c])
170[ ~
170[ ~
171 ~[
171 ~[
172 [%.y p=1]
172 [%.y p=1]
173 [ %.n
173 [ %.n
174 p=<|bar|>
174 p=<|bar|>
175 q
175 q
176− <|>>>>>>>>>>>> ~zod/home zoo ++++++++++++ bar ------------ bla <<<<<<<<<<<< ~zod/blah|>
176+ <|>>>>>>>>>>>> ~zod/base zoo ++++++++++++ bar ------------ bla <<<<<<<<<<<< ~zod/blah|>
177 ]
177 ]
178 [%.y p=1]
178 [%.y p=1]
179 ]
179 ]
content/docs/arvo/clay/marks/writing-marks.md+8−8
@@ -135,7 +135,7 @@ We've also added a `+mime` arm to `+grow` for converting _from_ our `%csv` `mark
135
135
136Additionally, we've used the `+validate` function in a few places to make sure our CSV data has consistent row lengths.
136Additionally, we've used the `+validate` function in a few places to make sure our CSV data has consistent row lengths.
137
137
138−If we save the above mark file as `csv.hoon` in `/mar` and `|commit %home`, we should now be able to import CSV files into Urbit. Let's give it a go. In the root of our `%home` `desk`, let's add a file named `foo.csv` with the following contents:
138+If we save the above mark file as `csv.hoon` in `/mar` and `|commit %base`, we should now be able to import CSV files into Urbit. Let's give it a go. In the root of our `%base` `desk`, let's add a file named `foo.csv` with the following contents:
139
139
140```
140```
141foo,bar,baz
141foo,bar,baz
@@ -143,34 +143,34 @@ blah,blah,blah
1431,2,3
1431,2,3
144```
144```
145
145
146−If we now `|commit %home`, we should see it's been successfully added:
146+If we now `|commit %base`, we should see it's been successfully added:
147
147
148```
148```
149−> |commit %home
149+> |commit %base
150>=
150>=
151−+ /~zod/home/4/foo/csv
151++ /~zod/base/4/foo/csv
152```
152```
153
153
154And if we try reading the file with the `-read` thread:
154And if we try reading the file with the `-read` thread:
155
155
156```
156```
157−> -read [%x our %home da+now /foo/csv]
157+> -read [%x our %base da+now /foo/csv]
158~[<|foo bar baz|> <|blah blah blah|> <|1 2 3|>]
158~[<|foo bar baz|> <|blah blah blah|> <|1 2 3|>]
159```
159```
160
160
161We can see our `%csv` `mark` has successfully converted our `foo.csv` file to a `(list (list @t))` when it was imported.
161We can see our `%csv` `mark` has successfully converted our `foo.csv` file to a `(list (list @t))` when it was imported.
162
162
163−Let's try the other direction now. We can create a new `bar.csv` files in the root of `%home` from the dojo like so:
163+Let's try the other direction now. We can create a new `bar.csv` files in the root of `%base` from the dojo like so:
164
164
165```
165```
166> */bar/csv ~[['abc' 'def' ~] ['ghi' 'jkl' ~]]
166> */bar/csv ~[['abc' 'def' ~] ['ghi' 'jkl' ~]]
167−+ /~zod/home/5/bar/csv
167++ /~zod/base/5/bar/csv
168```
168```
169
169
170And if we check it in the terminal on the Unix side we can see it's been correctly encoded:
170And if we check it in the terminal on the Unix side we can see it's been correctly encoded:
171
171
172```
172```
173−> cat zod/home/bar.csv
173+> cat zod/base/bar.csv
174abc,def
174abc,def
175ghi,jkl
175ghi,jkl
176```
176```
content/docs/arvo/gall/gall.md+3−3
@@ -302,19 +302,19 @@ a `%wake` card, which you will recieve in `+on-arvo`. It will come back
302on `/my/wire`.
302on `/my/wire`.
303
303
304```hoon
304```hoon
305−=/ =path /(scot %p our.hid)/home/(scot %da now.hid)/my-file/txt
305+=/ =path /(scot %p our.hid)/base/(scot %da now.hid)/my-file/txt
306=/ contents=cage [%txt !>(~['text file line 1' 'line 2'])]
306=/ contents=cage [%txt !>(~['text file line 1' 'line 2'])]
307[%pass /my/wire %arvo %c %info (foal:space:userlib path contents)]
307[%pass /my/wire %arvo %c %info (foal:space:userlib path contents)]
308```
308```
309
309
310This is a request to the `%c` vane (Clay, the filesystem vane) to write
310This is a request to the `%c` vane (Clay, the filesystem vane) to write
311−a file to `/my-file/txt` in the home desk. You will not receive a
311+a file to `/my-file/txt` in the base desk. You will not receive a
312response to this `note`.
312response to this `note`.
313
313
314```hoon
314```hoon
315=/ =path /my-file/txt
315=/ =path /my-file/txt
316=/ =moat [da+now.hid da+(add now.hid ~h1) path]
316=/ =moat [da+now.hid da+(add now.hid ~h1) path]
317−[%pass /my/wire %arvo %c %warp our.hid %home ~ %many & moat]
317+[%pass /my/wire %arvo %c %warp our.hid %base ~ %many & moat]
318```
318```
319
319
320This is a request to the `%c` vane to send us a `%writ` `card` whenever
320This is a request to the `%c` vane to send us a `%writ` `card` whenever
content/docs/azimuth/advanced-azimuth-tools.md+3−4
@@ -20,7 +20,7 @@ fakezod](https://urbit.org/using/develop/#creating-a-development-ship). You can
20do this with your live running ship but at this time this will need you to
20do this with your live running ship but at this time this will need you to
21modify the code so it's best to do this on a ship you can make mistakes on.
21modify the code so it's best to do this on a ship you can make mistakes on.
22
22
23−Be sure to have mounted your home desk so you can easily edit files on it. The
23+Be sure to have mounted your base desk so you can easily edit files on it. The
24first edit that will probably need to be made is in
24first edit that will probably need to be made is in
25[`app/claz.hoon`](https://github.com/urbit/urbit/blob/85435e9a81e105809d5d381b5d34fae1d4daa3b8/pkg/arvo/app/claz.hoon#L14).
25[`app/claz.hoon`](https://github.com/urbit/urbit/blob/85435e9a81e105809d5d381b5d34fae1d4daa3b8/pkg/arvo/app/claz.hoon#L14).
26The listed url will need to be changed to a valid Ethereum endpoint. infura.io
26The listed url will need to be changed to a valid Ethereum endpoint. infura.io
@@ -36,7 +36,7 @@ as a guide based on what action you are going to be performing. The maximum cost
36of your transaction will be the maximum gas units multiplied by the gwei you're
36of your transaction will be the maximum gas units multiplied by the gwei you're
37going to set later. You'll need at least this much in your account.
37going to set later. You'll need at least this much in your account.
38
38
39−Once you have made these changes be sure to run `|commit %home` to get them into
39+Once you have made these changes be sure to run `|commit %base` to get them into
40your ship.
40your ship.
41
41
42Next run `|start %claz` after which you'll be able to generate transactions.
42Next run `|start %claz` after which you'll be able to generate transactions.
@@ -49,7 +49,6 @@ Here we have an example of generating a transaction to spawn a ship. Something
49to note is that for this to be successful you'll need to actually have the right
49to note is that for this to be successful you'll need to actually have the right
50to spawn the ship in question. Let's break down the command.
50to spawn the ship in question. Let's break down the command.
51
51
52−
53`%generate` is how all commands to `claz` are going to start.
52`%generate` is how all commands to `claz` are going to start.
54
53
55`%/spawn/eth-txs` is simply the path for the output file
54`%/spawn/eth-txs` is simply the path for the output file
@@ -102,7 +101,7 @@ details on that are outside of the scope of this guide.
102`%/spawn-signed/txt` is the path to the output file.
101`%/spawn-signed/txt` is the path to the output file.
103
102
104`%/spawn/eth-txs` is the path to the transaction file we generated earlier. It
103`%/spawn/eth-txs` is the path to the transaction file we generated earlier. It
105−will need to be accessible so don't forget to `|commit %home` if you moved it to
104+will need to be accessible so don't forget to `|commit %base` if you moved it to
106a different pier.
105a different pier.
107
106
108`%/mykey/txt` is the path to your private key file. It should contain your
107`%/mykey/txt` is the path to your private key file. It should contain your
content/docs/glossary/arvo.md+5−1
@@ -9,18 +9,22 @@ manager. It contains [vanes](/docs/glossary/vane), which are kernel modules that
9essential system operations.
9essential system operations.
10
10
11Arvo being purely functional means that the state of the operating system at a given moment is completely determined by the sequence of events in the event log. In other words, the state of an Arvo instance is given by a lifecycle function
11Arvo being purely functional means that the state of the operating system at a given moment is completely determined by the sequence of events in the event log. In other words, the state of an Arvo instance is given by a lifecycle function
12+
12```
13```
13L: History ➜ State
14L: History ➜ State
14```
15```
16+
15where `History` consists of the set of all possible sequences of events in an Arvo event log.
17where `History` consists of the set of all possible sequences of events in an Arvo event log.
16
18
17Arvo coordinates and reloads vanes. It can be thought of as a traffic-director. Any vane needs to go through Arvo before reaching another vane. Events and their effects happen like so:
19Arvo coordinates and reloads vanes. It can be thought of as a traffic-director. Any vane needs to go through Arvo before reaching another vane. Events and their effects happen like so:
20+
18```
21```
19Unix event -> Vere -> Arvo -> vane -> Arvo
22Unix event -> Vere -> Arvo -> vane -> Arvo
20```
23```
24+
21Here, [Vere](/docs/glossary/vere) is the virtual machine running Urbit.
25Here, [Vere](/docs/glossary/vere) is the virtual machine running Urbit.
22
26
23−Arvo is located in `/home/sys/arvo.hoon` within your urbit.
27+Arvo is located in `/base/sys/arvo.hoon` within your urbit.
24
28
25Arvo vanes include [Ames](/docs/glossary/ames) for networking, [Behn](/docs/glossary/behn) for timing,
29Arvo vanes include [Ames](/docs/glossary/ames) for networking, [Behn](/docs/glossary/behn) for timing,
26[Clay](/docs/glossary/clay) for filesystem and typed revision control, [Dill](/docs/glossary/dill) for
30[Clay](/docs/glossary/clay) for filesystem and typed revision control, [Dill](/docs/glossary/dill) for
content/docs/glossary/behn.md+1−1
@@ -7,7 +7,7 @@ category = "arvo"
7
7
8**Behn** is the timing [vane](/docs/glossary/filesystem). It allows for applications to schedule events, which are managed in a simple priority queue. For example, [Clay](/docs/glossary/clay), the Urbit filesystem, uses Behn to keep track of time-specific file requests. [Eyre](/docs/glossary/eyre), the Urbit web vane, uses Behn for timing-out HTTP sessions.
8**Behn** is the timing [vane](/docs/glossary/filesystem). It allows for applications to schedule events, which are managed in a simple priority queue. For example, [Clay](/docs/glossary/clay), the Urbit filesystem, uses Behn to keep track of time-specific file requests. [Eyre](/docs/glossary/eyre), the Urbit web vane, uses Behn for timing-out HTTP sessions.
9
9
10−Behn is located in `/home/sys/vane/behn.hoon` within [Arvo](/docs/glossary/arvo).
10+Behn is located in `/base/sys/vane/behn.hoon` within [Arvo](/docs/glossary/arvo).
11
11
12### Further Reading
12### Further Reading
13
13
content/docs/glossary/clay.md+1−1
@@ -10,7 +10,7 @@ category = "arvo"
10
10
11A common way to use Clay is to create a pier, a directory that exists in and is visible in Unix. Changes are automatically recorded from Urbit to the Unix directory and vice versa. Just set it and forget it!
11A common way to use Clay is to create a pier, a directory that exists in and is visible in Unix. Changes are automatically recorded from Urbit to the Unix directory and vice versa. Just set it and forget it!
12
12
13−Clay is located at `/home/sys/vane/clay.hoon` within Arvo.
13+Clay is located at `/base/sys/vane/clay.hoon` within Arvo.
14
14
15### Further Reading
15### Further Reading
16
16
content/docs/glossary/dill.md+1−1
@@ -15,7 +15,7 @@ A keyboard event's journey from Unix to Dojo, the Urbit shell, can be imagined a
15Keystroke in Unix -> Vere (virtual machine) -> Arvo -> Dill -> the Dojo
15Keystroke in Unix -> Vere (virtual machine) -> Arvo -> Dill -> the Dojo
16```
16```
17
17
18−Dill is located at `/home/sys/vane/dill.hoon` within [Arvo](/docs/glossary/arvo).
18+Dill is located at `/base/sys/vane/dill.hoon` within [Arvo](/docs/glossary/arvo).
19
19
20### Further Reading
20### Further Reading
21
21
content/docs/glossary/eyre.md+1−1
@@ -10,7 +10,7 @@ category = "arvo"
10
10
11In general, apps and vanes do not call Eyre; rather, Eyre calls apps and vanes. Eyre uses [Ford](/docs/glossary/ford) and [Gall](/docs/glossary/gall) to functionally publish pages and facilitate communication with apps.
11In general, apps and vanes do not call Eyre; rather, Eyre calls apps and vanes. Eyre uses [Ford](/docs/glossary/ford) and [Gall](/docs/glossary/gall) to functionally publish pages and facilitate communication with apps.
12
12
13−Eyre is located at `/home/sys/vane/eyre.hoon` within [Arvo](/docs/glossary/arvo).
13+Eyre is located at `/base/sys/vane/eyre.hoon` within [Arvo](/docs/glossary/arvo).
14
14
15### Further Reading
15### Further Reading
16
16
content/docs/glossary/ford.md+1−1
@@ -10,7 +10,7 @@ category = "arvo"
10
10
11Ford neither accepts Unix events nor produces Unix effects. It exists entirely for the benefit of [Arvo](/docs/glossary/arvo) applications and other vanes, specifically [Clay](/docs/glossary/clay) and [Gall](/docs/glossary/gall).
11Ford neither accepts Unix events nor produces Unix effects. It exists entirely for the benefit of [Arvo](/docs/glossary/arvo) applications and other vanes, specifically [Clay](/docs/glossary/clay) and [Gall](/docs/glossary/gall).
12
12
13−Ford is located at `/home/sys/vane/ford.hoon` within [Arvo](/docs/glossary/arvo).
13+Ford is located at `/base/sys/vane/ford.hoon` within [Arvo](/docs/glossary/arvo).
14
14
15### Further Reading
15### Further Reading
16
16
content/docs/glossary/gall.md+1−1
@@ -8,7 +8,7 @@ category = "arvo"
8
8
9**Gall** is the application-management [vane](/docs/glossary/vane). Userspace apps –⁠ daemons, really –⁠ are started, stopped, and sandboxed by Gall. Gall provides developers with a consistent interface for connecting their app to [Arvo](/docs/glossary/arvo). It allows applications and other vanes to send messages to applications and subscribe to data streams. Messages coming into Gall are routed to the intended application, and the response comes back along the same route. If the intended target is on another [ship](/docs/glossary/ship), Gall will route it behind the scenes through [Ames](/docs/glossary/ames) to the other ship.
9**Gall** is the application-management [vane](/docs/glossary/vane). Userspace apps –⁠ daemons, really –⁠ are started, stopped, and sandboxed by Gall. Gall provides developers with a consistent interface for connecting their app to [Arvo](/docs/glossary/arvo). It allows applications and other vanes to send messages to applications and subscribe to data streams. Messages coming into Gall are routed to the intended application, and the response comes back along the same route. If the intended target is on another [ship](/docs/glossary/ship), Gall will route it behind the scenes through [Ames](/docs/glossary/ames) to the other ship.
10
10
11−Gall is located at `/home/sys/vane/gall.hoon` within Arvo.
11+Gall is located at `/base/sys/vane/gall.hoon` within Arvo.
12
12
13### Further Reading
13### Further Reading
14
14
content/docs/glossary/hoon.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
6
6
7Hoon is a strict, higher-order typed functional programming language that compiles itself to [Nock](/docs/glossary/nock). As a result Hoon code is effectively implemented by the interpreter [Vere](/docs/glossary/vere). Programs for the Urbit operating system and kernel, [Arvo](/docs/glossary/arvo), are written in Hoon.
7Hoon is a strict, higher-order typed functional programming language that compiles itself to [Nock](/docs/glossary/nock). As a result Hoon code is effectively implemented by the interpreter [Vere](/docs/glossary/vere). Programs for the Urbit operating system and kernel, [Arvo](/docs/glossary/arvo), are written in Hoon.
8
8
9−The Hoon source file is located in `/home/sys/hoon.hoon` within your Urbit.
9+The Hoon source file is located in `/base/sys/hoon.hoon` within your Urbit.
10
10
11### Further Reading
11### Further Reading
12
12
content/docs/glossary/iris.md+1−1
@@ -8,4 +8,4 @@ category = "arvo"
8
8
9**Iris** is the web-server [vane](/docs/glossary/vane) that handles everything HTTP-related on the server side. It is the counterpart to [Eyre](/docs/glossary/eyre), which is the client-facing HTTP vane.
9**Iris** is the web-server [vane](/docs/glossary/vane) that handles everything HTTP-related on the server side. It is the counterpart to [Eyre](/docs/glossary/eyre), which is the client-facing HTTP vane.
10
10
11−Iris is located at `/home/sys/vane/iris.hoon` within [Arvo](/docs/glossary/arvo).
11+Iris is located at `/base/sys/vane/iris.hoon` within [Arvo](/docs/glossary/arvo).
content/docs/hoon/guides/cli-tutorial.md+44−21
@@ -10,9 +10,10 @@ In this walkthrough we will go in-depth on how to build command line interface (
10applications in Urbit using the `shoe` library.
10applications in Urbit using the `shoe` library.
11
11
12There are three CLI apps that currently ship with urbit - `%dojo`, `%chat-cli`,
12There are three CLI apps that currently ship with urbit - `%dojo`, `%chat-cli`,
13−and `%shoe`. You should be familiar with the former two, the latter is an example
13+and `%shoe`. You should be familiar with the former two, the latter is an
14−app that shows off how the `shoe` library works that we will be looking at
14+example app that shows off how the `shoe` library works that we will be looking
15−closely. These are all Gall apps, and as such their source can be found in the `app/` folder of your `%home` desk.
15+at closely. These are all Gall apps, and their source can be found in the `app/`
16+folder of your `%base` desk.
16
17
17In [the `shoe` library](#the-shoe-library) we take a closer look at the `shoe` library and its
18In [the `shoe` library](#the-shoe-library) we take a closer look at the `shoe` library and its
18cores and how they are utilized in CLI apps. Then in [the `sole`
19cores and how they are utilized in CLI apps. Then in [the `sole`
@@ -26,7 +27,6 @@ lesson](/docs/hoon/hoon-school/generators#ask) on `sole` and `%ask`
26generators, which only covers the bare minimum necessary to write generators
27generators, which only covers the bare minimum necessary to write generators
27that take user input.
28that take user input.
28
29
29−
30## The `shoe` library {#the-shoe-library}
30## The `shoe` library {#the-shoe-library}
31
31
32Here we describe how sessions are identified, the specialized `card`s that Gall agents
32Here we describe how sessions are identified, the specialized `card`s that Gall agents
@@ -44,9 +44,11 @@ ship and which session on that ship if there are multiple.
44
44
45Gall agents with the `shoe` library are able to utilize `%shoe` `card`s. These
45Gall agents with the `shoe` library are able to utilize `%shoe` `card`s. These
46additions to the standard set of `cards` have the following shape:
46additions to the standard set of `cards` have the following shape:
47+
47```hoon
48```hoon
48[%shoe sole-ids=(list @ta) effect=shoe-effect]`
49[%shoe sole-ids=(list @ta) effect=shoe-effect]`
49```
50```
51+
50`sole-ids` is the `list` of session ids that the following `effect` is
52`sole-ids` is the `list` of session ids that the following `effect` is
51emitted to. An empty `sole-ids` sends the effect to all connected sessions.
53emitted to. An empty `sole-ids` sends the effect to all connected sessions.
52`shoe-effect`s, for now, are always of the shape `[%sole effect=sole-effect]`, where
54`shoe-effect`s, for now, are always of the shape `[%sole effect=sole-effect]`, where
@@ -144,14 +146,13 @@ This is a function for wrapping a `shoe` core, which has too many
144arms to be a valid Gall agent core. This turns it into a standard Gall agent core by
146arms to be a valid Gall agent core. This turns it into a standard Gall agent core by
145integrating the additional arms into the standard ones.
147integrating the additional arms into the standard ones.
146
148
147−
148## The `sole` library {#the-sole-library}
149## The `sole` library {#the-sole-library}
149
150
150−`shoe` apps may create specialized `card`s of the `[%shoe
151−(list @ta) shoe-effect]` shape, where `shoe-effect` currently just wrap `sole-effect`s, i.e. instructions for displaying text and producing other effects in the console.
151+`shoe` apps may create specialized `card`s of the `[%shoe (list @ta) shoe-effect]` shape, where `shoe-effect` currently just wrap `sole-effect`s, i.e. instructions for displaying text and producing other effects in the console.
152
152
153The list of possible `sole-effects` can be found in `/sur/sole.hoon`. A few
153The list of possible `sole-effects` can be found in `/sur/sole.hoon`. A few
154commonly used ones are as follows.
154commonly used ones are as follows.
155+
155- `[%txt tape]` is used to display a line of text.
156- `[%txt tape]` is used to display a line of text.
156- `[%bel ~]` is used to emit a beep.
157- `[%bel ~]` is used to emit a beep.
157- `[%pro sole-prompt]` is used to set the prompt.
158- `[%pro sole-prompt]` is used to set the prompt.
@@ -159,6 +160,7 @@ commonly used ones are as follows.
159
160
160For example, a `sole-effect` that beeps and displays `This is some text.` would
161For example, a `sole-effect` that beeps and displays `This is some text.` would
161be structured as
162be structured as
163+
162```hoon
164```hoon
163[%mor [%txt "This is some text."] [%bel ~] ~]
165[%mor [%txt "This is some text."] [%bel ~] ~]
164```
166```
@@ -180,20 +182,23 @@ intention is to connect their `%shoe` apps.
180On each fake ship start `%shoe` by entering `|start %shoe` into dojo. This will
182On each fake ship start `%shoe` by entering `|start %shoe` into dojo. This will
181automatically
183automatically
182change the prompt to `~zod:shoe>` and `~nus:shoe>`. Type `demo` and watch the following appear:
184change the prompt to `~zod:shoe>` and `~nus:shoe>`. Type `demo` and watch the following appear:
185+
183```
186```
184~zod ran the command
187~zod ran the command
185~zod:shoe>
188~zod:shoe>
186```
189```
190+
187`~zod ran the command` should be displayed in bold green text, signifying that
191`~zod ran the command` should be displayed in bold green text, signifying that
188the command originated locally.
192the command originated locally.
189
193
190−Now we will connect the sessions. Switch `~zod` back to dojo with `Ctrl-X` and enter `|link
194+Now we will connect the sessions. Switch `~zod` back to dojo with `Ctrl-X` and enter `|link ~nus %shoe`. If this succeeds you will see the following.
191−~nus %shoe`. If this succeeds you will see the following.
195+
192```
196```
193>=
197>=
194; ~nus is your neighbor
198; ~nus is your neighbor
195[linked to [p=~nus q=%shoe]]
199[linked to [p=~nus q=%shoe]]
196```
200```
201+
197Now `~zod` will have two `%shoe` sessions running - one local one on `~zod` and
202Now `~zod` will have two `%shoe` sessions running - one local one on `~zod` and
198one remote one on `~nus`, which you can access by pressing `Ctrl-X` until you see
203one remote one on `~nus`, which you can access by pressing `Ctrl-X` until you see
199`~nus:shoe>` from `~zod`'s console. On the other hand, you should not see
204`~nus:shoe>` from `~zod`'s console. On the other hand, you should not see
@@ -207,10 +212,12 @@ bold green text.
207
212
208Now try to link to `~zod`'s `%shoe` session from `~nus` by switching to the dojo
213Now try to link to `~zod`'s `%shoe` session from `~nus` by switching to the dojo
209on `~nus` and entering `|link ~zod %shoe`. You should see
214on `~nus` and entering `|link ~zod %shoe`. You should see
215+
210```
216```
211>=
217>=
212[unlinked from [p=~zod q=%shoe]]
218[unlinked from [p=~zod q=%shoe]]
213```
219```
220+
214and if you press `Ctrl-X` you will not get a `~zod:shoe>` prompt. This is
221and if you press `Ctrl-X` you will not get a `~zod:shoe>` prompt. This is
215because the example app is set up to always allow `~zod` to connect (as well as
222because the example app is set up to always allow `~zod` to connect (as well as
216subject moons if the ship happens to be a planet) but not `~nus`, so this
223subject moons if the ship happens to be a planet) but not `~nus`, so this
@@ -229,11 +236,12 @@ message means that `~nus` failed to connect to `~zod`'s `%shoe` session.
229
236
230`/+` is the Ford rune which imports libraries from the `/lib` directory into
237`/+` is the Ford rune which imports libraries from the `/lib` directory into
231the subject.
238the subject.
239+
232− * `shoe` is the `shoe` library.
240+- `shoe` is the `shoe` library.
233− * `verb` is a library used to print what a Gall agent is doing.
241+- `verb` is a library used to print what a Gall agent is doing.
234− * `dbug` is a library of debugging tools.
242+- `dbug` is a library of debugging tools.
235− * `default-agent` contains a Gall agent core with minimal implementations of
243+- `default-agent` contains a Gall agent core with minimal implementations of
236− required Gall arms.
244+ required Gall arms.
237
245
238```hoon
246```hoon
239|%
247|%
@@ -243,6 +251,7 @@ the subject.
243+$ card card:shoe
251+$ card card:shoe
244--
252--
245```
253```
254+
246The types used by the app.
255The types used by the app.
247
256
248`state-0` stores the state of the app, which is null as there is no state to
257`state-0` stores the state of the app, which is null as there is no state to
@@ -254,8 +263,7 @@ commands that can be entered by the user. Since this app only supports one
254command, it is unnecessary for it to have any associated data, thus the command
263command, it is unnecessary for it to have any associated data, thus the command
255is represented by `~`.
264is represented by `~`.
256
265
257−In a non-trivial context, a `command` is commonly given by `[%name
258−data]`, where `%name` is the identifier for the type of command and `data` is
266+In a non-trivial context, a `command` is commonly given by `[%name data]`, where `%name` is the identifier for the type of command and `data` is
259a type or list of types that contain data needed to execute the command. See
267a type or list of types that contain data needed to execute the command. See
260`app/chat-cli.hoon` for examples of commands, such as `[%say letter:store]` and
268`app/chat-cli.hoon` for examples of commands, such as `[%say letter:store]` and
261`[%delete path]`. This is not required though, and you could use something like
269`[%delete path]`. This is not required though, and you could use something like
@@ -264,7 +272,7 @@ a type or list of types that contain data needed to execute the command. See
264`card` is either an ordinary Gall agent `card` or a `%shoe` `card`, which takes
272`card` is either an ordinary Gall agent `card` or a `%shoe` `card`, which takes
265the shape `[%shoe sole-ids=(list @ta) effect=shoe-effect]`. A `%shoe` `card` is
273the shape `[%shoe sole-ids=(list @ta) effect=shoe-effect]`. A `%shoe` `card` is
266sent to all `sole`s listed in `sole-ids`, imaking them run the `sole-effect`
274sent to all `sole`s listed in `sole-ids`, imaking them run the `sole-effect`
267−specified by `effect` (i.e. printing some text). Here we can
275+specified by `effect` (i.e. printing some text). Here we can
268reference `card:shoe` because of `/+ shoe` at the beginning of the app.
276reference `card:shoe` because of `/+ shoe` at the beginning of the app.
269
277
270```hoon
278```hoon
@@ -272,6 +280,7 @@ reference `card:shoe` because of `/+ shoe` at the beginning of the app.
272=* state -
280=* state -
273::
281::
274```
282```
283+
275Add the bunt value of `state-0` to the head of the subject, then give it the
284Add the bunt value of `state-0` to the head of the subject, then give it the
276macro `state`. The `-` here is a lark expression referring to the head of the
285macro `state`. The `-` here is a lark expression referring to the head of the
277subject. This allows us to use `state` to refer to the state elsewhere in the
286subject. This allows us to use `state` to refer to the state elsewhere in the
@@ -293,13 +302,13 @@ producing a standard Gall agent core. Then we call wrap the Gall agent core with
293`agent:dbug`, endowing it with additional arms useful for debugging, and then
302`agent:dbug`, endowing it with additional arms useful for debugging, and then
294wrap again with `verb`.
303wrap again with `verb`.
295
304
296−
297```hoon
305```hoon
298|_ =bowl:gall
306|_ =bowl:gall
299+* this .
307+* this .
300 def ~(. (default-agent this %|) bowl)
308 def ~(. (default-agent this %|) bowl)
301 des ~(. (default:shoe this command) bowl)
309 des ~(. (default:shoe this command) bowl)
302```
310```
311+
303This is boilerplate Gall agent core code. We set `this` to be a macro for the
312This is boilerplate Gall agent core code. We set `this` to be a macro for the
304subject, which is the Gall agent core itself. We set `def` and `des` to be
313subject, which is the Gall agent core itself. We set `def` and `des` to be
305macros for initialized `default-agent` and `default:shoe` doors respectively.
314macros for initialized `default-agent` and `default:shoe` doors respectively.
@@ -323,23 +332,25 @@ the standard Gall arms:
323++ on-arvo on-arvo:def
332++ on-arvo on-arvo:def
324++ on-fail on-fail:def
333++ on-fail on-fail:def
325```
334```
335+
326These are minimalist Gall app arm implementations using the default behavior found in `def`.
336These are minimalist Gall app arm implementations using the default behavior found in `def`.
327
337
328Here begins the implementation of the additional arms required by the
338Here begins the implementation of the additional arms required by the
329`(shoe:shoe command)` interface.
339`(shoe:shoe command)` interface.
340+
330```hoon
341```hoon
331++ command-parser
342++ command-parser
332 |= sole-id=@ta
343 |= sole-id=@ta
333 ^+ |~(nail *(like [? command]))
344 ^+ |~(nail *(like [? command]))
334 (cold [& ~] (jest 'demo'))
345 (cold [& ~] (jest 'demo'))
335```
346```
347+
336`+command-parser` is of central importance - it is what is used to parse user
348`+command-parser` is of central importance - it is what is used to parse user
337input and transform it into `command`s for the app to execute. Writing a proper
349input and transform it into `command`s for the app to execute. Writing a proper
338command parser requires understanding of the Hoon parsing functions found in the
350command parser requires understanding of the Hoon parsing functions found in the
339standard library. How to do so may be found in the [parsing tutorial](/docs/hoon/guides/parsing). For now, it is sufficient to know that this arm matches the text "demo" and
351standard library. How to do so may be found in the [parsing tutorial](/docs/hoon/guides/parsing). For now, it is sufficient to know that this arm matches the text "demo" and
340produces a `[? command]`-shaped noun in response. Note how the `&` signifies that the command will be run as soon as it has been entered, without waiting for the user to press return.
352produces a `[? command]`-shaped noun in response. Note how the `&` signifies that the command will be run as soon as it has been entered, without waiting for the user to press return.
341
353
342−
343```hoon
354```hoon
344++ tab-list
355++ tab-list
345 |= sole-id=@ta
356 |= sole-id=@ta
@@ -347,47 +358,57 @@ produces a `[? command]`-shaped noun in response. Note how the `&` signifies tha
347 :~ ['demo' leaf+"run example command"]
358 :~ ['demo' leaf+"run example command"]
348 ==
359 ==
349```
360```
361+
350`+tab-list` is pretty much plug-n-play. For each command you want to be tab
362`+tab-list` is pretty much plug-n-play. For each command you want to be tab
351−completed, add an entry to the `list` begun by `:~` of the form `[%command
352−leaf+"description"]`. Now whenever the user types a partial command and presses
363+completed, add an entry to the `list` begun by `:~` of the form `[%command leaf+"description"]`. Now whenever the user types a partial command and presses
353tab, the console will display the list of commmands that match the partial
364tab, the console will display the list of commmands that match the partial
354command as well as the descriptions given here.
365command as well as the descriptions given here.
355
366
356Thus here we have that starting to type `demo` and pressing tab will result in
367Thus here we have that starting to type `demo` and pressing tab will result in
357the following output in the console:
368the following output in the console:
369+
358```
370```
359demo run example command
371demo run example command
360~zod:shoe> demo
372~zod:shoe> demo
361```
373```
374+
362with the remainder of `demo` now added to the input line.
375with the remainder of `demo` now added to the input line.
363
376
364Next we have `+on-command`, which is called whenever `+command-parser`
377Next we have `+on-command`, which is called whenever `+command-parser`
365recognizes that `demo` has been entered by a user.
378recognizes that `demo` has been entered by a user.
379+
366```hoon
380```hoon
367++ on-command
381++ on-command
368 |= [sole-id=@ta =command]
382 |= [sole-id=@ta =command]
369 ^- (quip card _this)
383 ^- (quip card _this)
370```
384```
385+
371This is a gate that takes in the `sole-id` corresponding to the session and the
386This is a gate that takes in the `sole-id` corresponding to the session and the
372`command` noun parsed by `+command-parser` and returns a `list` of `card`s and
387`command` noun parsed by `+command-parser` and returns a `list` of `card`s and
373`_this`, which is our shoe agent core including its state.
388`_this`, which is our shoe agent core including its state.
389+
374```hoon
390```hoon
375 =- [[%shoe ~ %sole -]~ this]
391 =- [[%shoe ~ %sole -]~ this]
376```
392```
393+
377This creates a cell of a `%shoe` card that triggers a `sole-effect` given by the head of
394This creates a cell of a `%shoe` card that triggers a `sole-effect` given by the head of
378the subject `-`, then the Gall agent core `this` - i.e. the return result of
395the subject `-`, then the Gall agent core `this` - i.e. the return result of
379this gate. The use of the `=-` rune means that what follows this
396this gate. The use of the `=-` rune means that what follows this
380expression is actually run first, which puts the desired `sole-effect` into the
397expression is actually run first, which puts the desired `sole-effect` into the
381head of the subject.
398head of the subject.
399+
382```hoon
400```hoon
383 =/ =tape "{(scow %p src.bowl)} ran the command"
401 =/ =tape "{(scow %p src.bowl)} ran the command"
384```
402```
403+
385We define the `tape` that we want to be printed.
404We define the `tape` that we want to be printed.
405+
386```hoon
406```hoon
387 ?. =(src our):bowl
407 ?. =(src our):bowl
388 [%txt tape]
408 [%txt tape]
389 [%klr [[`%br ~ `%g] [(crip tape)]~]~]
409 [%klr [[`%br ~ `%g] [(crip tape)]~]~]
390```
410```
411+
391We cannot just produce the `tape` we want printed, - it needs to fit the
412We cannot just produce the `tape` we want printed, - it needs to fit the
392`sole-effect` type. This tells us that if the
413`sole-effect` type. This tells us that if the
393origin of the command is not our ship to just print it normally with the `%txt`
414origin of the command is not our ship to just print it normally with the `%txt`
@@ -396,6 +417,7 @@ makes the text green and bold).
396
417
397The following allows either `~zod`, or the host ship and its moons, to connect to
418The following allows either `~zod`, or the host ship and its moons, to connect to
398this app's command line interface using `|link`.
419this app's command line interface using `|link`.
420+
399```hoon
421```hoon
400++ can-connect
422++ can-connect
401 |= sole-id=@ta
423 |= sole-id=@ta
@@ -407,6 +429,7 @@ this app's command line interface using `|link`.
407
429
408We use the minimal implementations for the final two `shoe` arms, since we don't
430We use the minimal implementations for the final two `shoe` arms, since we don't
409want to do anything special when users connect or disconnect.
431want to do anything special when users connect or disconnect.
432+
410```hoon
433```hoon
411++ on-connect on-connect:des
434++ on-connect on-connect:des
412++ on-disconnect on-disconnect:des
435++ on-disconnect on-disconnect:des
content/docs/hoon/reference/hoon-errors.md+6−8
@@ -72,12 +72,12 @@ stack trace. An extensive stack trace tutorial is [below](#stack-trace-tutorial)
72If you have `!:` on, you'll see an error trace, like:
72If you have `!:` on, you'll see an error trace, like:
73
73
74```
74```
75−/~zod/home/0/gen/hello:<[7 3].[11 21]>
75+/~zod/base/0/gen/hello:<[7 3].[11 21]>
76−/~zod/home/0/gen/hello:<[8 1].[11 21]>
76+/~zod/base/0/gen/hello:<[8 1].[11 21]>
77−/~zod/home/0/gen/hello:<[9 1].[11 21]>
77+/~zod/base/0/gen/hello:<[9 1].[11 21]>
78−/~zod/home/0/gen/hello:<[10 1].[11 21]>
78+/~zod/base/0/gen/hello:<[10 1].[11 21]>
79−/~zod/home/0/gen/hello:<[11 1].[11 21]>
79+/~zod/base/0/gen/hello:<[11 1].[11 21]>
80−/~zod/home/0/gen/hello:<[11 7].[11 21]>
80+/~zod/base/0/gen/hello:<[11 7].[11 21]>
81nest-fail
81nest-fail
82```
82```
83
83
@@ -185,5 +185,3 @@ true:
185For now, you need to be on the local console to see these debug
185For now, you need to be on the local console to see these debug
186printfs (which are implemented by interpreter hints). This is a
186printfs (which are implemented by interpreter hints). This is a
187bug and, like all bugs, will be fixed at some point.
187bug and, like all bugs, will be fixed at some point.
188−
189−
content/docs/hoon/reference/rune/dot.md+16−15
@@ -4,7 +4,8 @@ weight = 3
4template = "doc.html"
4template = "doc.html"
5aliases = ["docs/reference/hoon-expressions/rune/dot/"]
5aliases = ["docs/reference/hoon-expressions/rune/dot/"]
6+++
6+++
7+
7−Anything Nock can do, Hoon can do also. These runes are used for carrying out Nock operations in Hoon.
8+Anything Nock can do, Hoon can do also. These runes are used for carrying out Nock operations in Hoon.
8
9
9## Runes
10## Runes
10
11
@@ -18,15 +19,15 @@ The noun `q`, cast to the type `p`.
18
19
19##### Discussion
20##### Discussion
20
21
21−Nock has no `12` instruction! But the virtual Nock
22+Nock has no `12` instruction! But the virtual Nock
22−used to run userspace code does. Nock `12` loads from a
23+used to run userspace code does. Nock `12` loads from a
23typed immutable namespace defined by its virtual context.
24typed immutable namespace defined by its virtual context.
24
25
25−Ordinarily a Hoon expression has access to no information but whatever can be found in the subject. The one exception is with the `.^` rune. It essentially allows you to request information from one of the Arvo vanes (modules).
26+Ordinarily a Hoon expression has access to no information but whatever can be found in the subject. The one exception is with the `.^` rune. It essentially allows you to request information from one of the Arvo vanes (modules).
26
27
27−`.^` checks that the type of the value retrieved from Arvo nests under `p`. `q` is a `path` which includes information about which vane is being queried, and what sort of information is requested.
28+`.^` checks that the type of the value retrieved from Arvo nests under `p`. `q` is a `path` which includes information about which vane is being queried, and what sort of information is requested.
28
29
29−In principle `.^` takes two subexpressions, but in practice `q` is often given in two parts: the first part includes the vane to be queried (e.g., `%a` for Ames, `%b` for Behn, `%c` for Clay, etc.) and the kind of request. The second part is a path that corresponds to the kind of request.
30+In principle `.^` takes two subexpressions, but in practice `q` is often given in two parts: the first part includes the vane to be queried (e.g., `%a` for Ames, `%b` for Behn, `%c` for Clay, etc.) and the kind of request. The second part is a path that corresponds to the kind of request.
30
31
31##### Examples
32##### Examples
32
33
@@ -51,19 +52,19 @@ In the dojo we can ask Clay -- the Arvo filesystem -- for a listing of the files
51]
52]
52```
53```
53
54
54−The `%c` is for Clay, and the `y` is for the request type. `arch` is the type of the listing. See `gen/cat.hoon` to see how this information is printed more prettily.
55+The `%c` is for Clay, and the `y` is for the request type. `arch` is the type of the listing. See `gen/cat.hoon` to see how this information is printed more prettily.
55
56
56The `%` is for the current path in the dojo:
57The `%` is for the current path in the dojo:
57
58
58```
59```
59> `path`%
60> `path`%
60−/~zod/home/~2018.9.20..23.05.35..0231
61+/~zod/base/~2018.9.20..23.05.35..0231
61```
62```
62
63
63−You can modify the time of the file listing quite simply and ask for a listing from 5 hours ago. (Remember that Clay is a revision-controlled file system.)
64+You can modify the time of the file listing quite simply and ask for a listing from 5 hours ago. (Remember that Clay is a revision-controlled file system.)
64
65
65```
66```
66−> .^(arch %cy /(scot %p our)/home/(scot %da (sub now ~h5)))
67+> .^(arch %cy /(scot %p our)/base/(scot %da (sub now ~h5)))
67[ fil=~
68[ fil=~
68 dir
69 dir
69 { [p=~.web q=~]
70 { [p=~.web q=~]
@@ -89,7 +90,7 @@ You can modify the time of the file listing quite simply and ask for a listing f
89
90
90##### Produces
91##### Produces
91
92
92−`p` plus `1` if `p` is an atom; otherwise, crashes. The product atom has no aura.
93+`p` plus `1` if `p` is an atom; otherwise, crashes. The product atom has no aura.
93
94
94##### Syntax
95##### Syntax
95
96
@@ -131,7 +132,7 @@ Regular: **2-fixed**.
131
132
132Keep in mind that `p` and `q` can be arbitrary Hoon expressions, as long as they evaluate to the appropriate nouns for Nock evaluation.
133Keep in mind that `p` and `q` can be arbitrary Hoon expressions, as long as they evaluate to the appropriate nouns for Nock evaluation.
133
134
134−Note also that `.*` ("dottar") can be used to bypass the type system. It's
135+Note also that `.*` ("dottar") can be used to bypass the type system. It's
135therefore possible to use Hoon as a typeless language.
136therefore possible to use Hoon as a typeless language.
136
137
137##### Examples
138##### Examples
@@ -172,13 +173,13 @@ Irregular: `=(a b)` is `.=(a b)`.
172
173
173##### Discussion
174##### Discussion
174
175
175−The test for equality includes a type check. Either the type of `p` must nest under the type of `q`, or _vice versa_. Otherwise the result is a crash.
176+The test for equality includes a type check. Either the type of `p` must nest under the type of `q`, or _vice versa_. Otherwise the result is a crash.
176
177
177Like Nock equality, `.=` ("dottis") tests whether two nouns are the same,
178Like Nock equality, `.=` ("dottis") tests whether two nouns are the same,
178−ignoring invisible pointer structure. Because in a conventional
179+ignoring invisible pointer structure. Because in a conventional
179noun implementation each noun has a lazy short hash, comparisons
180noun implementation each noun has a lazy short hash, comparisons
180are fast unless the hash needs to be computed, or we are comparing
181are fast unless the hash needs to be computed, or we are comparing
181−separate copies of identical nouns. (Comparing large duplicates
182+separate copies of identical nouns. (Comparing large duplicates
182is a common cause of performance bugs.)
183is a common cause of performance bugs.)
183
184
184##### Examples
185##### Examples
content/docs/hoon/reference/rune/zap.md+16−15
@@ -4,6 +4,7 @@ weight = 4
4template = "doc.html"
4template = "doc.html"
5aliases = ["docs/reference/hoon-expressions/rune/zap/"]
5aliases = ["docs/reference/hoon-expressions/rune/zap/"]
6+++
6+++
7+
7## Runes
8## Runes
8
9
9### `!>` "zapgar"
10### `!>` "zapgar"
@@ -20,7 +21,7 @@ Regular: **1-fixed**.
20
21
21##### Discussion
22##### Discussion
22
23
23−In Hoon, a dynamic type is a static type compiled at runtime. This type-noun cell is generally called a `vase`.
24+In Hoon, a dynamic type is a static type compiled at runtime. This type-noun cell is generally called a `vase`.
24
25
25##### Examples
26##### Examples
26
27
@@ -29,7 +30,7 @@ In Hoon, a dynamic type is a static type compiled at runtime. This type-noun ce
29[#t/@ud q=1]
30[#t/@ud q=1]
30```
31```
31
32
32−If you want just the type value, use a 'type spear'. This is `-:!>`, i.e., the head of the cell produced by `!>`:
33+If you want just the type value, use a 'type spear'. This is `-:!>`, i.e., the head of the cell produced by `!>`:
33
34
34```
35```
35> -:!>(1)
36> -:!>(1)
@@ -50,7 +51,7 @@ The value of `vase` typed with the type of the mold if possible, else a
50
51
51##### Syntax
52##### Syntax
52
53
53−Regular: **2-fixed**
54+Regular: **2-fixed**
54
55
55##### Discussion
56##### Discussion
56
57
@@ -99,8 +100,8 @@ Regular: **1-fixed**.
99ford: %ride failed to execute:
100ford: %ride failed to execute:
100
101
101> !: ?:(=(0 1) 123 !!)
102> !: ?:(=(0 1) 123 !!)
102−/~zod/home/~2018.10.15..19.50.06..74af:<[1 5].[1 22]>
103+/~zod/base/~2018.10.15..19.50.06..74af:<[1 5].[1 22]>
103−/~zod/home/~2018.10.15..19.50.06..74af:<[1 19].[1 21]>
104+/~zod/base/~2018.10.15..19.50.06..74af:<[1 19].[1 21]>
104ford: %ride failed to execute:
105ford: %ride failed to execute:
105```
106```
106
107
@@ -124,7 +125,7 @@ Regular: **1-fixed**.
124
125
125##### Discussion
126##### Discussion
126
127
127−`!.` is used to turn off a debugging stack trace option for any code you have in `p`. This rune can be embedded under a `!:` rune for inner loops of your code that you don't want or need to trace. This is especially useful if a trace overflows the stack.
128+`!.` is used to turn off a debugging stack trace option for any code you have in `p`. This rune can be embedded under a `!:` rune for inner loops of your code that you don't want or need to trace. This is especially useful if a trace overflows the stack.
128
129
129##### Examples
130##### Examples
130
131
@@ -133,18 +134,18 @@ Regular: **1-fixed**.
133ford: %ride failed to execute:
134ford: %ride failed to execute:
134
135
135> !: %.(1 |=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a))))))
136> !: %.(1 |=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a))))))
136−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 5].[1 49]>
137+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 5].[1 49]>
137−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 17].[1 47]>
138+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 17].[1 47]>
138−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 22].[1 46]>
139+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 22].[1 46]>
139−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 36].[1 45]>
140+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 36].[1 45]>
140...skipping some lines...
141...skipping some lines...
141−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 17].[1 47]>
142+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 17].[1 47]>
142−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 22].[1 46]>
143+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 22].[1 46]>
143−/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 33].[1 35]>
144+/~zod/base/~2018.10.15..20.01.21..6b0c:<[1 33].[1 35]>
144ford: %ride failed to execute:
145ford: %ride failed to execute:
145
146
146> !: %.(1 !.(|=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a)))))))
147> !: %.(1 !.(|=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a)))))))
147−/~zod/home/~2018.10.15..20.01.35..0529:<[1 5].[1 53]>
148+/~zod/base/~2018.10.15..20.01.35..0529:<[1 5].[1 53]>
148ford: %ride failed to execute:
149ford: %ride failed to execute:
149```
150```
150
151
@@ -221,7 +222,7 @@ Regular: **2-fixed**.
221
222
222##### Produces
223##### Produces
223
224
224−Nothing. Always crashes, with type `%void`.
225+Nothing. Always crashes, with type `%void`.
225
226
226##### Syntax
227##### Syntax
227
228
content/docs/hoon/reference/stdlib/3g.md+2−2
@@ -203,7 +203,7 @@ stack traces.
203
203
204```
204```
205> !:(!!) :: !! always produces a crash
205> !:(!!) :: !! always produces a crash
206−/~zod/home/~2014.9.20..01.22.04..52e3/:<[1 4].[1 6]>
206+/~zod/base/~2014.9.20..01.22.04..52e3/:<[1 4].[1 6]>
207
207
208> `pint`[[1 4] [1 6]]
208> `pint`[[1 4] [1 6]]
209[p=[p=1 q=4] q=[p=1 q=6]]
209[p=[p=1 q=4] q=[p=1 q=6]]
@@ -248,7 +248,7 @@ The stack trace that is printed after crashing.
248
248
249```
249```
250> !: !! :: !! always produces a crash
250> !: !! :: !! always produces a crash
251−/~zod/home/~2018.8.8..21.42.40..7852:<[1 5].[1 7]>
251+/~zod/base/~2018.8.8..21.42.40..7852:<[1 5].[1 7]>
252! exit
252! exit
253```
253```
254
254
content/using/os/filesystem.md+2−2
@@ -300,10 +300,10 @@ optional strategy.
300Merge the `%examples` `desk` from `~waxbex-ribmex`
300Merge the `%examples` `desk` from `~waxbex-ribmex`
301
301
302```
302```
303−|merge %home-work /=home=, =gem %fine
303+|merge %work /=base=, =gem %fine
304```
304```
305
305
306−Merge `/=home=` into `%home-work` using merge strategy `%fine`.
306+Merge `/=base=` into `%work` using merge strategy `%fine`.
307
307
308#### Sync
308#### Sync
309
309
content/using/os/ship-troubleshooting.md+1−1
@@ -122,7 +122,7 @@ own with patience. Otherwise, try the procedure outlined [here](https://github.c
122
122
123### I keep getting an `ames` error stack-trace
123### I keep getting an `ames` error stack-trace
124
124
125−You may see a message like this one: `/~zod/home/~2019.7.22..18.55.46..83a3/sys/vane/ames:<[line column].[line column]>`. This is a clay path to a Hoon file, pointing to the line and column where an expression crashed. This kind of error might be accompanied by a `crud` message.
125+You may see a message like this one: `/~zod/base/~2019.7.22..18.55.46..83a3/sys/vane/ames:<[line column].[line column]>`. This is a clay path to a Hoon file, pointing to the line and column where an expression crashed. This kind of error might be accompanied by a `crud` message.
126
126
127This means that another ship is sending invalid packets to you. This could be
127This means that another ship is sending invalid packets to you. This could be
128because one of the ships has not updated the other ship's "rift number", which
128because one of the ships has not updated the other ship's "rift number", which