@@ -1,18 +1,22 @@
11
2−## The dojo
2+## The dojo and you
33
44You're playing in the Urbit REPL/shell (`:dojo`). (If you
55accidentally press `^X`, it will put you into the other default
66app, `:talk`; press `^X` again to switch back.)
77
88The dojo actually has its own command language, which is a
9−superset of Hoon. Any Hoon expression is a dojo command that
10−prints the product of the expression. But there are other dojo
11−commands.
9+superset of Hoon. Any input string which parses as a Hoon
10+expression is a dojo command that prints the product of the
11+expression. In the space of strings which don't parse as Hoon
12+expressions, the dojo has other commands.
1213
13−### Setting variables
14+If this is just too abstract, think of the dojo as half Lisp
15+REPL, half Unix shell.
1416
15−Another command sets a dojo variable. Type
17+### Setting dojo variables
18+
19+Like the Unix shell, the dojo has command variables. Type
1620
1721```
1822> =a 42
@@ -20,7 +24,7 @@ Another command sets a dojo variable. Type
2024
2125You've set the dojo variable `a` to the value `42`. The dojo
2226puts this binding in the Hoon subject for expressions to use.
23−(We'll see how this works in a later Urbyte.) So you can write:
27+So you can write:
2428
2529```
2630> a
@@ -28,6 +32,10 @@ puts this binding in the Hoon subject for expressions to use.
2832
2933> [4 a]
3034[4 42]
35+
36+> ? [4 a]
37+ {@ud @ud}
38+[4 42]
3139```
3240
3341To unbind `a`, just omit the value:
@@ -36,3 +44,14 @@ To unbind `a`, just omit the value:
3644> =a
3745```
3846
47+You removed `a` from the subject. (We can bind it again later, or
48+bind over it without removing it.)
49+
50+```
51+> [4 a]
52+-find.a
53+```
54+
55+Now it's
56+
57+## The sub