on master help sign in
changes from master
b3bdc85Galen Wolfe-Pauly
.gitignorenew file+4
@@ -0,0 +1,4 @@
1+# OS
2+.DS_Store
3+# etc
4+*.swn
docs.md+2−2
@@ -4,7 +4,7 @@ layout: no-anchor
4logo: black
4logo: black
5---
5---
6
6
7−<div class="short lead">
7+<div class="short">
8
8
9# Urbit documentation
9# Urbit documentation
10
10
@@ -19,6 +19,6 @@ user doc; it doesn't assume any prior knowledge.
19The most fun thing to do with Urbit is code, but the developer
19The most fun thing to do with Urbit is code, but the developer
20doc remains under construction. Sorry. We'll have more soon.
20doc remains under construction. Sorry. We'll have more soon.
21
21
22−<list dataSort="true" class="children"></list>
22+<list dataSort="true"></list>
23
23
24</div>
24</div>
docs/dev/hoon/principles/1-twigs.md+1−1
@@ -36,7 +36,7 @@ function is the `formula`. The input to the function is the
36
36
37## From Hoon to Nock
37## From Hoon to Nock
38
38
39−The Hoon parser turns an source expression (even one as simple as
39+The Hoon parser turns a source expression (even one as simple as
40`42` from the last chapter) into a noun called a `twig`. If you
40`42` from the last chapter) into a noun called a `twig`. If you
41know what an AST is, a twig is an AST. (If you don't know what
41know what an AST is, a twig is an AST. (If you don't know what
42an AST is, it's not necessarily worth the student loans.)
42an AST is, it's not necessarily worth the student loans.)
docs/dev/hoon/principles/2-syntax.md+2−1
@@ -177,6 +177,7 @@ genuinely surprised at how easy they are to remember:
177 doq " lus + tis =
177 doq " lus + tis =
178 dot . pam & wut ?
178 dot . pam & wut ?
179 fas / pat @ zap !
179 fas / pat @ zap !
180+ sig ~
180```
181```
181It's fun to confuse the muggles by using these outside Urbit.
182It's fun to confuse the muggles by using these outside Urbit.
182
183
@@ -193,7 +194,7 @@ A few digraphs also have irregular sounds:
193-> lark
194-> lark
194-< lush
195-< lush
195+> dark
196+> dark
196−+< dish
197++< dush
197```
198```
198
199
199You might remember wondering where the "lark syntax" of chapter 1
200You might remember wondering where the "lark syntax" of chapter 1
docs/dev/hoon/reference/odors.md+20−20
@@ -146,7 +146,7 @@ more UTF-32 words.
146
146
147##### Examples
147##### Examples
148
148
149− ~zod/try=> :type; ~-foo
149+ ~zod/try=> ? ~-foo
150 ~-foo
150 ~-foo
151 @c
151 @c
152 ~zod/try=> ~-i~2764.u
152 ~zod/try=> ~-i~2764.u
@@ -186,12 +186,12 @@ Note: the time of day and/or millisecond fragment is optional.
186
186
187 ~zod/try=> ~2014.1.1
187 ~zod/try=> ~2014.1.1
188 ~2014.1.1
188 ~2014.1.1
189− ~zod/try=> :type; ~2014.1.1
189+ ~zod/try=> ? ~2014.1.1
190 ~2014.1.1
190 ~2014.1.1
191 @da
191 @da
192 ~zod/try=> ~2014.1.1..01.01.01
192 ~zod/try=> ~2014.1.1..01.01.01
193 ~2014.1.1..01.01.01
193 ~2014.1.1..01.01.01
194− ~zod/try=> :type; ~2014.1.1..01.01.01
194+ ~zod/try=> ? ~2014.1.1..01.01.01
195 ~2014.1.1..01.01.01
195 ~2014.1.1..01.01.01
196 @da
196 @da
197 ~zod/try=> ~2014.1.1..01.01.01..1234
197 ~zod/try=> ~2014.1.1..01.01.01..1234
@@ -230,7 +230,7 @@ are in order. The largest measurement is preceded by a `~`.
230
230
231 ~zod/try=> ~d1.h19.m5.s29
231 ~zod/try=> ~d1.h19.m5.s29
232 ~d1.h19.m5.s29
232 ~d1.h19.m5.s29
233− ~zod/try=> :type; ~d1.h19.m5.s29
233+ ~zod/try=> ? ~d1.h19.m5.s29
234 ~d1.h19.m5.s29
234 ~d1.h19.m5.s29
235 @dr
235 @dr
236 ~zod/try=> `@dr`(div ~s1 1.000)
236 ~zod/try=> `@dr`(div ~s1 1.000)
@@ -273,7 +273,7 @@ forms.
273
273
274 ~zod/try=> `@ud`.y
274 ~zod/try=> `@ud`.y
275 0
275 0
276− ~zod/try=> :type; .y
276+ ~zod/try=> ? .y
277 %.y
277 %.y
278 {%.y %.n}
278 {%.y %.n}
279 ~zod/try=> `@ud`.n
279 ~zod/try=> `@ud`.n
@@ -294,7 +294,7 @@ Nil
294Atoms of the odor `@n` indicate an absence of information, as in a list
294Atoms of the odor `@n` indicate an absence of information, as in a list
295terminator. The only value is `~`, which is just `0`.
295terminator. The only value is `~`, which is just `0`.
296
296
297− ~zod/try=> :type; ~
297+ ~zod/try=> ? ~
298 ~
298 ~
299 %~
299 %~
300 ~zod/try=> `@ud`%~
300 ~zod/try=> `@ud`%~
@@ -321,7 +321,7 @@ phrases of four pairs are separated by `--`.
321
321
322 ~zod/try=> ~pasnut
322 ~zod/try=> ~pasnut
323 ~pasnut
323 ~pasnut
324− ~zod/try=> :type; ~pasnut
324+ ~zod/try=> ? ~pasnut
325 ~pasnut
325 ~pasnut
326 @p
326 @p
327 ~zod/try=> `@p`0x4321
327 ~zod/try=> `@p`0x4321
@@ -371,7 +371,7 @@ Atoms of the odor `@sb` represent signed binary numbers.
371
371
372#### Examples
372#### Examples
373
373
374− ~zod/try=> :type; -0b1
374+ ~zod/try=> ? -0b1
375 -0b1
375 -0b1
376 @sb
376 @sb
377 ~zod/try=> `@sd`-0b1
377 ~zod/try=> `@sd`-0b1
@@ -399,10 +399,10 @@ Atoms of odor `@sd` represent signed decimal numbers.
399
399
400 ~zod/try=> -234
400 ~zod/try=> -234
401 -234
401 -234
402− ~zod/try=> :type; -234
402+ ~zod/try=> ? -234
403 -234
403 -234
404 @sd
404 @sd
405− ~zod/try=> :type; --234
405+ ~zod/try=> ? --234
406 --234
406 --234
407 @sd
407 @sd
408 ~zod/try=> (sum:si -234 --234)
408 ~zod/try=> (sum:si -234 --234)
@@ -425,7 +425,7 @@ Atoms of odor `@sv` represent signed base32 numbers.
425
425
426 ~zod/try=> -0vv
426 ~zod/try=> -0vv
427 -0vv
427 -0vv
428− ~zod/try=> :type; -0vv
428+ ~zod/try=> ? -0vv
429 -0vv
429 -0vv
430 @sv
430 @sv
431 ~zod/try=> --0vb
431 ~zod/try=> --0vb
@@ -455,7 +455,7 @@ Atoms of odor `@sw` represent base64 numbers.
455
455
456 ~zod/try=> -0w--
456 ~zod/try=> -0w--
457 -0w--
457 -0w--
458− ~zod/try=> :type; -0w--
458+ ~zod/try=> ? -0w--
459 -0w--
459 -0w--
460 @sw
460 @sw
461 ~zod/try=> `@sd`(sum:si -0w-A -0w--)
461 ~zod/try=> `@sd`(sum:si -0w-A -0w--)
@@ -504,10 +504,10 @@ UTF-8 bytes, LSB first. It is sometimes called a cord.
504
504
505 ~zod/try=> ~~foo
505 ~zod/try=> ~~foo
506 'foo'
506 'foo'
507− ~zod/try=> :type; 'foo'
507+ ~zod/try=> ? 'foo'
508 'foo'
508 'foo'
509 @t
509 @t
510− ~zod/try=> :type; ~~foo
510+ ~zod/try=> ? ~~foo
511 'foo'
511 'foo'
512 @t
512 @t
513
513
@@ -528,7 +528,7 @@ literals: `a-z`, `0-9`, `~`, `-`, `.`, `_`.
528
528
529 ~zod/try=> ~..asdf
529 ~zod/try=> ~..asdf
530 ~..asdf
530 ~..asdf
531− ~zod/try=> :type; ~.asdf
531+ ~zod/try=> ? ~.asdf
532 ~.asdf
532 ~.asdf
533 @ta
533 @ta
534 ~zod/try=> `@t`~.asdf
534 ~zod/try=> `@t`~.asdf
@@ -577,7 +577,7 @@ Atoms of the odor `@ub` represent unsigned binary numbers.
577
577
578 ~zod/try=> `@`0b1
578 ~zod/try=> `@`0b1
579 1
579 1
580− ~zod/try=> :type; 0b1
580+ ~zod/try=> ? 0b1
581 0b1
581 0b1
582 @ub
582 @ub
583 ~zod/try=> `@`0b10
583 ~zod/try=> `@`0b10
@@ -604,7 +604,7 @@ and linebreaks can appear between the dot and the next group.
604 0
604 0
605 ~zod/try=> 19
605 ~zod/try=> 19
606 19
606 19
607− ~zod/try=> :type; 19
607+ ~zod/try=> ? 19
608 19
608 19
609 @ud
609 @ud
610 ~zod/try=> 1.024
610 ~zod/try=> 1.024
@@ -630,7 +630,7 @@ Atoms of the odor `@uv` represent unsigned base64 numbers.
630
630
631 ~zod/try=> `@ud`0vv
631 ~zod/try=> `@ud`0vv
632 31
632 31
633− ~zod/try=> :type; 0vv
633+ ~zod/try=> ? 0vv
634 0vv
634 0vv
635 @uv
635 @uv
636 ~zod/try=> `@ud`(add 0vv 0v9)
636 ~zod/try=> `@ud`(add 0vv 0v9)
@@ -650,7 +650,7 @@ Unsigned base64
650
650
651 ~zod/try=> 0w~
651 ~zod/try=> 0w~
652 0w~
652 0w~
653− ~zod/try=> :type; 0w~
653+ ~zod/try=> ? 0w~
654 0w~
654 0w~
655 @uw
655 @uw
656 ~zod/try=> `@uv`(add 0w~ 0wZ)
656 ~zod/try=> `@uv`(add 0w~ 0wZ)
@@ -673,7 +673,7 @@ Atoms of the odor `@ux` represent hexadecimal numbers.
673
673
674 ~zod/try=> 0x0
674 ~zod/try=> 0x0
675 0x0
675 0x0
676− ~zod/try=> :type; 0x0
676+ ~zod/try=> ? 0x0
677 0x0
677 0x0
678 @ux
678 @ux
679 ~zod/try=> `@ud`0x17
679 ~zod/try=> `@ud`0x17
docs/dev/hoon/reference/pronunciation.md+4−4
@@ -62,7 +62,7 @@ There are a few runes with irregular special pronunciations:
62 +- lushep slep
62 +- lushep slep
63 ++ luslus slus
63 ++ luslus slus
64 == tistis stet
64 == tistis stet
65− +< lusgal glus
66− +> lusgar gras
67− -< hepgal gelp
68− -> hepgar garp
65+ -> hepgar lark
66+ -< hepgal lush
67+ +> lusgar dark
68+ +< lusgal dush
docs/dev/hoon/runes/sg/sgcn.md+1−1
@@ -61,4 +61,4 @@ Examples
61 --
61 --
62
62
63Here we label the entire `++aesc` core for optimization. You can see the
63Here we label the entire `++aesc` core for optimization. You can see the
64−jet in `gen164/5/aesc.c`.
64+jet in `jets/e/aesc.c`.
docs/dev/hoon/runes/sm.md+1−1
@@ -34,7 +34,7 @@ quotes).
34
34
35#### [++sail] runes:
35#### [++sail] runes:
36
36
37−`;-`, `;+`, `;*`, `;%`, and `%cnzy` all compose a tree structure. See
37+`;-`, `;+`, `;*`, `;%`, and `%smzz` all compose a tree structure. See
38also: [`++sail`]().
38also: [`++sail`]().
39
39
40<hr></hr>
40<hr></hr>
docs/dev/hoon/runes/sm/smsg.md+1−1
@@ -3,7 +3,7 @@ semsig, `;~`, %smsg
3
3
4Monad composer
4Monad composer
5
5
6−`;!` is a synthetic rune used to compose functions under a monad.
6+`;~` is a synthetic rune used to compose functions under a monad.
7
7
8Produces
8Produces
9--------
9--------
docs/dev/hoon/runes/sm/smzz.md+1−1
@@ -80,5 +80,5 @@ Examples
80 ~zod/try=> (poxo ;html:";{head meta(charset "utf-8")};{body p p}")
80 ~zod/try=> (poxo ;html:";{head meta(charset "utf-8")};{body p p}")
81 "<html><head><meta charset="utf-8"></meta></head><body><p></p><p></p></body></html>"
81 "<html><head><meta charset="utf-8"></meta></head><body><p></p><p></p></body></html>"
82
82
83−Here we create the most basic HTML structure using nested `dotzaz`, and
83+Here we create the most basic HTML structure using nested `semzaz`, and
84eventually print it properly using [`++poxo`]().
84eventually print it properly using [`++poxo`]().
docs/dev/hoon/runes/ts/tssg.md+1−1
@@ -33,7 +33,7 @@ Queenside:
33Wide form
33Wide form
34---------
34---------
35
35
36−None
36+ =~(i.p i.t.p i.t.t.p)
37
37
38Irregular form
38Irregular form
39--------------
39--------------
docs/dev/hoon/runes/wt/wthz.md+1−1
@@ -14,7 +14,7 @@ Produces
14Sample
14Sample
15------
15------
16
16
17−[`p` is a * `q` is a *]
17+[`p` is a \* `q` is a \*]
18
18
19Tall form
19Tall form
20---------
20---------
docs/dev/hoon/runes/wt/wtls.md+1−1
@@ -50,7 +50,7 @@ Queenside:
50Wide form
50Wide form
51---------
51---------
52
52
53− ?+(p p.i.r q.i.r, p.i.t.r q.i.t.r, p.i.t.t.r q.i.t.t.r)
53+ ?+(p q p.i.r q.i.r, p.i.t.r q.i.t.r, p.i.t.t.r q.i.t.t.r)
54
54
55Irregular form
55Irregular form
56--------------
56--------------
docs/dev/hoon/runes/zp/zpzp.md+1−1
@@ -3,7 +3,7 @@ zapzap, `!!`, %zpzp
3
3
4Crash
4Crash
5
5
6−`!?` is a natural rune that always crashes.
6+`!!` is a natural rune that always crashes.
7
7
8Produces
8Produces
9--------
9--------
docs/theory/whitepaper.md+6−5
@@ -1060,7 +1060,8 @@ for punctuation are clumsy. So Hoon replaces them:
1060 doq " lus + tis =
1060 doq " lus + tis =
1061 dot . pam & wut ?
1061 dot . pam & wut ?
1062 fas / pat @ zap !
1062 fas / pat @ zap !
1063−
1063+ sig ~
1064+
1064For example, `%=` sounds like "centis" rather than "percent
1065For example, `%=` sounds like "centis" rather than "percent
1065equals." Since even a silent reader will subvocalize, the length
1066equals." Since even a silent reader will subvocalize, the length
1066and complexity of the sound is a tax on reading the code.
1067and complexity of the sound is a tax on reading the code.
@@ -1070,10 +1071,10 @@ A few digraphs also have irregular sounds:
1070 == stet
1071 == stet
1071 -- shed
1072 -- shed
1072 ++ slus
1073 ++ slus
1073− -> dart
1074+ -> lark
1074− -< dusk
1075+ -< lush
1075− +> lark
1076+ +> dark
1076− +< lush
1077+ +< dush
1077
1078
1078Hoon defines over 100 digraph ideograms (like `|=`). Ideograms
1079Hoon defines over 100 digraph ideograms (like `|=`). Ideograms
1079(or *runes*) have consistent internal structure; for instance,
1080(or *runes*) have consistent internal structure; for instance,
docs/user/appliance.md+1−1
@@ -83,7 +83,7 @@ possible; it's not well-optimized.
83
83
84There's a web interface to `:talk` at
84There's a web interface to `:talk` at
85
85
86− http://localhost:8080/~~/home/pub/talk/fab
86+ http://localhost:8080/~~/home/pub/talk
87
87
88and a dojo interface at
88and a dojo interface at
89
89
docs/user/intro.md+7−7
@@ -66,10 +66,10 @@ compiler and inference engine is about 2000 lines of Hoon.
66Arvo is an event-driven OS written in Hoon. It can upgrade
66Arvo is an event-driven OS written in Hoon. It can upgrade
67itself and everything inside it over the network. The Arvo
67itself and everything inside it over the network. The Arvo
68kernel proper is 500 lines of Hoon, which implements a typed
68kernel proper is 500 lines of Hoon, which implements a typed
69−event system with explicit call-stack structure. Arvo ships
69+event system with explicit call-stack structure. Arvo ships
70−it ships with modules that provide P2P networking (`%ames`), a
70+with modules that provide P2P networking (`%ames`), a revision-
71−revision-control system (`%clay`), a web client/server (`%eyre`),
71+control system (`%clay`), a web client/server (`%eyre`), a
72−a functional build system (`%ford`), and an application engine
72+functional build system (`%ford`), and an application engine
73`(%gall)`.
73`(%gall)`.
74
74
75### `%ames`
75### `%ames`
@@ -114,18 +114,18 @@ whatever you learn will stay true. And bleeding edges are fun.
114If you're interested in following Urbit, you can:
114If you're interested in following Urbit, you can:
115
115
116- Read our documentation at
116- Read our documentation at
117− [urbit.org](http://urbit.org/docs)
117+ [urbit.org](http://urbit.org/docs)
118- Subscribe to our newsletter at [urbit.org](http://urbit.org).
118- Subscribe to our newsletter at [urbit.org](http://urbit.org).
119- Check out the
119- Check out the
120 [urbit-dev](https://groups.google.com/forum/#!forum/urbit-dev)
120 [urbit-dev](https://groups.google.com/forum/#!forum/urbit-dev)
121 mailing list.
121 mailing list.
122- Follow [@urbit_](https://twitter.com/urbit\_) on Twitter.
122- Follow [@urbit_](https://twitter.com/urbit\_) on Twitter.
123−- Hit us up by email, <span class="mono">urbit@urbit.org</span>.
123+- Hit us up by email, <span class="mono">urbit@urbit.org</span>.
124 We're nice!
124 We're nice!
125
125
126## Code of conduct
126## Code of conduct
127
127
128−Everyone involved in the Urbit project needs to understand and
128+Everyone involved in the Urbit project needs to understand and
129respect our code of conduct, which is: "don't be rude."
129respect our code of conduct, which is: "don't be rude."
130
130
131## Pronunciation and etymology
131## Pronunciation and etymology
docs/user/talk.md+5−6
@@ -75,7 +75,7 @@ You'll see:
75 ---------:talk| don't be rude
75 ---------:talk| don't be rude
76 ---------:talk| urbit-meta is politically correct and safe for work
76 ---------:talk| urbit-meta is politically correct and safe for work
77 ~doznec= ~fintud-macrep admitted to %urbit-meta
77 ~doznec= ~fintud-macrep admitted to %urbit-meta
78− ~fintud-macrep:talk=
78+ ~fintud-macrep:talk>
79
79
80Notice the character assignment - stations you're subscribed to are
80Notice the character assignment - stations you're subscribed to are
81assigned [consistent ASCII glyphs](#-station-glyphs), which you'll
81assigned [consistent ASCII glyphs](#-station-glyphs), which you'll
@@ -84,16 +84,16 @@ when you're talking to them.
84
84
85Post a line to `/urbit-meta`:
85Post a line to `/urbit-meta`:
86
86
87− ~fintud-macrep:talk= hello, world
87+ ~fintud-macrep:talk> hello, world
88
88
89You'll see, echoed back at you through `~doznec`:
89You'll see, echoed back at you through `~doznec`:
90
90
91− ~fintud-macrep:talk= hello, world
91+ ~fintud-macrep> hello, world
92
92
93And of course, anyone else in `/urbit-meta` will see it as well.
93And of course, anyone else in `/urbit-meta` will see it as well.
94But you don't care about `/urbit-meta`, so leave it:
94But you don't care about `/urbit-meta`, so leave it:
95
95
96− ~fintud-macrep:talk= ;leave
96+ ~fintud-macrep:talk> ;leave >
97
97
98You'll see:
98You'll see:
99
99
@@ -103,7 +103,6 @@ Everyone else will see:
103
103
104 ~doznec= ~fintud-macrep has left %urbit-meta
104 ~doznec= ~fintud-macrep has left %urbit-meta
105
105
106−
107Now you're ready to use `:talk` for real! For general discussion
106Now you're ready to use `:talk` for real! For general discussion
108about Urbit, we recommend `/urbit-meta`.
107about Urbit, we recommend `/urbit-meta`.
109
108
@@ -234,7 +233,7 @@ most recent; etc.
234
233
235### Nicknames
234### Nicknames
236
235
237−<mark>Partially implemented</mark>
236+<mark>Implemented, no autocompletion</mark>
238
237
239Sometimes you know your Urbit friends by other names, on or
238Sometimes you know your Urbit friends by other names, on or
240offline. Use the `;nick` command to assign or look up
239offline. Use the `;nick` command to assign or look up