@@ -10,12 +10,12 @@ Now we've learned enough hoon to do more interesting things.
1010Let's get our planets to talk to each other.
1111
1212All we've written up until now are just shell
13−commands that produce a value and then disappear. To listen for and receive messages from other planets, we'll need an app--let's look at a very simple one:
13+commands that produce a value and then disappear. To listen for and receive messages from other planets, we'll need an app. Let's look at a very simple one:
1414
1515```
1616:: There is no love that is not an echo
1717::
18−:::: /hoon/echo/app
18+:::: /hoon/echo/examples/app
1919 ::
2020/? 314
2121!:
@@ -37,10 +37,10 @@ with the following commands:
3737```
3838~fintud-macrep:dojo> |start %echo
3939>=
40−~fintud-macrep:dojo> :echo 5
40+~fintud-macrep:dojo> :examples-echo 5
4141[%argument 5]
4242>=
43−~fintud-macrep:dojo> :echo [1 2]
43+~fintud-macrep:dojo> :examples-echo [1 2]
4444[%argument [1 2]]
4545>=
4646```
@@ -90,7 +90,7 @@ app state is stored. It'll become clear why this is later on,
9090but for now pretend that `+>.$` is a magic invocation that means
9191"app state".
9292
93−Let's look at another example. Say we want to only accept a
93+Let's look at another example (edit your code in `/app/examples/echo/hoon` to reflect the code below). Say we want to only accept a
9494number, and then print out the square of that number.
9595
9696```
@@ -108,7 +108,7 @@ number, and then print out the square of that number.
108108
109109A few things have changed. Firstly, we no longer accept
110110arbitrary nouns because we can only square atoms (integers, in
111−this case an unsigned one). Thus, our argument is now `arg=@`.
111+this case an unsigned one). Thus, our argument is now `arg/@`.
112112Secondly, it's `++poke-atom` rather than `++poke-noun`.
113113
114114# Intro to marks
@@ -136,9 +136,9 @@ commands:
136136```
137137~fintud-macrep:dojo> |start %square
138138>=
139−~fintud-macrep:dojo> :square 6
139+~fintud-macrep:dojo> :examples-square 6
140140gall: %square: no poke arm for noun
141−~fintud-macrep:dojo> :square &atom 6
141+~fintud-macrep:dojo> :examples-square &atom 6
142142[%square 36]
143143>=
144144```
@@ -149,14 +149,14 @@ gall: %square: no poke arm for noun
149149Marks are powerful, and they're the backbone of urbit's data
150150pipeline, so we'll be getting quite used to them.
151151
152−**Exercises**:
152+**Exercise**:
153153
154154- Write an app that computes fizzbuzz on its input (as in the
155155 previous section).
156156
157157# Sending a message to another ship
158158
159−Let's write our first network message! Here's `/app/pong.hoon`:
159+Let's write our first network message! Here's `/app/examples/pong.hoon`:
160160
161161```
162162/? 314
@@ -184,15 +184,15 @@ Let's write our first network message! Here's `/app/pong.hoon`:
184184Run it with these commands:
185185
186186```
187−~fintud-macrep:dojo> |start %pong
187+~fintud-macrep:dojo> |start %examples-pong
188188>=
189−~fintud-macrep:dojo> :pong &urbit ~sampel-sipnym
189+~fintud-macrep:dojo> :pong &examples-urbit ~sampel-sipnym
190190>=
191191```
192192
193193Replace `~sampel-sipnym` with another urbit. The easiest thing to
194194do is to start a [moon](), a sub-identity of your urbit. Don't
195−forget to start the `%pong` app on that urbit too. You should
195+forget to start the `%examples-pong` app on that urbit too. You should
196196see, on the foreign urbit, this output:
197197
198198```
@@ -230,21 +230,22 @@ The general form of a move is
230230
231231-arvo part---->
232232`[bone term wire *]`
233− >-app/vane-specific part of move
233+
234+------------------------->app/vane-specific part of move
234235
235236Or, in pseudo-code:
236237
237238`["cause" sys-call/action tack-new-layer-on-cause action-specific
238239information]`
239240
240−Let's walk through each of these elements step by step
241+Let's walk through each of these elements step by step.
241242
242243#### Bones ("cause")
243244
244245If you look up `++bone` in `hoon.hoon`, you'll see that it's a
245246number (`@ud`), and that it's an opaque reference to a duct.
246−`++duct` in hoon.hoon is a list of `wire`s, where `wire` is an
247−alias for `path`. `++path` is a list of `span`s, which are ASCII
247+`++duct` in hoon.hoon is a list of `wire`s, where `++wire` is an
248+alias for `++path`. `++path` is a list of `++span`s, which are ASCII
248249text. Thus, a duct is a list of paths, and a bone is an opaque
249250reference to it (in the same way that a Unix file
250251descriptor is an opaque reference to a file structure). Thus, to
@@ -331,7 +332,7 @@ anything with this information right now, but we could.
331332- Extend either of the apps in the first two exercises to accept
332333 input over the network in the same way as `pong`.
333334
334−- Modify `pong` to print out a message when it receives acknowledgement.
335+- Modify `examples-pong` to print out a message when it receives acknowledgement.
335336
336337- Write two apps, `even` and `odd`. When you pass an atom to
337338 `even`, check whether it's even. If so, divide it by two and