on master help sign in
Merge pull request #399 from baudtack/restoration
a519033pilfer-pandex
learn/arvo/hoon/hoon-syntax.udon+17−15
@@ -36,21 +36,23 @@ Hoon source files are composed almost entirely of the [printable ASCII character
36Hoon code makes heavy use of non-alphanumeric symbols. Reading off code aloud using the proper names of ASCII symbols is tedious, so we've mapped syllables to symbols:
36Hoon code makes heavy use of non-alphanumeric symbols. Reading off code aloud using the proper names of ASCII symbols is tedious, so we've mapped syllables to symbols:
37
37
38```
38```
39−ace [1 space] hep - rob }
39+ace [1 space] gal < pal (
40−ban > ket ^ say '
40+bar | gap [>1 space, nl] par )
41−bar | lac [ sig ~
41+bas \ gar > sel [
42−bat \ led < tar *
42+buc $ hax # mic ;
43−bus $ lit ( tec `
44−cab _ lob { tis =
43+cab _ hep - ser ]
45−cen % lus + vat @
44+cen % kel { sig ~
46−col : mic ; wut ?
45+col : ker } soq '
47−com , net / yel "
46+com , ket ^ tar *
47+doq " lus + tic `
48+dot . pam & tis =
49+fas / pat @ wut ?
48−dot . pad & zap !
50+zap !
49−gap [>1 space, nl] rac ]
50−hax # rit )
51−```
51+```
52−
52+
53−Learning and using these names of non-alphanumeric symbols is entirely optional; you can become an expert Hoon programmer without them. Many Hoon programmers find them helpful, however, particularly when talking to someone else who knows them.
53+Learning and using these names of non-alphanumeric symbols is entirely optional; you can become an expert Hoon programmer without them. Many Hoon programmers find them helpful, however, par
54+
55+ularly when talking to someone else who knows them.
54
56
55Note that the list includes two separate whitespace forms: `ace` for a single space; `gap` is either 2+ spaces or a newline. In Hoon, the only whitespace significance is the distinction between `ace` and `gap` -- i.e., the distinction between one space and more than one.
57Note that the list includes two separate whitespace forms: `ace` for a single space; `gap` is either 2+ spaces or a newline. In Hoon, the only whitespace significance is the distinction between `ace` and `gap` -- i.e., the distinction between one space and more than one.
56
58
reference/glossary.udon+12−12
@@ -420,18 +420,18 @@ information in speech. [`Runes`](#rune) are composed of two glyphs.
420Below is a complete list of glyphs with their associated pronunciations.
420Below is a complete list of glyphs with their associated pronunciations.
421
421
422```
422```
423−ace [1 space] hep - rob }
423+ace [1 space] gal < pal (
424−ban > ket ^ say '
424+bar | gap [>1 space, nl] par )
425−bar | lac [ sig ~
425+bas \ gar > sel [
426−bat \ led < tar *
426+buc $ hax # mic ;
427−bus $ lit ( tec `
428−cab _ lob { tis =
427+cab _ hep - ser ]
429−cen % lus + vat @
428+cen % kel { sig ~
430−col : mic ; wut ?
429+col : ker } soq '
431−com , net / yel "
430+com , ket ^ tar *
431+doq " lus + tic `
432+dot . pam & tis =
433+fas / pat @ wut ?
432−dot . pad & zap !
434+zap !
433−gap [>1 space, nl] rac ]
434−hax # rit )
435```
435```
436
436
437### Hall
437### Hall
reference/hoon-expressions/rune.udon+1−1
@@ -56,7 +56,7 @@ Runes used for making function calls in Hoon.
56
56
57Runes that let us adjust types without violating type constraints.
57Runes that let us adjust types without violating type constraints.
58
58
59−### [`$ bus` (Structures)](bus)
59+### [`$ buc` (Structures)](buc)
60
60
61Runes used for defining custom types.
61Runes used for defining custom types.
62
62
reference/hoon-expressions/rune/bus.udon → reference/hoon-expressions/rune/buc.udonrenamed+14−14
@@ -1,11 +1,11 @@
1:- :~ navhome/'/docs/'
1:- :~ navhome/'/docs/'
2 next/'true'
2 next/'true'
3 sort/'12'
3 sort/'12'
4− title/'Structures $ ("bus")'
4+ title/'Structures $ ("buc")'
5 ==
5 ==
6;>
6;>
7
7
8−# Structures $ ("bus")
8+# Structures $ ("buc")
9
9
10The `$` family of runes is used for defining custom types. Strictly speaking,
10The `$` family of runes is used for defining custom types. Strictly speaking,
11these runes are used to produce 'structures'. A structure is a compile-time
11these runes are used to produce 'structures'. A structure is a compile-time
@@ -61,7 +61,7 @@ Irregular: `*` makes `%noun`, `^` makes `%cell`, `?` makes
61
61
62;=
62;=
63 ;h3
63 ;h3
64− ;div(id "buscab"): $_ "buscab"
64+ ;div(id "buccab"): $_ "buccab"
65 ==
65 ==
66==
66==
67
67
@@ -101,7 +101,7 @@ and produces its *example* instead.
101
101
102;=
102;=
103 ;h3
103 ;h3
104− ;div(id "buscen"): $% "buscen"
104+ ;div(id "buccen"): $% "buccen"
105 ==
105 ==
106==
106==
107
107
@@ -136,7 +136,7 @@ be an infinite loop!
136
136
137;=
137;=
138 ;h3
138 ;h3
139− ;div(id "buscol"): $: "buscol"
139+ ;div(id "buccol"): $: "buccol"
140 ==
140 ==
141==
141==
142
142
@@ -174,7 +174,7 @@ Irregular (structure mode): `[a b c]` is `$:(a b c)`.
174
174
175;=
175;=
176 ;h3
176 ;h3
177− ;div(id "bushep"): $- "bushep"
177+ ;div(id "buchep"): $- "buchep"
178 ==
178 ==
179==
179==
180
180
@@ -193,7 +193,7 @@ Regular: *2-fixed*.
193
193
194##### Discussion
194##### Discussion
195
195
196−Since a `$-` reduces to a [`$_`](#buscab), it is not useful for normalizing, just for typechecking. In particular, the existence of `$-`s does *not* let us send gates or other cores over the network!
196+Since a `$-` reduces to a [`$_`](#buccab), it is not useful for normalizing, just for typechecking. In particular, the existence of `$-`s does *not* let us send gates or other cores over the faswork!
197
197
198##### Examples
198##### Examples
199
199
@@ -206,7 +206,7 @@ Since a `$-` reduces to a [`$_`](#buscab), it is not useful for normalizing, jus
206
206
207;=
207;=
208 ;h3
208 ;h3
209− ;div(id "busket"): $^ "busket"
209+ ;div(id "bucket"): $^ "bucket"
210 ==
210 ==
211==
211==
212
212
@@ -244,7 +244,7 @@ Regular: *2-fixed*.
244
244
245;=
245;=
246 ;h3
246 ;h3
247− ;div(id "bussig"): $~ "bussig"
247+ ;div(id "bucsig"): $~ "bucsig"
248 ==
248 ==
249==
249==
250
250
@@ -311,7 +311,7 @@ Using `$~`:
311
311
312;=
312;=
313 ;h3
313 ;h3
314− ;div(id "busvat"): $@ "busvat"
314+ ;div(id "bucvat"): $@ "bucvat"
315 ==
315 ==
316==
316==
317
317
@@ -353,7 +353,7 @@ Example:
353
353
354;=
354;=
355 ;h3
355 ;h3
356− ;div(id "bustis"): $= "bustis"
356+ ;div(id "buctis"): $= "buctis"
357 ==
357 ==
358==
358==
359
359
@@ -392,7 +392,7 @@ p=%foo
392
392
393;=
393;=
394 ;h3
394 ;h3
395− ;div(id "buswut"): $? "buswut"
395+ ;div(id "bucwut"): $? "bucwut"
396 ==
396 ==
397==
397==
398
398
@@ -417,8 +417,8 @@ Irregular: `?(%foo %baz)` is `$?(%foo %baz)`.
417##### Discussion
417##### Discussion
418
418
419For a union of atoms, a `$?` is fine. For more complex nouns,
419For a union of atoms, a `$?` is fine. For more complex nouns,
420−always try to use a [`$%`](#buscen), [`$@`](#busvat) or
420+always try to use a [`$%`](#buccen), [`$@`](#bucpat) or
421−[`$^`](#bushep), at least if you expect your structure to be used as a
421+[`$^`](#buchep), at least if you expect your structure to be used as a
422normalizer.
422normalizer.
423
423
424##### Examples
424##### Examples
reference/hoon-expressions/rune/lus.udon+1−1
@@ -69,7 +69,7 @@ Notice that `p.q` has the label `%numbers`. Contrast with:
69
69
70;=
70;=
71 ;h3
71 ;h3
72− ;div(id "lusbus"): +$ "lusbus"
72+ ;div(id "lusbuc"): +$ "lusbuc"
73 ==
73 ==
74==
74==
75
75
reference/hoon-expressions/rune/mic.udon+1−1
@@ -176,7 +176,7 @@ Fails because not a fixpoint:
176
176
177;=
177;=
178 ;h3
178 ;h3
179− ;div(id "micnet"): ;/ "micnet"
179+ ;div(id "micfas"): ;/ "micfas"
180 ==
180 ==
181==
181==
182
182
reference/hoon-expressions/rune/sig.udon+2−2
@@ -86,7 +86,7 @@ ford: build failed
86
86
87;=
87;=
88 ;h3
88 ;h3
89− ;div(id "sigbus"): ~$ "sigbus"
89+ ;div(id "sigbuc"): ~$ "sigbuc"
90 ==
90 ==
91==
91==
92
92
@@ -318,7 +318,7 @@ This should work fine:
318
318
319;=
319;=
320 ;h3
320 ;h3
321− ;div(id "signet"): ~/ "signet"
321+ ;div(id "sigfas"): ~/ "signet"
322 ==
322 ==
323==
323==
324
324
reference/hoon-expressions/rune/tis.udon+2−2
@@ -381,7 +381,7 @@ Regular: *3-fixed*.
381
381
382;=
382;=
383 ;h3
383 ;h3
384− ;div(id "tisnet"): =/ "tisnet"
384+ ;div(id "tisfas"): =/ "tisfas"
385 ==
385 ==
386==
386==
387
387
@@ -418,7 +418,7 @@ Regular: *3-fixed*.
418##### Discussion
418##### Discussion
419
419
420`p` can be either a name or a name=type. If it's just a name,
420`p` can be either a name or a name=type. If it's just a name,
421−`=/` ("tisnet") "declares a type-inferred variable." If it has a type, `=/`
421+`=/` ("tisfas") "declares a type-inferred variable." If it has a type, `=/`
422"declares a type-checked variable."
422"declares a type-checked variable."
423
423
424##### Examples
424##### Examples