on master help sign in
thru 4b
732920aHenry Ault
docs/system/hoon/library/src/3f/core/ob.md+61−53
@@ -30,20 +30,23 @@ An atom.
30Source
30Source
31------
31------
32
32
33− ++ feen :: conceal structure v2
33+ ++ feen :: conceal structure v2
34− |= pyn=@ ^- @
34+ |= pyn/@ ^- @
35− ?: &((gte pyn 0x1.0000) (lte pyn 0xffff.ffff))
35+ ?: &((gte pyn 0x1.0000) (lte pyn 0xffff.ffff))
36− (add 0x1.0000 (fice (sub pyn 0x1.0000)))
36+ (add 0x1.0000 (fice (sub pyn 0x1.0000)))
37− ?: &((gte pyn 0x1.0000.0000) (lte pyn 0xffff.ffff.ffff.ffff))
37+ ?: &((gte pyn 0x1.0000.0000) (lte pyn 0xffff.ffff.ffff.ffff))
38− =+ lo=(dis pyn 0xffff.ffff)
38+ =+ lo=(dis pyn 0xffff.ffff)
39− =+ hi=(dis pyn 0xffff.ffff.0000.0000)
39+ =+ hi=(dis pyn 0xffff.ffff.0000.0000)
40− %+ con hi
40+ %+ con hi
41− (add 0x1.0000 (fice (sub lo 0x1.0000)))
41+ (add 0x1.0000 (fice (sub lo 0x1.0000)))
42− pyn
42+ pyn
43+ ::
44+
43
45
44Examples
46Examples
45--------
47--------
46
48
49+XX
47
50
48------------------------------------------------------------------------
51------------------------------------------------------------------------
49
52
@@ -54,7 +57,7 @@ XX
54Randomly permutes atoms that fit into 17 to 32 bits into one another, and
57Randomly permutes atoms that fit into 17 to 32 bits into one another, and
55randomly permutes the low 32 bits of atoms that fit into 33 to 64 bits;
58randomly permutes the low 32 bits of atoms that fit into 33 to 64 bits;
56otherwise, passes the atom through unchanged. The permutation is the inverse of
59otherwise, passes the atom through unchanged. The permutation is the inverse of
57−the one applied by [`++feen`]().
60+the one applied by `++feen`.
58
61
59Accepts
62Accepts
60-------
63-------
@@ -69,16 +72,17 @@ An atom.
69Source
72Source
70------
73------
71
74
72− ++ fend :: restore structure v2
75+ ++ fend :: restore structure v2
73− |= cry=@ ^- @
76+ |= cry/@ ^- @
74− ?: &((gte cry 0x1.0000) (lte cry 0xffff.ffff))
77+ ?: &((gte cry 0x1.0000) (lte cry 0xffff.ffff))
75− (add 0x1.0000 (teil (sub cry 0x1.0000)))
78+ (add 0x1.0000 (teil (sub cry 0x1.0000)))
76− ?: &((gte cry 0x1.0000.0000) (lte cry 0xffff.ffff.ffff.ffff))
79+ ?: &((gte cry 0x1.0000.0000) (lte cry 0xffff.ffff.ffff.ffff))
77− =+ lo=(dis cry 0xffff.ffff)
80+ =+ lo=(dis cry 0xffff.ffff)
78− =+ hi=(dis cry 0xffff.ffff.0000.0000)
81+ =+ hi=(dis cry 0xffff.ffff.0000.0000)
79− %+ con hi
82+ %+ con hi
80− (add 0x1.0000 (teil (sub lo 0x1.0000)))
83+ (add 0x1.0000 (teil (sub lo 0x1.0000)))
81− cry
84+ cry
85+ ::
82
86
83Examples
87Examples
84--------
88--------
@@ -89,7 +93,6 @@ Examples
89
93
90XX
94XX
91
95
92−Applies a 3-round Feistel-like cipher to randomly permute atoms in the range `0` to `2^32 - 2^16`. The construction given in Black and Rogaway is ideal for a domain with a size of that form, and as with a conventionel Feistel cipher, three rounds suffice to make the permutation pseudorandom.
93
96
94Accepts
97Accepts
95-------
98-------
@@ -104,15 +107,17 @@ An atom.
104Source
107Source
105------
108------
106
109
107− ++ fice :: adapted from
110+ ++ fice :: adapted from
108− |= nor=@ :: black and rogaway
111+ |= nor/@ :: black and rogaway
109− ^- @ :: "ciphers with
112+ ^- @ :: "ciphers with
110− =+ ^= sel :: arbitrary finite
113+ =+ ^= sel :: arbitrary finite
111− %+ rynd 2 :: domains", 2002
114+ %+ rynd 2 :: domains", 2002
112− %+ rynd 1
115+ %+ rynd 1
113− %+ rynd 0
116+ %+ rynd 0
114− [(mod nor 65.535) (div nor 65.535)]
117+ [(mod nor 65.535) (div nor 65.535)]
115− (add (mul 65.535 -.sel) +.sel)
118+ (add (mul 65.535 -.sel) +.sel)
119+ ::
120+
116
121
117Examples
122Examples
118--------
123--------
@@ -123,7 +128,7 @@ Examples
123
128
124XX
129XX
125
130
126−Applies the reverse of the Feistel-like cipher applied by [`++fice`](). Unlike
131+Applies the reverse of the Feistel-like cipher applied by `++fice`. Unlike
127a conventional Feistel cipher that is its own inverse if keys are used in
132a conventional Feistel cipher that is its own inverse if keys are used in
128reverse order, this Feistel-like cipher uses two moduli that must be swapped
133reverse order, this Feistel-like cipher uses two moduli that must be swapped
129when applying the reverse transformation.
134when applying the reverse transformation.
@@ -141,15 +146,18 @@ An atom.
141Source
146Source
142------
147------
143
148
144− ++ teil :: reverse ++fice
149+ ++ teil :: reverse ++fice
145− |= vip=@
150+ |= vip/@
146− ^- @
151+ ^- @
147− =+ ^= sel
152+ =+ ^= sel
148− %+ rund 0
153+ %+ rund 0
149− %+ rund 1
154+ %+ rund 1
150− %+ rund 2
155+ %+ rund 2
151− [(mod vip 65.535) (div vip 65.535)]
156+ [(mod vip 65.535) (div vip 65.535)]
152− (add (mul 65.535 -.sel) +.sel)
157+ (add (mul 65.535 -.sel) +.sel)
158+ ::
159+
160+
153
161
154Examples
162Examples
155--------
163--------
@@ -160,7 +168,7 @@ Examples
160
168
161XX
169XX
162
170
163−A single round of the Feistel-like cipher [`++fice`](). AES ([`++aesc`]()) is
171+A single round of the Feistel-like cipher `++fice`. AES (`++aesc`) is
164used as the round function.
172used as the round function.
165
173
166Accepts
174Accepts
@@ -177,7 +185,7 @@ Source
177------
185------
178
186
179 ++ rynd :: feistel round
187 ++ rynd :: feistel round
180− |= [n=@ l=@ r=@]
188+ |= [n/@ l/@ r/@]
181 ^- [@ @]
189 ^- [@ @]
182 :- r
190 :- r
183 ?~ (mod n 2)
191 ?~ (mod n 2)
@@ -193,7 +201,7 @@ Examples
193
201
194XX
202XX
195
203
196−A single round of the Feistel-like reverse cipher [`++teil`]().
204+A single round of the Feistel-like reverse cipher `++teil`.
197
205
198Accepts
206Accepts
199-------
207-------
@@ -208,13 +216,13 @@ A cell of two atoms.
208Source
216Source
209------
217------
210
218
211− ++ rund :: reverse round
219+ ++ rund :: reverse round
212− |= [n=@ l=@ r=@]
220+ |= {n/@ l/@ r/@}
213− ^- [@ @]
221+ ^- {@ @}
214− :- r
222+ :- r
215− ?~ (mod n 2)
223+ ?~ (mod n 2)
216− (~(dif fo 65.535) l (en:aesc (snag n raku) r))
224+ (~(dif fo 65.535) l (en:aesc (snag n raku) r))
217− (~(dif fo 65.536) l (en:aesc (snag n raku) r))
225+ (~(dif fo 65.536) l (en:aesc (snag n raku) r))
218
226
219Examples
227Examples
220--------
228--------
@@ -229,12 +237,12 @@ XX
229Accepts
237Accepts
230-------
238-------
231
239
232−A list of atoms of [odor]() [`@ux`]() (hexadecimal).
240+A list of atoms of odor `@ux` (hexadecimal).
233
241
234Produces
242Produces
235--------
243--------
236
244
237−Arbitrary keys for use with [`++aesc`]().
245+Arbitrary keys for use with `++aesc`.
238
246
239Source
247Source
240------
248------
docs/system/hoon/library/src/3f/core/un.md+23−20
@@ -21,26 +21,28 @@ on the result, pushing it forward. Produces an atom.
21Accepts
21Accepts
22-------
22-------
23
23
24−`pyn` is an [atom]().
24+`pyn` is an atom.
25
25
26
26
27Produces
27Produces
28--------
28--------
29
29
30+An atom.
31+
30Source
32Source
31------
33------
32
34
33 ++ wren :: conceal structure
35 ++ wren :: conceal structure
34− |= pyn=@ ^- @
36+ |= pyn/@ ^- @
35 =+ len=(met 3 pyn)
37 =+ len=(met 3 pyn)
36 ?: =(0 len)
38 ?: =(0 len)
37 0
39 0
38 => .(len (dec len))
40 => .(len (dec len))
39 =+ mig=(zaft (xafo len (cut 3 [len 1] pyn)))
41 =+ mig=(zaft (xafo len (cut 3 [len 1] pyn)))
40 %+ can 3
42 %+ can 3
41− %- flop ^- (list ,[@ @])
43+ %- flop ^- (list {@ @})
42 :- [1 mig]
44 :- [1 mig]
43− |- ^- (list ,[@ @])
45+ |- ^- (list {@ @})
44 ?: =(0 len)
46 ?: =(0 len)
45 ~
47 ~
46 => .(len (dec len))
48 => .(len (dec len))
@@ -48,6 +50,7 @@ Source
48 [[1 mog] $(mig mog)]
50 [[1 mog] $(mig mog)]
49 ::
51 ::
50
52
53+
51Examples
54Examples
52--------
55--------
53
56
@@ -71,7 +74,7 @@ on the result, pushing it forward. Produces an atom.
71Accepts
74Accepts
72-------
75-------
73
76
74−`cry` is an [atom]().
77+`cry` is an atom.
75
78
76Produces
79Produces
77--------
80--------
@@ -80,16 +83,16 @@ Source
80------
83------
81
84
82 ++ wred :: restore structure
85 ++ wred :: restore structure
83− |= cry=@ ^- @
86+ |= cry/@ ^- @
84 =+ len=(met 3 cry)
87 =+ len=(met 3 cry)
85 ?: =(0 len)
88 ?: =(0 len)
86 0
89 0
87 => .(len (dec len))
90 => .(len (dec len))
88 =+ mig=(cut 3 [len 1] cry)
91 =+ mig=(cut 3 [len 1] cry)
89 %+ can 3
92 %+ can 3
90− %- flop ^- (list ,[@ @])
93+ %- flop ^- (list {@ @})
91 :- [1 (xaro len (zart mig))]
94 :- [1 (xaro len (zart mig))]
92− |- ^- (list ,[@ @])
95+ |- ^- (list {@ @})
93 ?: =(0 len)
96 ?: =(0 len)
94 ~
97 ~
95 => .(len (dec len))
98 => .(len (dec len))
@@ -123,7 +126,7 @@ A cell of two atoms, `a` and `b`.
123Source
126Source
124------
127------
125
128
126− ++ xafo |=([a=@ b=@] +((mod (add (dec b) a) 255)))
129+ ++ xafo |=([a/@ b/@] +((mod (add (dec b) a) 255)))
127
130
128Examples
131Examples
129--------
132--------
@@ -155,7 +158,7 @@ An atom.
155Source
158Source
156------
159------
157
160
158− ++ xaro |=([a=@ b=@] +((mod (add (dec b) (sub 255 (mod a 255))) 255)))
161+ ++ xaro |=([a/@ b/@] +((mod (add (dec b) (sub 255 (mod a 255))) 255)))
159
162
160Examples
163Examples
161--------
164--------
@@ -171,7 +174,7 @@ Examples
171
174
172Look up in 255 sub box
175Look up in 255 sub box
173
176
174−The inverse of [`++zart`](). Looks up a nonzero byte`a\` in a substiution
177+The inverse of `++zart`. Looks up a nonzero byte `a`in a substiution
175box with 255 values, producing a unique nonzero byte.
178box with 255 values, producing a unique nonzero byte.
176
179
177Accepts
180Accepts
@@ -189,7 +192,7 @@ Source
189------
192------
190
193
191 ++ zaft :: forward 255-sbox
194 ++ zaft :: forward 255-sbox
192− |= a=@D
195+ |= a/@D
193 =+ ^= b
196 =+ ^= b
194 0xcc.75bc.86c8.2fb1.9a42.f0b3.79a0.92ca.21f6.1e41.cde5.fcc0.
197 0xcc.75bc.86c8.2fb1.9a42.f0b3.79a0.92ca.21f6.1e41.cde5.fcc0.
195 7e85.51ae.1005.c72d.1246.07e8.7c64.a914.8d69.d9f4.59c2.8038.
198 7e85.51ae.1005.c72d.1246.07e8.7c64.a914.8d69.d9f4.59c2.8038.
@@ -222,7 +225,7 @@ Examples
222
225
223Reverse look up in 255 sub box
226Reverse look up in 255 sub box
224
227
225−The inverse of [`++zaft`](). Looks up the index of a nonzero byte `a` in
228+The inverse of `++zaft`. Looks up the index of a nonzero byte `a` in
226the substitution box with 255 values, producing a unique nonzero byte.
229the substitution box with 255 values, producing a unique nonzero byte.
227
230
228Accepts
231Accepts
@@ -239,7 +242,7 @@ Source
239------
242------
240
243
241 ++ zart :: reverse 255-sbox
244 ++ zart :: reverse 255-sbox
242− |= a=@D
245+ |= a/@D
243 =+ ^= b
246 =+ ^= b
244 0x68.4f07.ea1c.73c9.75c2.efc8.d559.5125.f621.a7a8.8591.5613.
247 0x68.4f07.ea1c.73c9.75c2.efc8.d559.5125.f621.a7a8.8591.5613.
245 dd52.40eb.65a2.60b7.4bcb.1123.ceb0.1bd6.3c84.2906.b164.19b3.
248 dd52.40eb.65a2.60b7.4bcb.1123.ceb0.1bd6.3c84.2906.b164.19b3.
@@ -269,13 +272,13 @@ Examples
269
272
270Lookup byte in 256 sub box
273Lookup byte in 256 sub box
271
274
272−The inverse of [`++zyrt`](). Looks up a byte `a` in a substituion box
275+The inverse of `++zyrt`. Looks up a byte `a` in a substituion box
273with 256 values, producing a byte.
276with 256 values, producing a byte.
274
277
275Accepts
278Accepts
276-------
279-------
277
280
278−`a` is an [atom]() of one byte in length.
281+`a` is an atom of one byte in length.
279
282
280Produces
283Produces
281--------
284--------
@@ -286,7 +289,7 @@ Source
286------
289------
287
290
288 ++ zyft :: forward 256-sbox
291 ++ zyft :: forward 256-sbox
289− |= a=@D
292+ |= a/@D
290 =+ ^= b
293 =+ ^= b
291 0xbb49.b71f.b881.b402.17e4.6b86.69b5.1647.115f.dddb.7ca5.
294 0xbb49.b71f.b881.b402.17e4.6b86.69b5.1647.115f.dddb.7ca5.
292 8371.4bd5.19a9.b092.605d.0d9b.e030.a0cc.78ba.5706.4d2d.
295 8371.4bd5.19a9.b092.605d.0d9b.e030.a0cc.78ba.5706.4d2d.
@@ -319,13 +322,13 @@ Examples
319
322
320Reverse lookup byte in 256 sub box
323Reverse lookup byte in 256 sub box
321
324
322−The inverse of [`++zyft`](/doc/hoon/library/2en#++zyft). Looks up a byte `a` in a substituion box
325+The inverse of `++zyft`. Looks up a byte `a` in a substituion box
323with 256 values, producing a byte.
326with 256 values, producing a byte.
324
327
325Accepts
328Accepts
326-------
329-------
327
330
328−`a` is an [atom]() of one byte in length.
331+`a` is an atom of one byte in length.
329
332
330Produces
333Produces
331--------
334--------
@@ -336,7 +339,7 @@ Source
336------
339------
337
340
338 ++ zyrt :: reverse 256-sbox
341 ++ zyrt :: reverse 256-sbox
339− |= a=@D
342+ |= a/@D
340 =+ ^= b
343 =+ ^= b
341 0x9fc8.2753.6e02.8fcf.8b35.2b20.5598.7caa.c9a9.30b0.9b48.
344 0x9fc8.2753.6e02.8fcf.8b35.2b20.5598.7caa.c9a9.30b0.9b48.
342 47ce.6371.80f6.407d.00dd.0aa5.ed10.ecb7.0f5a.5c3a.e605.
345 47ce.6371.80f6.407d.00dd.0aa5.ed10.ecb7.0f5a.5c3a.e605.
docs/system/hoon/library/src/3g/mold/.coin.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.dime.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.edge.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.hair.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.like.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.nail.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.path.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.pint.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.rule.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.spot.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.toon.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/.wonk.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/3g/mold/coin.md+4−4
@@ -3,14 +3,14 @@
3Noun literal syntax cases
3Noun literal syntax cases
4
4
5Noun literal syntax cases: atoms, jammed nouns, and nestable tuples.
5Noun literal syntax cases: atoms, jammed nouns, and nestable tuples.
6−Parsed and printed using [`++so`]() and [`++co`]() cores.
6+Parsed and printed using `++so` and `++co` cores.
7
7
8Source
8Source
9------
9------
10
10
11− ++ coin $% [%$ p=dime] ::
11+ ++ coin $% {$$ p/dime} ::
12− [%blob p=*] ::
12+ {$blob p/*} ::
13− [%many p=(list coin)] ::
13+ {$many p/(list coin)} ::
14 == ::
14 == ::
15
15
16Examples
16Examples
docs/system/hoon/library/src/3g/mold/dime.md+6−5
@@ -2,15 +2,16 @@
2
2
3Odor-atom pair
3Odor-atom pair
4
4
5−Used in [`++coin`](). Convenience methods [`++scot`]() and [`++scow`]() (in
5+Used in `++coin`. Convenience methods `++scot` and `++scow` (in
6−Section 2eL) print dimes as [`++cord`]() and [`++tape`](), respectively.
6+Section 2eL) print dimes as `++cord` and `++tape`, respectively.
7−[`++slat`](), [`++slav`](), and [`++slaw`]() are used to parse atoms of
7+`++slat`, `++slav`, and `++slaw` are used to parse atoms of
8−specific [odor]()s.
8+specific odors.
9
9
10Source
10Source
11------
11------
12
12
13− ++ dime ,[p=@ta q=@] ::
13+ ++ dime {p/@ta q/@} ::
14+
14
15
15Examples
16Examples
16--------
17--------
docs/system/hoon/library/src/3g/mold/edge.md+3−2
@@ -7,12 +7,13 @@ Optional result `p` and parsing continuation `q`.
7Source
7Source
8------
8------
9
9
10− ++ edge ,[p=hair q=(unit ,[p=* q=nail])] :: parsing output
10+ ++ hair {p/@ud q/@ud} :: parsing trace
11+
11
12
12Examples
13Examples
13--------
14--------
14
15
15−See also: Section 2eD, [`++rule`]()
16+See also: Section 2eD, `++rule`
16
17
17 ~zod/try=> *edge
18 ~zod/try=> *edge
18 [p=[p=0 q=0] q=~]
19 [p=[p=0 q=0] q=~]
docs/system/hoon/library/src/3g/mold/hair.md+2−1
@@ -7,7 +7,8 @@ A pair of two [`@ud`]() used in parsing indicating line and column number.
7Source
7Source
8------
8------
9
9
10− ++ hair ,[p=@ud q=@ud] :: parsing trace
10+ ++ hair {p/@ud q/@ud} :: parsing trace
11+
11
12
12Examples
13Examples
13--------
14--------
docs/system/hoon/library/src/3g/mold/like.md+5−1
@@ -7,11 +7,15 @@ Mold generator for an edge
7Source
7Source
8------
8------
9
9
10− ++ like |* a=_,* :: generic edge
10+ ++ like |* a/$-(* *) :: generic edge
11+ |= b/_`*`[(hair) ~] ::
12+ :- p=(hair -.b) ::
13+ ^= q ::
11 ?@ +.b ~ ::
14 ?@ +.b ~ ::
12 :- ~ ::
15 :- ~ ::
13 u=[p=(a +>-.b) q=[p=(hair -.b) q=(tape +.b)]] ::
16 u=[p=(a +>-.b) q=[p=(hair -.b) q=(tape +.b)]] ::
14
17
18+
15Examples
19Examples
16--------
20--------
17 ~zod/try=> *(like char)
21 ~zod/try=> *(like char)
docs/system/hoon/library/src/3g/mold/nail.md+2−1
@@ -7,7 +7,8 @@ Indicates parsing position `p`, and remaining text to be parsed `q`.
7Source
7Source
8------
8------
9
9
10− ++ nail ,[p=hair q=tape] :: parsing input
10+ ++ nail {p/hair q/tape} :: parsing input
11+
11
12
12Examples
13Examples
13--------
14--------
docs/system/hoon/library/src/3g/mold/path.md+3−2
@@ -2,13 +2,14 @@
2
2
3Filesystem path
3Filesystem path
4
4
5−A `++path` is a list of [`++span`]()s aka [`@ta`](). Used in
5+A `++path` is a list of `++span`s aka `@ta`. Used in
6`%clay` and `%eyre` extensively.
6`%clay` and `%eyre` extensively.
7
7
8Source
8Source
9------
9------
10
10
11− ++ path (list span) :: filesys location
11+ ++ path (list knot) :: filesys location
12+
12
13
13Examples
14Examples
14--------
15--------
docs/system/hoon/library/src/3g/mold/pint.md+3−2
@@ -3,12 +3,13 @@
3Parsing range
3Parsing range
4
4
5Mostly used for stacktraces. A `++pint` is a pair of
5Mostly used for stacktraces. A `++pint` is a pair of
6−[`++hair`](), indicating from `p` to `q`.
6+`++hair`, indicating from `p` to `q`.
7
7
8Source
8Source
9------
9------
10
10
11− ++ pint ,[p=[p=@ q=@] q=[p=@ q=@]] :: line/column range
11+ ++ pint {p/{p/@ q/@} q/{p/@ q/@}} :: line+column range
12+
12
13
13Examples
14Examples
14--------
15--------
docs/system/hoon/library/src/3g/mold/rule.md+2−1
@@ -9,7 +9,8 @@ that parsing rules match this with `_`.
9Source
9Source
10------
10------
11
11
12− ++ rule |=(tub=nail `edge`[p.tub ~ ~ tub]) :: parsing rule
12+ ++ rule _|=(nail *edge) :: parsing rule
13+
13
14
14Examples
15Examples
15--------
16--------
docs/system/hoon/library/src/3g/mold/spot.md+3−2
@@ -2,12 +2,13 @@
2
2
3Stack trace line
3Stack trace line
4
4
5−A [`++spot`]() is what we print after crashing.
5+A `++spot` is what we print after crashing.
6
6
7Source
7Source
8------
8------
9
9
10− ++ spot ,[p=path q=pint] :: range in file
10+ ++ spot {p/path q/pint} :: range in file
11+
11
12
12Examples
13Examples
13--------
14--------
docs/system/hoon/library/src/3g/mold/toon.md+6−3
@@ -8,13 +8,16 @@ failure with stack trace (`%2`).
8Source
8Source
9------
9------
10
10
11− ++ toon $% [%0 p=*] :: success
11+ ++ toon $% {$0 p/*} :: success
12+ {$1 p/(list)} :: blocks
13+ {$2 p/(list tank)} :: stack trace
14+ == ::
15+
12
16
13Examples
17Examples
14--------
18--------
15− ~zod/try=> (mock [[20 21] 0 3] ,~)
19+ ~zod/try=> (mock [[20 21] 0 3] $~)
16 [%0 p=21]
20 [%0 p=21]
17−
18 ~zod/try=> (mock [[0] !=(.^(cy//=main/1))] ,~)
21 ~zod/try=> (mock [[0] !=(.^(cy//=main/1))] ,~)
19 [%1 p=~[[31.075 1.685.027.454 1.852.399.981 49 0]]]
22 [%1 p=~[[31.075 1.685.027.454 1.852.399.981 49 0]]]
20 ~zod/try=> (path [31.075 1.685.027.454 1.852.399.981 49 0])
23 ~zod/try=> (path [31.075 1.685.027.454 1.852.399.981 49 0])
docs/system/hoon/library/src/4a/core/.po.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4a/core/po.md+55−52
@@ -1,42 +1,42 @@
1### `++po`
1### `++po`
2
2
3−++ po
3+ ++ po
4− ~/ %po
4+ ~/ %po
5− =+ :- ^= sis :: prefix syllables
5+ =+ :- ^= sis :: prefix syllables
6− 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
6+ 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
7− /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
7+ /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
8− /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
8+ /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
9− /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
9+ /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
10− /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
10+ /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
11− /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
11+ /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
12− /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
12+ /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
13− /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
13+ /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
14− /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
14+ /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
15− /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
15+ /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
16− /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
16+ /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
17− /havsaplindibhosdabbitbarracparloddosbortochilmac\
17+ /havsaplindibhosdabbitbarracparloddosbortochilmac\
18− /tomdigfilfasmithobharmighinradmashalraglagfadtop\
18+ /tomdigfilfasmithobharmighinradmashalraglagfadtop\
19− /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
19+ /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
20− /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
20+ /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
21− /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
21+ /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
22− ^= dex :: suffix syllables
22+ ^= dex :: suffix syllables
23− 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
23+ 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
24− /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
24+ /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
25− /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
25+ /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
26− /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
26+ /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
27− /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
27+ /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
28− /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
28+ /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
29− /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
29+ /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
30− /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
30+ /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
31− /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
31+ /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
32− /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
32+ /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
33− /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
33+ /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
34− /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
34+ /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
35− /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
35+ /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
36− /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
36+ /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
37− /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
37+ /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
38− /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
38+ /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
39− |%
39+ |%
40
40
41Provides the phonetic syllables and name generators for the Urbit naming
41Provides the phonetic syllables and name generators for the Urbit naming
42system. The two faces, `sis` and `dex` are available to the arms
42system. The two faces, `sis` and `dex` are available to the arms
@@ -54,20 +54,20 @@ Produces the byte of the right-hand syllable `a`.
54Accepts
54Accepts
55-------
55-------
56
56
57−`a` is an [atom]().
57+`a` is an atom.
58
58
59Produces
59Produces
60--------
60--------
61
61
62−A [`++unit`]() of an atom.
62+A `++unit` of an atom.
63
63
64Source
64Source
65------
65------
66
66
67− ++ ind ~/ %ind :: parse prefix
67+ ++ ind ~/ %ind :: parse suffix
68− |= a=@
68+ |= a/@tas
69 =+ b=0
69 =+ b=0
70− |- ^- (unit ,@)
70+ |- ^- (unit @)
71 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
71 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
72
72
73Examples
73Examples
@@ -91,21 +91,22 @@ Produces the byte of the left-hand phonetic syllable `b`.
91Accepts
91Accepts
92-------
92-------
93
93
94−`a` is an [atom]().
94+`a` is an atom.
95
95
96Produces
96Produces
97--------
97--------
98−A [`++unit`]() of an atom.
98+A `++unit` of an atom.
99
99
100Source
100Source
101------
101------
102
102
103− ++ ins ~/ %ins :: parse suffix
103+ ++ ins ~/ %ins :: parse prefix
104− |= a=@
104+ |= a/@tas
105 =+ b=0
105 =+ b=0
106− |- ^- (unit ,@)
106+ |- ^- (unit @)
107 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
107 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
108
108
109+
109Examples
110Examples
110--------
111--------
111
112
@@ -125,7 +126,7 @@ Examples
125Fetch prefix
126Fetch prefix
126
127
127Produces the phonetic prefix syllable from index `a` within `dex` as an
128Produces the phonetic prefix syllable from index `a` within `dex` as an
128−[atom]().
129+atom.
129
130
130Accepts
131Accepts
131-------
132-------
@@ -141,8 +142,10 @@ An atom.
141Source
142Source
142------
143------
143
144
144− ++ tod ~/ %tod :: fetch prefix
145+ ++ tod ~/ %tod :: fetch suffix
145− |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
146+ |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
147+
148+
146
149
147Examples
150Examples
148--------
151--------
@@ -167,7 +170,7 @@ Examples
167Fetch suffix
170Fetch suffix
168
171
169Produces the phonetic prefix syllable from index `a` within `sis` as an
172Produces the phonetic prefix syllable from index `a` within `sis` as an
170−[atom]().
173+atom.
171
174
172Accepts
175Accepts
173-------
176-------
@@ -183,7 +186,7 @@ Source
183------
186------
184
187
185 ++ tos ~/ %tos :: fetch suffix
188 ++ tos ~/ %tos :: fetch suffix
186− |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
189+ |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
187
190
188Examples
191Examples
189--------
192--------
docs/system/hoon/library/src/4b/.title.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/core/.at.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/core/at.md+12−10
@@ -1,7 +1,7 @@
1### `++at`
1### `++at`
2
2
3 ++ at
3 ++ at
4− |_ a=@
4+ |_ a/@
5
5
6XX document
6XX document
7
7
@@ -27,25 +27,26 @@ XX document
27
27
28### `++rf`
28### `++rf`
29
29
30− ++ rf `tape`[?-(a & '&', | '|', * !!) ~]
30+ ++ rf `tape`[?-(a $& '&', $| '|', * !!) ~]
31+
31
32
32XX document
33XX document
33
34
34### `++rn`
35### `++rn`
35
36
36− ++ rn `tape`[?>(=(0 a) '~') ~]
37+ ++ rn `tape`[?>(=(0 a) '~') ~]
37
38
38XX document
39XX document
39
40
40### `++rt`
41### `++rt`
41
42
42− ++ rt `tape`['\'' (weld (mesc (trip a)) `tape`['\'' ~])]
43+ ++ rt `tape`['\'' (weld (mesc (trip a)) `tape`['\'' ~])]
43
44
44XX document
45XX document
45
46
46### `++rta`
47### `++rta`
47
48
48− ++ rta rt
49+ ++ rta rt
49
50
50XX document
51XX document
51
52
@@ -57,20 +58,20 @@ XX document
57
58
58### `++rub`
59### `++rub`
59
60
60− ++ rub `tape`['0' 'b' (rum 2 ~ |=(b=@ (add '0' b)))]
61+ ++ rub `tape`['0' 'b' (rum 2 ~ |=(b/@ (add '0' b)))]
61
62
62XX document
63XX document
63
64
64### `++rud`
65### `++rud`
65
66
66− ++ rud (rum 10 ~ |=(b=@ (add '0' b)))
67+ ++ rud (rum 10 ~ |=(b/@ (add '0' b)))
67
68
68XX document
69XX document
69
70
70### `++rum`
71### `++rum`
71
72
72 ++ rum
73 ++ rum
73− |= [b=@ c=tape d=$+(@ @)]
74+ |= {b/@ c/tape d/$-(@ @)}
74 ^- tape
75 ^- tape
75 ?: =(0 a)
76 ?: =(0 a)
76 [(d 0) c]
77 [(d 0) c]
@@ -86,6 +87,7 @@ XX document
86 ==
87 ==
87 ::
88 ::
88
89
90+
89XX document
91XX document
90
92
91### `++rup`
93### `++rup`
@@ -124,7 +126,7 @@ XX document
124 %^ rum
126 %^ rum
125 64
127 64
126 ~
128 ~
127− |= b=@
129+ |= b/@
128 ?: =(63 b)
130 ?: =(63 b)
129 '+'
131 '+'
130 ?: =(62 b)
132 ?: =(62 b)
@@ -136,7 +138,7 @@ XX document
136
138
137### `++rux`
139### `++rux`
138
140
139− ++ rux `tape`['0' 'x' (rum 16 ~ |=(b=@ (add b ?:((lth b 10) 48 87))))]
141+ ++ rux `tape`['0' 'x' (rum 16 ~ |=(b/@ (add b ?:((lth b 10) 48 87))))]
140 --
142 --
141 :::::::::::::::::::::::::::::::::::::::::::::::::::::: ::
143 :::::::::::::::::::::::::::::::::::::::::::::::::::::: ::
142
144
docs/system/hoon/library/src/4b/gate/.cass.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.crip.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.cuss.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.mesc.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.runt.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.sand.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.sane.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.teff.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.trim.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.trip.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.tuba.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.tufa.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.tuft.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.turf.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.wack.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.wick.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.woad.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/.wood.md.swpnew file

Binary file not shown.

docs/system/hoon/library/src/4b/gate/cass.md+2−3
@@ -19,10 +19,9 @@ Source
19------
19------
20
20
21 ++ cass :: lowercase
21 ++ cass :: lowercase
22− |= vib=tape
22+ |= vib/tape
23 %+ rap 3
23 %+ rap 3
24− (turn vib |=(a=@ ?.(&((gte a 'A') (lte a 'Z')) a (add 32 a))))
24+ (turn vib |=(a/@ ?.(&((gte a 'A') (lte a 'Z')) a (add 32 a))))
25− ::
26
25
27Examples
26Examples
28--------
27--------
docs/system/hoon/library/src/4b/gate/crip.md+1−1
@@ -2,7 +2,7 @@
2
2
3Tape to cord
3Tape to cord
4
4
5−Produce a [`++cord`]() from a [`++tape`]().
5+Produce a `++cord` from a `++tape`.
6
6
7Accepts
7Accepts
8-------
8-------
docs/system/hoon/library/src/4b/gate/cuss.md+2−2
@@ -2,8 +2,8 @@
2
2
3To uppercase
3To uppercase
4
4
5−Turn all occurances of lowercase letters in any [`++tape`]() into uppercase
5+Turn all occurances of lowercase letters in any `++tape` into uppercase
6−letters, as a [`++cord`]().
6+letters, as a `++cord`.
7
7
8Accepts
8Accepts
9-------
9-------
docs/system/hoon/library/src/4b/gate/mesc.md+4−4
@@ -2,12 +2,12 @@
2
2
3Escape special chars
3Escape special chars
4
4
5−Escape special characters, used in [`++show`](/doc/hoon/library/2ez#++show)
5+Escape special characters, used in `++show`.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`vib` is a [`++tape`]().
10+`vib` is a `++tape`.
11
11
12Produces
12Produces
13--------
13--------
@@ -18,13 +18,13 @@ Source
18------
18------
19
19
20 ++ mesc :: ctrl code escape
20 ++ mesc :: ctrl code escape
21− |= vib=tape
21+ |= vib/tape
22 ^- tape
22 ^- tape
23 ?~ vib
23 ?~ vib
24 ~
24 ~
25 ?: =('\\' i.vib)
25 ?: =('\\' i.vib)
26 ['\\' '\\' $(vib t.vib)]
26 ['\\' '\\' $(vib t.vib)]
27− ?: ?|((gth i.vib 126) (lth i.vib 32) =(39 i.vib))
27+ ?: ?|((gth i.vib 126) (lth i.vib 32) =(`@`39 i.vib))
28 ['\\' (welp ~(rux at i.vib) '/' $(vib t.vib))]
28 ['\\' (welp ~(rux at i.vib) '/' $(vib t.vib))]
29 [i.vib $(vib t.vib)]
29 [i.vib $(vib t.vib)]
30 ::
30 ::
docs/system/hoon/library/src/4b/gate/runt.md+2−2
@@ -2,7 +2,7 @@
2
2
3Prepend `n` times
3Prepend `n` times
4
4
5−Add `a` repetitions of character `b` to the head of [`++tape`]() `c`.
5+Add `a` repetitions of character `b` to the head of `++tape` `c`.
6
6
7Accepts
7Accepts
8-------
8-------
@@ -20,7 +20,7 @@ Source
20------
20------
21
21
22 ++ runt :: prepend repeatedly
22 ++ runt :: prepend repeatedly
23− |= [[a=@ b=@] c=tape]
23+ |= [[a/@ b/@] c/tape]
24 ^- tape
24 ^- tape
25 ?: =(0 a)
25 ?: =(0 a)
26 c
26 c
docs/system/hoon/library/src/4b/gate/sand.md+7−7
@@ -2,35 +2,35 @@
2
2
3Soft-cast by odor
3Soft-cast by odor
4
4
5−Soft-cast validity by [odor]().
5+Soft-cast validity by odor.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a [`++span`]() (`@ta`).
10+`a` is a `++span` (`@ta`).
11
11
12`b` is an atom.
12`b` is an atom.
13
13
14Produces
14Produces
15--------
15--------
16
16
17−A `(unit ,@)`.
17+A `(unit @)`.
18
18
19Source
19Source
20------
20------
21
21
22 ++ sand :: atom sanity
22 ++ sand :: atom sanity
23− |= a=@ta
23+ |= a/@ta
24− |= b=@ ^- (unit ,@)
24+ |= b/@ ^- (unit @)
25 ?.(((sane a) b) ~ [~ b])
25 ?.(((sane a) b) ~ [~ b])
26 ::
26 ::
27
27
28Examples
28Examples
29--------
29--------
30
30
31− /~zod/try=> `(unit ,@ta)`((sand %ta) 'sym-som')
31+ /~zod/try=> `(unit @ta)`((sand %ta) 'sym-som')
32 [~ ~.sym-som]
32 [~ ~.sym-som]
33− /~zod/try=> `(unit ,@ta)`((sand %ta) 'err!')
33+ /~zod/try=> `(unit @ta)`((sand %ta) 'err!')
34 ~
34 ~
35
35
36
36
docs/system/hoon/library/src/4b/gate/sane.md+5−5
@@ -2,14 +2,14 @@
2
2
3Check odor validity
3Check odor validity
4
4
5−Check validity by [odor](). Produces a [gate]().
5+Check validity by odor. Produces a gate.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a [`++span`]() (`@ta`).
10+`a` is a `++span` (`@ta`).
11
11
12−`b` is an [atom]().
12+`b` is an atom.
13
13
14Produces
14Produces
15--------
15--------
@@ -20,8 +20,8 @@ Source
20------
20------
21
21
22 ++ sane :: atom sanity
22 ++ sane :: atom sanity
23− |= a=@ta
23+ |= a/@ta
24− |= b=@ ^- ?
24+ |= b/@ ^- ?
25 ?. =(%t (end 3 1 a))
25 ?. =(%t (end 3 1 a))
26 ~|(%sane-stub !!)
26 ~|(%sane-stub !!)
27 =+ [inx=0 len=(met 3 b)]
27 =+ [inx=0 len=(met 3 b)]
docs/system/hoon/library/src/4b/gate/teff.md+4−5
@@ -7,7 +7,7 @@ Produces the number of utf8 bytes.
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a [`@t`]().
10+`a` is a `@t`.
11
11
12Produces
12Produces
13--------
13--------
@@ -17,14 +17,13 @@ An atom.
17Source
17Source
18------
18------
19
19
20− ++ teff :: length utf8
21− |= a=@t ^- @
20+ |= a/@t ^- @
22 =+ b=(end 3 1 a)
21 =+ b=(end 3 1 a)
22+ ~| %bad-utf8
23 ?: =(0 b)
23 ?: =(0 b)
24− ?>(=(0 a) 0)
24+ ?>(=(`@`0 a) 0)
25 ?> |((gte b 32) =(10 b))
25 ?> |((gte b 32) =(10 b))
26 ?:((lte b 127) 1 ?:((lte b 223) 2 ?:((lte b 239) 3 4)))
26 ?:((lte b 127) 1 ?:((lte b 223) 2 ?:((lte b 239) 3 4)))
27− ::
28
27
29Examples
28Examples
30--------
29--------
docs/system/hoon/library/src/4b/gate/trim.md+10−10
@@ -2,7 +2,7 @@
2
2
3Tape split
3Tape split
4
4
5−Split first `a` characters off [`++tape`]() `b`.
5+Split first `a` characters off `++tape` `b`.
6
6
7Accepts
7Accepts
8-------
8-------
@@ -19,17 +19,17 @@ A cell of `++tape`s, `p` and `q`.
19Source
19Source
20------
20------
21
21
22− ++ trim :: tape split
22+ ++ trim :: 31-bit nonzero
23− |= [a=@ b=tape]
23+ |= key/@
24− ^- [p=tape q=tape]
24+ =+ syd=0xcafe.babe
25− ?~ b
25+ |- ^- @
26− [~ ~]
26+ =+ haz=(spec syd key)
27− ?: =(0 a)
27+ =+ ham=(mix (rsh 0 31 haz) (end 0 31 haz))
28− [~ b]
28+ ?.(=(0 ham) ham $(syd +(syd)))
29− =+ c=$(a (dec a), b t.b)
29+ --
30− [[i.b p.c] q.c]
31 ::
30 ::
32
31
32+
33Examples
33Examples
34--------
34--------
35
35
docs/system/hoon/library/src/4b/gate/trip.md+3−2
@@ -2,7 +2,7 @@
2
2
3Cord to tape
3Cord to tape
4
4
5−Produce a [`++tape`]() from [`++cord`]().
5+Produce a `++tape` from `++cord`.
6
6
7Accepts
7Accepts
8-------
8-------
@@ -19,12 +19,13 @@ Source
19
19
20 ++ trip :: cord to tape
20 ++ trip :: cord to tape
21 ~/ %trip
21 ~/ %trip
22− |= a=@ ^- tape
22+ |= a/@ ^- tape
23 ?: =(0 (met 3 a))
23 ?: =(0 (met 3 a))
24 ~
24 ~
25 [^-(@ta (end 3 1 a)) $(a (rsh 3 1 a))]
25 [^-(@ta (end 3 1 a)) $(a (rsh 3 1 a))]
26 ::
26 ::
27
27
28+
28Examples
29Examples
29--------
30--------
30
31
docs/system/hoon/library/src/4b/gate/tuba.md+4−4
@@ -2,7 +2,7 @@
2
2
3UTF8 to UTF32 tape
3UTF8 to UTF32 tape
4
4
5−Convert [`++tape`]() to a [`++list`]() of codepoints ([`@c`]()).
5+Convert `++tape` to a `++list` of codepoints (`@c`).
6
6
7Accepts
7Accepts
8-------
8-------
@@ -12,14 +12,14 @@ Accepts
12Produces
12Produces
13--------
13--------
14
14
15−A `++list` of codepoints [`@c`]().
15+A `++list` of codepoints `@c`.
16
16
17Source
17Source
18------
18------
19
19
20 ++ tuba :: utf8 to utf32 tape
20 ++ tuba :: utf8 to utf32 tape
21− |= a=tape
21+ |= a/tape
22− ^- (list ,@c)
22+ ^- (list @c)
23 (rip 5 (turf (rap 3 a))) :: XX horrible
23 (rip 5 (turf (rap 3 a))) :: XX horrible
24 ::
24 ::
25
25
docs/system/hoon/library/src/4b/gate/tufa.md+4−4
@@ -2,12 +2,12 @@
2
2
3UTF32 to UTF8 tape
3UTF32 to UTF8 tape
4
4
5−Wrap a [`++list`]() of utf32 codepoints into a utf8 [`++tape`]().
5+Wrap a `++list` of utf32 codepoints into a utf8 `++tape`.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a `++list` of [`@c`]().
10+`a` is a `++list` of `@c`.
11
11
12Produces
12Produces
13--------
13--------
@@ -18,7 +18,7 @@ Source
18------
18------
19
19
20 ++ tufa :: utf32 to utf8 tape
20 ++ tufa :: utf32 to utf8 tape
21− |= a=(list ,@c)
21+ |= a=(list @c)
22 ^- tape
22 ^- tape
23 ?~ a ""
23 ?~ a ""
24 (weld (rip 3 (tuft i.a)) $(a t.a))
24 (weld (rip 3 (tuft i.a)) $(a t.a))
@@ -29,7 +29,7 @@ Examples
29
29
30 /~zod/try=> (tufa ~[~-~44f. ~-. ~-~442. ~-~443. ~-~442.])
30 /~zod/try=> (tufa ~[~-~44f. ~-. ~-~442. ~-~443. ~-~442.])
31 "я тут"
31 "я тут"
32− /~zod/try=> (tufa ((list ,@c) ~[%a %b 0xb1 %c]))
32+ /~zod/try=> (tufa ((list @c) ~[%a %b 0xb1 %c]))
33 "ab±c"
33 "ab±c"
34
34
35
35
docs/system/hoon/library/src/4b/gate/tuft.md+8−8
@@ -3,12 +3,12 @@
3UTF32 to UTF8 text
3UTF32 to UTF8 text
4
4
5Convert utf32 glyph to
5Convert utf32 glyph to
6−[LSB](http://en.wikipedia.org/wiki/Least_significant_bit) utf8 [`++cord`]().
6+LSB utf8 `++cord`.
7
7
8Accepts
8Accepts
9-------
9-------
10
10
11−`a` is a codepoint ([`@c`]()).
11+`a` is a codepoint (`@c`).
12
12
13Produces
13Produces
14--------
14--------
@@ -19,22 +19,22 @@ Source
19------
19------
20
20
21 ++ tuft :: utf32 to utf8 text
21 ++ tuft :: utf32 to utf8 text
22− |= a=@c
22+ |= a/@c
23 ^- @t
23 ^- @t
24 %+ rap 3
24 %+ rap 3
25− |- ^- (list ,@)
25+ |- ^- (list @)
26− ?: =(0 a)
26+ ?: =(`@`0 a)
27 ~
27 ~
28 =+ b=(end 5 1 a)
28 =+ b=(end 5 1 a)
29 =+ c=$(a (rsh 5 1 a))
29 =+ c=$(a (rsh 5 1 a))
30− ?: (lth b 0x7f)
30+ ?: (lte b 0x7f)
31 [b c]
31 [b c]
32− ?: (lth b 0x7ff)
32+ ?: (lte b 0x7ff)
33 :* (mix 0b1100.0000 (cut 0 [6 5] b))
33 :* (mix 0b1100.0000 (cut 0 [6 5] b))
34 (mix 0b1000.0000 (end 0 6 b))
34 (mix 0b1000.0000 (end 0 6 b))
35 c
35 c
36 ==
36 ==
37− ?: (lth b 0xffff)
37+ ?: (lte b 0xffff)
38 :* (mix 0b1110.0000 (cut 0 [12 4] b))
38 :* (mix 0b1110.0000 (cut 0 [12 4] b))
39 (mix 0b1000.0000 (cut 0 [6 6] b))
39 (mix 0b1000.0000 (cut 0 [6 6] b))
40 (mix 0b1000.0000 (end 0 6 b))
40 (mix 0b1000.0000 (end 0 6 b))
docs/system/hoon/library/src/4b/gate/turf.md+15−13
@@ -2,39 +2,41 @@
2
2
3UTF8 to UTF32 cord
3UTF8 to UTF32 cord
4
4
5−Convert utf8 ([`++cord`]()) to utf32 codepoints.
5+Convert utf8 (`++cord`) to utf32 codepoints.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a [`@t`]().
10+`a` is a `@t`.
11
11
12Produces
12Produces
13--------
13--------
14
14
15−A [`@c`](), UTF-32 codepoint.
15+A `@c`, UTF-32 codepoint.
16
16
17Source
17Source
18------
18------
19
19
20 ++ turf :: utf8 to utf32
20 ++ turf :: utf8 to utf32
21− |= a=@t
21+ |= a/@t
22 ^- @c
22 ^- @c
23 %+ rap 5
23 %+ rap 5
24− |- ^- (list ,@c)
24+ |- ^- (list @c)
25 =+ b=(teff a)
25 =+ b=(teff a)
26 ?: =(0 b) ~
26 ?: =(0 b) ~
27+ =+ ^= c
27− :- %+ can 0
28+ %+ can 0
28 %+ turn
29 %+ turn
29− ^- (list ,[p=@ q=@])
30+ ^- (list {p/@ q/@})
30 ?+ b !!
31 ?+ b !!
31− 1 [[0 7] ~]
32+ $1 [[0 7] ~]
32− 2 [[8 6] [0 5] ~]
33+ $2 [[8 6] [0 5] ~]
33− 3 [[16 6] [8 6] [0 4] ~]
34+ $3 [[16 6] [8 6] [0 4] ~]
34− 4 [[24 6] [16 6] [8 6] [0 3] ~]
35+ $4 [[24 6] [16 6] [8 6] [0 3] ~]
35 ==
36 ==
36− |=([p=@ q=@] [q (cut 0 [p q] a)])
37+ |=({p/@ q/@} [q (cut 0 [p q] a)])
38+ ?. =((tuft c) (end 3 b a)) ~|(%bad-utf8 !!)
37− $(a (rsh 3 b a))
39+ [c $(a (rsh 3 b a))]
38 ::
40 ::
39
41
40Examples
42Examples
docs/system/hoon/library/src/4b/gate/wack.md+3−3
@@ -2,7 +2,7 @@
2
2
3Coin format encode
3Coin format encode
4
4
5−Escape [`++span`]() `~` as `~~` and `_` as `~-`. Used for printing.
5+Escape `++span` `~` as `~~` and `_` as `~-`. Used for printing.
6
6
7Accepts
7Accepts
8-------
8-------
@@ -12,13 +12,13 @@ Accepts
12Produces
12Produces
13--------
13--------
14
14
15−A [`++span`]() (`@ta`).
15+A `++span` (`@ta`).
16
16
17Source
17Source
18------
18------
19
19
20 ++ wack :: coin format
20 ++ wack :: coin format
21− |= a=@ta
21+ |= a/@ta
22 ^- @ta
22 ^- @ta
23 =+ b=(rip 3 a)
23 =+ b=(rip 3 a)
24 %+ rap 3
24 %+ rap 3
docs/system/hoon/library/src/4b/gate/wick.md+18−14
@@ -2,33 +2,37 @@
2
2
3Coin format decode
3Coin format decode
4
4
5−Unescape [`++span`]() `~~` as `~` and `~-` as `_`.
5+Unescape `++span` `~~` as `~` and `~-` as `_`.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a an [atom]().
10+`a` is a an atom.
11
11
12Produces
12Produces
13--------
13--------
14
14
15−A [`++span`]() `@ta`.
15+A `++span` `@ta`.
16
16
17Source
17Source
18------
18------
19
19
20− ++ wick :: coin format
20+ ++ wick :: knot format
21− |= a=@
21+ |= a/@
22− ^- @ta
22+ ^- (unit @ta)
23 =+ b=(rip 3 a)
23 =+ b=(rip 3 a)
24− %+ rap 3
24+ =- ?^(b ~ (some (rap 3 (flop c))))
25+ =| c/tape
25− |- ^- tape
26+ |- ^- {b/tape c/tape}
26− ?~ b
27+ ?~ b [~ c]
27− ~
28− ?: =('~' i.b)
28+ ?. =('~' i.b)
29+ $(b t.b, c [i.b c])
29− ?~ t.b !!
30+ ?~ t.b [b ~]
30− [?:(=('~' i.t.b) '~' ?>(=('-' i.t.b) '_')) $(b t.t.b)]
31+ ?- i.t.b
31− [i.b $(b t.b)]
32+ $'~' $(b t.t.b, c ['~' c])
33+ $'-' $(b t.t.b, c ['_' c])
34+ @ [b ~]
35+ ==
32 ::
36 ::
33
37
34Examples
38Examples
docs/system/hoon/library/src/4b/gate/woad.md+9−9
@@ -2,27 +2,27 @@
2
2
3Unescape cord
3Unescape cord
4
4
5−Unescape [`++cord`]() codepoints.
5+Unescape `++cord` codepoints.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a [`@ta`]().
10+`a` is a `@ta`.
11
11
12Produces
12Produces
13--------
13--------
14
14
15−A [`++cord`]().
15+A `++cord`.
16
16
17Source
17Source
18------
18------
19
19
20 ++ woad :: cord format
20 ++ woad :: cord format
21− |= a=@ta
21+ |= a/@ta
22 ^- @t
22 ^- @t
23 %+ rap 3
23 %+ rap 3
24− |- ^- (list ,@)
24+ |- ^- (list @)
25− ?: =(0 a)
25+ ?: =(`@`0 a)
26 ~
26 ~
27 =+ b=(end 3 1 a)
27 =+ b=(end 3 1 a)
28 =+ c=(rsh 3 1 a)
28 =+ c=(rsh 3 1 a)
@@ -34,7 +34,7 @@ Source
34 ?+ b =- (weld (rip 3 (tuft p.d)) $(a q.d))
34 ?+ b =- (weld (rip 3 (tuft p.d)) $(a q.d))
35 ^= d
35 ^= d
36 =+ d=0
36 =+ d=0
37− |- ^- [p=@ q=@]
37+ |- ^- {p/@ q/@}
38 ?: =('.' b)
38 ?: =('.' b)
39 [d c]
39 [d c]
40 ?< =(0 c)
40 ?< =(0 c)
@@ -46,8 +46,8 @@ Source
46 ?: &((gte b '0') (lte b '9')) 48
46 ?: &((gte b '0') (lte b '9')) 48
47 ?>(&((gte b 'a') (lte b 'z')) 87)
47 ?>(&((gte b 'a') (lte b 'z')) 87)
48 ==
48 ==
49− %'.' ['.' $(a c)]
49+ $'.' ['.' $(a c)]
50− %'~' ['~' $(a c)]
50+ $'~' ['~' $(a c)]
51 ==
51 ==
52 ::
52 ::
53
53
docs/system/hoon/library/src/4b/gate/wood.md+8−12
@@ -2,50 +2,46 @@
2
2
3Escape cord
3Escape cord
4
4
5−Escape [`++cord`]() codepoints.
5+Escape `++cord` codepoints.
6
6
7Accepts
7Accepts
8-------
8-------
9
9
10−`a` is a [`++span`]() (`@ta`).
10+`a` is a `++span` (`@ta`).
11
11
12Produces
12Produces
13--------
13--------
14
14
15−A [`++span`]() (`@ta`).
15+A `++span` (`@ta`).
16
16
17Source
17Source
18------
18------
19
19
20 ++ wood :: cord format
20 ++ wood :: cord format
21− |= a=@t
21+ |= a/@t
22 ^- @ta
22 ^- @ta
23 %+ rap 3
23 %+ rap 3
24− |- ^- (list ,@)
24+ |- ^- (list @)
25− ?: =(0 a)
25+ ?: =(`@`0 a)
26 ~
26 ~
27 =+ b=(teff a)
27 =+ b=(teff a)
28 =+ c=(turf (end 3 b a))
28 =+ c=(turf (end 3 b a))
29 =+ d=$(a (rsh 3 b a))
29 =+ d=$(a (rsh 3 b a))
30 ?: ?| &((gte c 'a') (lte c 'z'))
30 ?: ?| &((gte c 'a') (lte c 'z'))
31 &((gte c '0') (lte c '9'))
31 &((gte c '0') (lte c '9'))
32− =('-' c)
32+ =(`@`'-' c)
33 ==
33 ==
34 [c d]
34 [c d]
35 ?+ c
35 ?+ c
36 :- '~'
36 :- '~'
37 =+ e=(met 2 c)
37 =+ e=(met 2 c)
38 |- ^- tape
38 |- ^- tape
39− ?: =(0 c)
39+ ?: =(0 e)
40 ['.' d]
40 ['.' d]
41 =. e (dec e)
41 =. e (dec e)
42 =+ f=(rsh 2 e c)
42 =+ f=(rsh 2 e c)
43 [(add ?:((lte f 9) 48 87) f) $(c (end 2 e c))]
43 [(add ?:((lte f 9) 48 87) f) $(c (end 2 e c))]
44 ::
44 ::
45− %' ' ['.' d]
46− %'.' ['~' '.' d]
47− %'~' ['~' '~' d]
48− ==
49
45
50Examples
46Examples
51--------
47--------