@@ -1,18 +1,22 @@
2−## The dojo
2+## The dojo and you
4You're playing in the Urbit REPL/shell (`:dojo`). (If you
4You're playing in the Urbit REPL/shell (`:dojo`). (If you
5accidentally press `^X`, it will put you into the other default
5accidentally press `^X`, it will put you into the other default
6app, `:talk`; press `^X` again to switch back.)
6app, `:talk`; press `^X` again to switch back.)
8The dojo actually has its own command language, which is a
8The dojo actually has its own command language, which is a
9+superset of Hoon. Any input string which parses as a Hoon
9−superset of Hoon. Any Hoon expression is a dojo command that
10+expression is a dojo command that prints the product of the
10−prints the product of the expression. But there are other dojo
11+expression. In the space of strings which don't parse as Hoon
11−commands.
12+expressions, the dojo has other commands.
13−### Setting variables
14+If this is just too abstract, think of the dojo as half Lisp
15+REPL, half Unix shell.
15−Another command sets a dojo variable. Type
17+### Setting dojo variables
19+Like the Unix shell, the dojo has command variables. Type
@@ -20,7 +24,7 @@ Another command sets a dojo variable. Type
21You've set the dojo variable `a` to the value `42`. The dojo
25You've set the dojo variable `a` to the value `42`. The dojo
22puts this binding in the Hoon subject for expressions to use.
26puts 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:
@@ -28,6 +32,10 @@ puts this binding in the Hoon subject for expressions to use.
33To unbind `a`, just omit the value:
41To unbind `a`, just omit the value:
@@ -36,3 +44,14 @@ To unbind `a`, just omit the value:
47+You removed `a` from the subject. (We can bind it again later, or
48+bind over it without removing it.)