on master help sign in
thru 4b
commit732920a67da9493a0f4dc53bd17227baef091ba6 authorHenry Ault <henry@tlon.io> dateFri 18 Mar 2016, 18:23 (11 years ago) parent6756d14
66 files changed+299−267
docs/system/hoon/library/src/3f/core/ob.md+61−53 docs/system/hoon/library/src/3f/core/un.md+23−20 docs/system/hoon/library/src/3g/mold/.coin.md.swp docs/system/hoon/library/src/3g/mold/.dime.md.swp docs/system/hoon/library/src/3g/mold/.edge.md.swp docs/system/hoon/library/src/3g/mold/.hair.md.swp docs/system/hoon/library/src/3g/mold/.like.md.swp docs/system/hoon/library/src/3g/mold/.nail.md.swp docs/system/hoon/library/src/3g/mold/.path.md.swp docs/system/hoon/library/src/3g/mold/.pint.md.swp docs/system/hoon/library/src/3g/mold/.rule.md.swp docs/system/hoon/library/src/3g/mold/.spot.md.swp docs/system/hoon/library/src/3g/mold/.toon.md.swp docs/system/hoon/library/src/3g/mold/.wonk.md.swp docs/system/hoon/library/src/3g/mold/coin.md+4−4 docs/system/hoon/library/src/3g/mold/dime.md+6−5 docs/system/hoon/library/src/3g/mold/edge.md+3−2 docs/system/hoon/library/src/3g/mold/hair.md+2−1 docs/system/hoon/library/src/3g/mold/like.md+5−1 docs/system/hoon/library/src/3g/mold/nail.md+2−1 docs/system/hoon/library/src/3g/mold/path.md+3−2 docs/system/hoon/library/src/3g/mold/pint.md+3−2 docs/system/hoon/library/src/3g/mold/rule.md+2−1 docs/system/hoon/library/src/3g/mold/spot.md+3−2 docs/system/hoon/library/src/3g/mold/toon.md+6−3 docs/system/hoon/library/src/4a/core/.po.md.swp docs/system/hoon/library/src/4a/core/po.md+55−52 docs/system/hoon/library/src/4b/.title.md.swp docs/system/hoon/library/src/4b/core/.at.md.swp docs/system/hoon/library/src/4b/core/at.md+12−10 docs/system/hoon/library/src/4b/gate/.cass.md.swp docs/system/hoon/library/src/4b/gate/.crip.md.swp docs/system/hoon/library/src/4b/gate/.cuss.md.swp docs/system/hoon/library/src/4b/gate/.mesc.md.swp docs/system/hoon/library/src/4b/gate/.runt.md.swp docs/system/hoon/library/src/4b/gate/.sand.md.swp docs/system/hoon/library/src/4b/gate/.sane.md.swp docs/system/hoon/library/src/4b/gate/.teff.md.swp docs/system/hoon/library/src/4b/gate/.trim.md.swp docs/system/hoon/library/src/4b/gate/.trip.md.swp docs/system/hoon/library/src/4b/gate/.tuba.md.swp docs/system/hoon/library/src/4b/gate/.tufa.md.swp docs/system/hoon/library/src/4b/gate/.tuft.md.swp docs/system/hoon/library/src/4b/gate/.turf.md.swp docs/system/hoon/library/src/4b/gate/.wack.md.swp docs/system/hoon/library/src/4b/gate/.wick.md.swp docs/system/hoon/library/src/4b/gate/.woad.md.swp docs/system/hoon/library/src/4b/gate/.wood.md.swp docs/system/hoon/library/src/4b/gate/cass.md+2−3 docs/system/hoon/library/src/4b/gate/crip.md+1−1 docs/system/hoon/library/src/4b/gate/cuss.md+2−2 docs/system/hoon/library/src/4b/gate/mesc.md+4−4 docs/system/hoon/library/src/4b/gate/runt.md+2−2 docs/system/hoon/library/src/4b/gate/sand.md+7−7 docs/system/hoon/library/src/4b/gate/sane.md+5−5 docs/system/hoon/library/src/4b/gate/teff.md+4−5 docs/system/hoon/library/src/4b/gate/trim.md+10−10 docs/system/hoon/library/src/4b/gate/trip.md+3−2 docs/system/hoon/library/src/4b/gate/tuba.md+4−4 docs/system/hoon/library/src/4b/gate/tufa.md+4−4 docs/system/hoon/library/src/4b/gate/tuft.md+8−8 docs/system/hoon/library/src/4b/gate/turf.md+15−13 docs/system/hoon/library/src/4b/gate/wack.md+3−3 docs/system/hoon/library/src/4b/gate/wick.md+18−14 docs/system/hoon/library/src/4b/gate/woad.md+9−9 docs/system/hoon/library/src/4b/gate/wood.md+8−12
docs/system/hoon/library/src/3f/core/ob.md+61−53
@@ -30,20 +30,23 @@ An atom.
3030Source
3131------
3232
33− ++ feen :: conceal structure v2
34− |= pyn=@ ^- @
35− ?: &((gte pyn 0x1.0000) (lte pyn 0xffff.ffff))
36− (add 0x1.0000 (fice (sub pyn 0x1.0000)))
37− ?: &((gte pyn 0x1.0000.0000) (lte pyn 0xffff.ffff.ffff.ffff))
38− =+ lo=(dis pyn 0xffff.ffff)
39− =+ hi=(dis pyn 0xffff.ffff.0000.0000)
40− %+ con hi
41− (add 0x1.0000 (fice (sub lo 0x1.0000)))
42− pyn
33+ ++ feen :: conceal structure v2
34+ |= pyn/@ ^- @
35+ ?: &((gte pyn 0x1.0000) (lte pyn 0xffff.ffff))
36+ (add 0x1.0000 (fice (sub pyn 0x1.0000)))
37+ ?: &((gte pyn 0x1.0000.0000) (lte pyn 0xffff.ffff.ffff.ffff))
38+ =+ lo=(dis pyn 0xffff.ffff)
39+ =+ hi=(dis pyn 0xffff.ffff.0000.0000)
40+ %+ con hi
41+ (add 0x1.0000 (fice (sub lo 0x1.0000)))
42+ pyn
43+ ::
44+
4345
4446Examples
4547--------
4648
49+XX
4750
4851------------------------------------------------------------------------
4952
@@ -54,7 +57,7 @@ XX
5457Randomly permutes atoms that fit into 17 to 32 bits into one another, and
5558randomly permutes the low 32 bits of atoms that fit into 33 to 64 bits;
5659otherwise, passes the atom through unchanged. The permutation is the inverse of
57−the one applied by [`++feen`]().
60+the one applied by `++feen`.
5861
5962Accepts
6063-------
@@ -69,16 +72,17 @@ An atom.
6972Source
7073------
7174
72− ++ fend :: restore structure v2
73− |= cry=@ ^- @
74− ?: &((gte cry 0x1.0000) (lte cry 0xffff.ffff))
75− (add 0x1.0000 (teil (sub cry 0x1.0000)))
76− ?: &((gte cry 0x1.0000.0000) (lte cry 0xffff.ffff.ffff.ffff))
77− =+ lo=(dis cry 0xffff.ffff)
78− =+ hi=(dis cry 0xffff.ffff.0000.0000)
79− %+ con hi
80− (add 0x1.0000 (teil (sub lo 0x1.0000)))
81− cry
75+ ++ fend :: restore structure v2
76+ |= cry/@ ^- @
77+ ?: &((gte cry 0x1.0000) (lte cry 0xffff.ffff))
78+ (add 0x1.0000 (teil (sub cry 0x1.0000)))
79+ ?: &((gte cry 0x1.0000.0000) (lte cry 0xffff.ffff.ffff.ffff))
80+ =+ lo=(dis cry 0xffff.ffff)
81+ =+ hi=(dis cry 0xffff.ffff.0000.0000)
82+ %+ con hi
83+ (add 0x1.0000 (teil (sub lo 0x1.0000)))
84+ cry
85+ ::
8286
8387Examples
8488--------
@@ -89,7 +93,6 @@ Examples
8993
9094XX
9195
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.
9396
9497Accepts
9598-------
@@ -104,15 +107,17 @@ An atom.
104107Source
105108------
106109
107− ++ fice :: adapted from
108− |= nor=@ :: black and rogaway
109− ^- @ :: "ciphers with
110− =+ ^= sel :: arbitrary finite
111− %+ rynd 2 :: domains", 2002
112− %+ rynd 1
113− %+ rynd 0
114− [(mod nor 65.535) (div nor 65.535)]
115− (add (mul 65.535 -.sel) +.sel)
110+ ++ fice :: adapted from
111+ |= nor/@ :: black and rogaway
112+ ^- @ :: "ciphers with
113+ =+ ^= sel :: arbitrary finite
114+ %+ rynd 2 :: domains", 2002
115+ %+ rynd 1
116+ %+ rynd 0
117+ [(mod nor 65.535) (div nor 65.535)]
118+ (add (mul 65.535 -.sel) +.sel)
119+ ::
120+
116121
117122Examples
118123--------
@@ -123,7 +128,7 @@ Examples
123128
124129XX
125130
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
127132a conventional Feistel cipher that is its own inverse if keys are used in
128133reverse order, this Feistel-like cipher uses two moduli that must be swapped
129134when applying the reverse transformation.
@@ -141,15 +146,18 @@ An atom.
141146Source
142147------
143148
144− ++ teil :: reverse ++fice
145− |= vip=@
146− ^- @
147− =+ ^= sel
148− %+ rund 0
149− %+ rund 1
150− %+ rund 2
151− [(mod vip 65.535) (div vip 65.535)]
152− (add (mul 65.535 -.sel) +.sel)
149+ ++ teil :: reverse ++fice
150+ |= vip/@
151+ ^- @
152+ =+ ^= sel
153+ %+ rund 0
154+ %+ rund 1
155+ %+ rund 2
156+ [(mod vip 65.535) (div vip 65.535)]
157+ (add (mul 65.535 -.sel) +.sel)
158+ ::
159+
160+
153161
154162Examples
155163--------
@@ -160,7 +168,7 @@ Examples
160168
161169XX
162170
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
164172used as the round function.
165173
166174Accepts
@@ -177,7 +185,7 @@ Source
177185------
178186
179187 ++ rynd :: feistel round
180− |= [n=@ l=@ r=@]
188+ |= [n/@ l/@ r/@]
181189 ^- [@ @]
182190 :- r
183191 ?~ (mod n 2)
@@ -193,7 +201,7 @@ Examples
193201
194202XX
195203
196−A single round of the Feistel-like reverse cipher [`++teil`]().
204+A single round of the Feistel-like reverse cipher `++teil`.
197205
198206Accepts
199207-------
@@ -208,13 +216,13 @@ A cell of two atoms.
208216Source
209217------
210218
211− ++ rund :: reverse round
212− |= [n=@ l=@ r=@]
213− ^- [@ @]
214− :- r
215− ?~ (mod n 2)
216− (~(dif fo 65.535) l (en:aesc (snag n raku) r))
217− (~(dif fo 65.536) l (en:aesc (snag n raku) r))
219+ ++ rund :: reverse round
220+ |= {n/@ l/@ r/@}
221+ ^- {@ @}
222+ :- r
223+ ?~ (mod n 2)
224+ (~(dif fo 65.535) l (en:aesc (snag n raku) r))
225+ (~(dif fo 65.536) l (en:aesc (snag n raku) r))
218226
219227Examples
220228--------
@@ -229,12 +237,12 @@ XX
229237Accepts
230238-------
231239
232−A list of atoms of [odor]() [`@ux`]() (hexadecimal).
240+A list of atoms of odor `@ux` (hexadecimal).
233241
234242Produces
235243--------
236244
237−Arbitrary keys for use with [`++aesc`]().
245+Arbitrary keys for use with `++aesc`.
238246
239247Source
240248------
docs/system/hoon/library/src/3f/core/un.md+23−20
@@ -21,26 +21,28 @@ on the result, pushing it forward. Produces an atom.
2121Accepts
2222-------
2323
24−`pyn` is an [atom]().
24+`pyn` is an atom.
2525
2626
2727Produces
2828--------
2929
30+An atom.
31+
3032Source
3133------
3234
3335 ++ wren :: conceal structure
34− |= pyn=@ ^- @
36+ |= pyn/@ ^- @
3537 =+ len=(met 3 pyn)
3638 ?: =(0 len)
3739 0
3840 => .(len (dec len))
3941 =+ mig=(zaft (xafo len (cut 3 [len 1] pyn)))
4042 %+ can 3
41− %- flop ^- (list ,[@ @])
43+ %- flop ^- (list {@ @})
4244 :- [1 mig]
43− |- ^- (list ,[@ @])
45+ |- ^- (list {@ @})
4446 ?: =(0 len)
4547 ~
4648 => .(len (dec len))
@@ -48,6 +50,7 @@ Source
4850 [[1 mog] $(mig mog)]
4951 ::
5052
53+
5154Examples
5255--------
5356
@@ -71,7 +74,7 @@ on the result, pushing it forward. Produces an atom.
7174Accepts
7275-------
7376
74−`cry` is an [atom]().
77+`cry` is an atom.
7578
7679Produces
7780--------
@@ -80,16 +83,16 @@ Source
8083------
8184
8285 ++ wred :: restore structure
83− |= cry=@ ^- @
86+ |= cry/@ ^- @
8487 =+ len=(met 3 cry)
8588 ?: =(0 len)
8689 0
8790 => .(len (dec len))
8891 =+ mig=(cut 3 [len 1] cry)
8992 %+ can 3
90− %- flop ^- (list ,[@ @])
93+ %- flop ^- (list {@ @})
9194 :- [1 (xaro len (zart mig))]
92− |- ^- (list ,[@ @])
95+ |- ^- (list {@ @})
9396 ?: =(0 len)
9497 ~
9598 => .(len (dec len))
@@ -123,7 +126,7 @@ A cell of two atoms, `a` and `b`.
123126Source
124127------
125128
126− ++ xafo |=([a=@ b=@] +((mod (add (dec b) a) 255)))
129+ ++ xafo |=([a/@ b/@] +((mod (add (dec b) a) 255)))
127130
128131Examples
129132--------
@@ -155,7 +158,7 @@ An atom.
155158Source
156159------
157160
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)))
159162
160163Examples
161164--------
@@ -171,7 +174,7 @@ Examples
171174
172175Look up in 255 sub box
173176
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
175178box with 255 values, producing a unique nonzero byte.
176179
177180Accepts
@@ -189,7 +192,7 @@ Source
189192------
190193
191194 ++ zaft :: forward 255-sbox
192− |= a=@D
195+ |= a/@D
193196 =+ ^= b
194197 0xcc.75bc.86c8.2fb1.9a42.f0b3.79a0.92ca.21f6.1e41.cde5.fcc0.
195198 7e85.51ae.1005.c72d.1246.07e8.7c64.a914.8d69.d9f4.59c2.8038.
@@ -222,7 +225,7 @@ Examples
222225
223226Reverse look up in 255 sub box
224227
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
226229the substitution box with 255 values, producing a unique nonzero byte.
227230
228231Accepts
@@ -239,7 +242,7 @@ Source
239242------
240243
241244 ++ zart :: reverse 255-sbox
242− |= a=@D
245+ |= a/@D
243246 =+ ^= b
244247 0x68.4f07.ea1c.73c9.75c2.efc8.d559.5125.f621.a7a8.8591.5613.
245248 dd52.40eb.65a2.60b7.4bcb.1123.ceb0.1bd6.3c84.2906.b164.19b3.
@@ -269,13 +272,13 @@ Examples
269272
270273Lookup byte in 256 sub box
271274
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
273276with 256 values, producing a byte.
274277
275278Accepts
276279-------
277280
278−`a` is an [atom]() of one byte in length.
281+`a` is an atom of one byte in length.
279282
280283Produces
281284--------
@@ -286,7 +289,7 @@ Source
286289------
287290
288291 ++ zyft :: forward 256-sbox
289− |= a=@D
292+ |= a/@D
290293 =+ ^= b
291294 0xbb49.b71f.b881.b402.17e4.6b86.69b5.1647.115f.dddb.7ca5.
292295 8371.4bd5.19a9.b092.605d.0d9b.e030.a0cc.78ba.5706.4d2d.
@@ -319,13 +322,13 @@ Examples
319322
320323Reverse lookup byte in 256 sub box
321324
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
323326with 256 values, producing a byte.
324327
325328Accepts
326329-------
327330
328−`a` is an [atom]() of one byte in length.
331+`a` is an atom of one byte in length.
329332
330333Produces
331334--------
@@ -336,7 +339,7 @@ Source
336339------
337340
338341 ++ zyrt :: reverse 256-sbox
339− |= a=@D
342+ |= a/@D
340343 =+ ^= b
341344 0x9fc8.2753.6e02.8fcf.8b35.2b20.5598.7caa.c9a9.30b0.9b48.
342345 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 @@
33Noun literal syntax cases
44
55Noun 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.
77
88Source
99------
1010
11− ++ coin $% [%$ p=dime] ::
12− [%blob p=*] ::
13− [%many p=(list coin)] ::
11+ ++ coin $% {$$ p/dime} ::
12+ {$blob p/*} ::
13+ {$many p/(list coin)} ::
1414 == ::
1515
1616Examples
docs/system/hoon/library/src/3g/mold/dime.md+6−5
@@ -2,15 +2,16 @@
22
33Odor-atom pair
44
5−Used in [`++coin`](). Convenience methods [`++scot`]() and [`++scow`]() (in
6−Section 2eL) print dimes as [`++cord`]() and [`++tape`](), respectively.
7−[`++slat`](), [`++slav`](), and [`++slaw`]() are used to parse atoms of
8−specific [odor]()s.
5+Used in `++coin`. Convenience methods `++scot` and `++scow` (in
6+Section 2eL) print dimes as `++cord` and `++tape`, respectively.
7+`++slat`, `++slav`, and `++slaw` are used to parse atoms of
8+specific odors.
99
1010Source
1111------
1212
13− ++ dime ,[p=@ta q=@] ::
13+ ++ dime {p/@ta q/@} ::
14+
1415
1516Examples
1617--------
docs/system/hoon/library/src/3g/mold/edge.md+3−2
@@ -7,12 +7,13 @@ Optional result `p` and parsing continuation `q`.
77Source
88------
99
10− ++ edge ,[p=hair q=(unit ,[p=* q=nail])] :: parsing output
10+ ++ hair {p/@ud q/@ud} :: parsing trace
11+
1112
1213Examples
1314--------
1415
15−See also: Section 2eD, [`++rule`]()
16+See also: Section 2eD, `++rule`
1617
1718 ~zod/try=> *edge
1819 [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.
77Source
88------
99
10− ++ hair ,[p=@ud q=@ud] :: parsing trace
10+ ++ hair {p/@ud q/@ud} :: parsing trace
11+
1112
1213Examples
1314--------
docs/system/hoon/library/src/3g/mold/like.md+5−1
@@ -7,11 +7,15 @@ Mold generator for an edge
77Source
88------
99
10− ++ like |* a=_,* :: generic edge
10+ ++ like |* a/$-(* *) :: generic edge
11+ |= b/_`*`[(hair) ~] ::
12+ :- p=(hair -.b) ::
13+ ^= q ::
1114 ?@ +.b ~ ::
1215 :- ~ ::
1316 u=[p=(a +>-.b) q=[p=(hair -.b) q=(tape +.b)]] ::
1417
18+
1519Examples
1620--------
1721 ~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`.
77Source
88------
99
10− ++ nail ,[p=hair q=tape] :: parsing input
10+ ++ nail {p/hair q/tape} :: parsing input
11+
1112
1213Examples
1314--------
docs/system/hoon/library/src/3g/mold/path.md+3−2
@@ -2,13 +2,14 @@
22
33Filesystem path
44
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
66`%clay` and `%eyre` extensively.
77
88Source
99------
1010
11− ++ path (list span) :: filesys location
11+ ++ path (list knot) :: filesys location
12+
1213
1314Examples
1415--------
docs/system/hoon/library/src/3g/mold/pint.md+3−2
@@ -3,12 +3,13 @@
33Parsing range
44
55Mostly used for stacktraces. A `++pint` is a pair of
6−[`++hair`](), indicating from `p` to `q`.
6+`++hair`, indicating from `p` to `q`.
77
88Source
99------
1010
11− ++ pint ,[p=[p=@ q=@] q=[p=@ q=@]] :: line/column range
11+ ++ pint {p/{p/@ q/@} q/{p/@ q/@}} :: line+column range
12+
1213
1314Examples
1415--------
docs/system/hoon/library/src/3g/mold/rule.md+2−1
@@ -9,7 +9,8 @@ that parsing rules match this with `_`.
99Source
1010------
1111
12− ++ rule |=(tub=nail `edge`[p.tub ~ ~ tub]) :: parsing rule
12+ ++ rule _|=(nail *edge) :: parsing rule
13+
1314
1415Examples
1516--------
docs/system/hoon/library/src/3g/mold/spot.md+3−2
@@ -2,12 +2,13 @@
22
33Stack trace line
44
5−A [`++spot`]() is what we print after crashing.
5+A `++spot` is what we print after crashing.
66
77Source
88------
99
10− ++ spot ,[p=path q=pint] :: range in file
10+ ++ spot {p/path q/pint} :: range in file
11+
1112
1213Examples
1314--------
docs/system/hoon/library/src/3g/mold/toon.md+6−3
@@ -8,13 +8,16 @@ failure with stack trace (`%2`).
88Source
99------
1010
11− ++ toon $% [%0 p=*] :: success
11+ ++ toon $% {$0 p/*} :: success
12+ {$1 p/(list)} :: blocks
13+ {$2 p/(list tank)} :: stack trace
14+ == ::
15+
1216
1317Examples
1418--------
15− ~zod/try=> (mock [[20 21] 0 3] ,~)
19+ ~zod/try=> (mock [[20 21] 0 3] $~)
1620 [%0 p=21]
17−
1821 ~zod/try=> (mock [[0] !=(.^(cy//=main/1))] ,~)
1922 [%1 p=~[[31.075 1.685.027.454 1.852.399.981 49 0]]]
2023 ~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 @@
11### `++po`
22
3−++ po
4− ~/ %po
5− =+ :- ^= sis :: prefix syllables
6− 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
7− /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
8− /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
9− /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
10− /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
11− /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
12− /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
13− /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
14− /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
15− /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
16− /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
17− /havsaplindibhosdabbitbarracparloddosbortochilmac\
18− /tomdigfilfasmithobharmighinradmashalraglagfadtop\
19− /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
20− /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
21− /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
22− ^= dex :: suffix syllables
23− 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
24− /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
25− /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
26− /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
27− /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
28− /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
29− /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
30− /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
31− /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
32− /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
33− /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
34− /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
35− /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
36− /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
37− /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
38− /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
39− |%
3+ ++ po
4+ ~/ %po
5+ =+ :- ^= sis :: prefix syllables
6+ 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
7+ /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
8+ /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
9+ /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
10+ /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
11+ /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
12+ /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
13+ /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
14+ /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
15+ /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
16+ /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
17+ /havsaplindibhosdabbitbarracparloddosbortochilmac\
18+ /tomdigfilfasmithobharmighinradmashalraglagfadtop\
19+ /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
20+ /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
21+ /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
22+ ^= dex :: suffix syllables
23+ 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
24+ /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
25+ /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
26+ /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
27+ /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
28+ /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
29+ /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
30+ /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
31+ /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
32+ /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
33+ /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
34+ /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
35+ /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
36+ /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
37+ /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
38+ /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
39+ |%
4040
4141Provides the phonetic syllables and name generators for the Urbit naming
4242system. The two faces, `sis` and `dex` are available to the arms
@@ -54,20 +54,20 @@ Produces the byte of the right-hand syllable `a`.
5454Accepts
5555-------
5656
57−`a` is an [atom]().
57+`a` is an atom.
5858
5959Produces
6060--------
6161
62−A [`++unit`]() of an atom.
62+A `++unit` of an atom.
6363
6464Source
6565------
6666
67− ++ ind ~/ %ind :: parse prefix
68− |= a=@
67+ ++ ind ~/ %ind :: parse suffix
68+ |= a/@tas
6969 =+ b=0
70− |- ^- (unit ,@)
70+ |- ^- (unit @)
7171 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
7272
7373Examples
@@ -91,21 +91,22 @@ Produces the byte of the left-hand phonetic syllable `b`.
9191Accepts
9292-------
9393
94−`a` is an [atom]().
94+`a` is an atom.
9595
9696Produces
9797--------
98−A [`++unit`]() of an atom.
98+A `++unit` of an atom.
9999
100100Source
101101------
102102
103− ++ ins ~/ %ins :: parse suffix
104− |= a=@
103+ ++ ins ~/ %ins :: parse prefix
104+ |= a/@tas
105105 =+ b=0
106− |- ^- (unit ,@)
106+ |- ^- (unit @)
107107 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
108108
109+
109110Examples
110111--------
111112
@@ -125,7 +126,7 @@ Examples
125126Fetch prefix
126127
127128Produces the phonetic prefix syllable from index `a` within `dex` as an
128−[atom]().
129+atom.
129130
130131Accepts
131132-------
@@ -141,8 +142,10 @@ An atom.
141142Source
142143------
143144
144− ++ tod ~/ %tod :: fetch prefix
145− |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
145+ ++ tod ~/ %tod :: fetch suffix
146+ |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
147+
148+
146149
147150Examples
148151--------
@@ -167,7 +170,7 @@ Examples
167170Fetch suffix
168171
169172Produces the phonetic prefix syllable from index `a` within `sis` as an
170−[atom]().
173+atom.
171174
172175Accepts
173176-------
@@ -183,7 +186,7 @@ Source
183186------
184187
185188 ++ 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)))
187190
188191Examples
189192--------
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 @@
11### `++at`
22
33 ++ at
4− |_ a=@
4+ |_ a/@
55
66XX document
77
@@ -27,25 +27,26 @@ XX document
2727
2828### `++rf`
2929
30− ++ rf `tape`[?-(a & '&', | '|', * !!) ~]
30+ ++ rf `tape`[?-(a $& '&', $| '|', * !!) ~]
31+
3132
3233XX document
3334
3435### `++rn`
3536
36− ++ rn `tape`[?>(=(0 a) '~') ~]
37+ ++ rn `tape`[?>(=(0 a) '~') ~]
3738
3839XX document
3940
4041### `++rt`
4142
42− ++ rt `tape`['\'' (weld (mesc (trip a)) `tape`['\'' ~])]
43+ ++ rt `tape`['\'' (weld (mesc (trip a)) `tape`['\'' ~])]
4344
4445XX document
4546
4647### `++rta`
4748
48− ++ rta rt
49+ ++ rta rt
4950
5051XX document
5152
@@ -57,20 +58,20 @@ XX document
5758
5859### `++rub`
5960
60− ++ rub `tape`['0' 'b' (rum 2 ~ |=(b=@ (add '0' b)))]
61+ ++ rub `tape`['0' 'b' (rum 2 ~ |=(b/@ (add '0' b)))]
6162
6263XX document
6364
6465### `++rud`
6566
66− ++ rud (rum 10 ~ |=(b=@ (add '0' b)))
67+ ++ rud (rum 10 ~ |=(b/@ (add '0' b)))
6768
6869XX document
6970
7071### `++rum`
7172
7273 ++ rum
73− |= [b=@ c=tape d=$+(@ @)]
74+ |= {b/@ c/tape d/$-(@ @)}
7475 ^- tape
7576 ?: =(0 a)
7677 [(d 0) c]
@@ -86,6 +87,7 @@ XX document
8687 ==
8788 ::
8889
90+
8991XX document
9092
9193### `++rup`
@@ -124,7 +126,7 @@ XX document
124126 %^ rum
125127 64
126128 ~
127− |= b=@
129+ |= b/@
128130 ?: =(63 b)
129131 '+'
130132 ?: =(62 b)
@@ -136,7 +138,7 @@ XX document
136138
137139### `++rux`
138140
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))))]
140142 --
141143 :::::::::::::::::::::::::::::::::::::::::::::::::::::: ::
142144
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
1919------
2020
2121 ++ cass :: lowercase
22− |= vib=tape
22+ |= vib/tape
2323 %+ rap 3
24− (turn vib |=(a=@ ?.(&((gte a 'A') (lte a 'Z')) a (add 32 a))))
25− ::
24+ (turn vib |=(a/@ ?.(&((gte a 'A') (lte a 'Z')) a (add 32 a))))
2625
2726Examples
2827--------
docs/system/hoon/library/src/4b/gate/crip.md+1−1
@@ -2,7 +2,7 @@
22
33Tape to cord
44
5−Produce a [`++cord`]() from a [`++tape`]().
5+Produce a `++cord` from a `++tape`.
66
77Accepts
88-------
docs/system/hoon/library/src/4b/gate/cuss.md+2−2
@@ -2,8 +2,8 @@
22
33To uppercase
44
5−Turn all occurances of lowercase letters in any [`++tape`]() into uppercase
6−letters, as a [`++cord`]().
5+Turn all occurances of lowercase letters in any `++tape` into uppercase
6+letters, as a `++cord`.
77
88Accepts
99-------
docs/system/hoon/library/src/4b/gate/mesc.md+4−4
@@ -2,12 +2,12 @@
22
33Escape special chars
44
5−Escape special characters, used in [`++show`](/doc/hoon/library/2ez#++show)
5+Escape special characters, used in `++show`.
66
77Accepts
88-------
99
10−`vib` is a [`++tape`]().
10+`vib` is a `++tape`.
1111
1212Produces
1313--------
@@ -18,13 +18,13 @@ Source
1818------
1919
2020 ++ mesc :: ctrl code escape
21− |= vib=tape
21+ |= vib/tape
2222 ^- tape
2323 ?~ vib
2424 ~
2525 ?: =('\\' i.vib)
2626 ['\\' '\\' $(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))
2828 ['\\' (welp ~(rux at i.vib) '/' $(vib t.vib))]
2929 [i.vib $(vib t.vib)]
3030 ::
docs/system/hoon/library/src/4b/gate/runt.md+2−2
@@ -2,7 +2,7 @@
22
33Prepend `n` times
44
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`.
66
77Accepts
88-------
@@ -20,7 +20,7 @@ Source
2020------
2121
2222 ++ runt :: prepend repeatedly
23− |= [[a=@ b=@] c=tape]
23+ |= [[a/@ b/@] c/tape]
2424 ^- tape
2525 ?: =(0 a)
2626 c
docs/system/hoon/library/src/4b/gate/sand.md+7−7
@@ -2,35 +2,35 @@
22
33Soft-cast by odor
44
5−Soft-cast validity by [odor]().
5+Soft-cast validity by odor.
66
77Accepts
88-------
99
10−`a` is a [`++span`]() (`@ta`).
10+`a` is a `++span` (`@ta`).
1111
1212`b` is an atom.
1313
1414Produces
1515--------
1616
17−A `(unit ,@)`.
17+A `(unit @)`.
1818
1919Source
2020------
2121
2222 ++ sand :: atom sanity
23− |= a=@ta
24− |= b=@ ^- (unit ,@)
23+ |= a/@ta
24+ |= b/@ ^- (unit @)
2525 ?.(((sane a) b) ~ [~ b])
2626 ::
2727
2828Examples
2929--------
3030
31− /~zod/try=> `(unit ,@ta)`((sand %ta) 'sym-som')
31+ /~zod/try=> `(unit @ta)`((sand %ta) 'sym-som')
3232 [~ ~.sym-som]
33− /~zod/try=> `(unit ,@ta)`((sand %ta) 'err!')
33+ /~zod/try=> `(unit @ta)`((sand %ta) 'err!')
3434 ~
3535
3636
docs/system/hoon/library/src/4b/gate/sane.md+5−5
@@ -2,14 +2,14 @@
22
33Check odor validity
44
5−Check validity by [odor](). Produces a [gate]().
5+Check validity by odor. Produces a gate.
66
77Accepts
88-------
99
10−`a` is a [`++span`]() (`@ta`).
10+`a` is a `++span` (`@ta`).
1111
12−`b` is an [atom]().
12+`b` is an atom.
1313
1414Produces
1515--------
@@ -20,8 +20,8 @@ Source
2020------
2121
2222 ++ sane :: atom sanity
23− |= a=@ta
24− |= b=@ ^- ?
23+ |= a/@ta
24+ |= b/@ ^- ?
2525 ?. =(%t (end 3 1 a))
2626 ~|(%sane-stub !!)
2727 =+ [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.
77Accepts
88-------
99
10−`a` is a [`@t`]().
10+`a` is a `@t`.
1111
1212Produces
1313--------
@@ -17,14 +17,13 @@ An atom.
1717Source
1818------
1919
20− ++ teff :: length utf8
21− |= a=@t ^- @
20+ |= a/@t ^- @
2221 =+ b=(end 3 1 a)
22+ ~| %bad-utf8
2323 ?: =(0 b)
24− ?>(=(0 a) 0)
24+ ?>(=(`@`0 a) 0)
2525 ?> |((gte b 32) =(10 b))
2626 ?:((lte b 127) 1 ?:((lte b 223) 2 ?:((lte b 239) 3 4)))
27− ::
2827
2928Examples
3029--------
docs/system/hoon/library/src/4b/gate/trim.md+10−10
@@ -2,7 +2,7 @@
22
33Tape split
44
5−Split first `a` characters off [`++tape`]() `b`.
5+Split first `a` characters off `++tape` `b`.
66
77Accepts
88-------
@@ -19,17 +19,17 @@ A cell of `++tape`s, `p` and `q`.
1919Source
2020------
2121
22− ++ trim :: tape split
23− |= [a=@ b=tape]
24− ^- [p=tape q=tape]
25− ?~ b
26− [~ ~]
27− ?: =(0 a)
28− [~ b]
29− =+ c=$(a (dec a), b t.b)
30− [[i.b p.c] q.c]
22+ ++ trim :: 31-bit nonzero
23+ |= key/@
24+ =+ syd=0xcafe.babe
25+ |- ^- @
26+ =+ haz=(spec syd key)
27+ =+ ham=(mix (rsh 0 31 haz) (end 0 31 haz))
28+ ?.(=(0 ham) ham $(syd +(syd)))
29+ --
3130 ::
3231
32+
3333Examples
3434--------
3535
docs/system/hoon/library/src/4b/gate/trip.md+3−2
@@ -2,7 +2,7 @@
22
33Cord to tape
44
5−Produce a [`++tape`]() from [`++cord`]().
5+Produce a `++tape` from `++cord`.
66
77Accepts
88-------
@@ -19,12 +19,13 @@ Source
1919
2020 ++ trip :: cord to tape
2121 ~/ %trip
22− |= a=@ ^- tape
22+ |= a/@ ^- tape
2323 ?: =(0 (met 3 a))
2424 ~
2525 [^-(@ta (end 3 1 a)) $(a (rsh 3 1 a))]
2626 ::
2727
28+
2829Examples
2930--------
3031
docs/system/hoon/library/src/4b/gate/tuba.md+4−4
@@ -2,7 +2,7 @@
22
33UTF8 to UTF32 tape
44
5−Convert [`++tape`]() to a [`++list`]() of codepoints ([`@c`]()).
5+Convert `++tape` to a `++list` of codepoints (`@c`).
66
77Accepts
88-------
@@ -12,14 +12,14 @@ Accepts
1212Produces
1313--------
1414
15−A `++list` of codepoints [`@c`]().
15+A `++list` of codepoints `@c`.
1616
1717Source
1818------
1919
2020 ++ tuba :: utf8 to utf32 tape
21− |= a=tape
22− ^- (list ,@c)
21+ |= a/tape
22+ ^- (list @c)
2323 (rip 5 (turf (rap 3 a))) :: XX horrible
2424 ::
2525
docs/system/hoon/library/src/4b/gate/tufa.md+4−4
@@ -2,12 +2,12 @@
22
33UTF32 to UTF8 tape
44
5−Wrap a [`++list`]() of utf32 codepoints into a utf8 [`++tape`]().
5+Wrap a `++list` of utf32 codepoints into a utf8 `++tape`.
66
77Accepts
88-------
99
10−`a` is a `++list` of [`@c`]().
10+`a` is a `++list` of `@c`.
1111
1212Produces
1313--------
@@ -18,7 +18,7 @@ Source
1818------
1919
2020 ++ tufa :: utf32 to utf8 tape
21− |= a=(list ,@c)
21+ |= a=(list @c)
2222 ^- tape
2323 ?~ a ""
2424 (weld (rip 3 (tuft i.a)) $(a t.a))
@@ -29,7 +29,7 @@ Examples
2929
3030 /~zod/try=> (tufa ~[~-~44f. ~-. ~-~442. ~-~443. ~-~442.])
3131 "я тут"
32− /~zod/try=> (tufa ((list ,@c) ~[%a %b 0xb1 %c]))
32+ /~zod/try=> (tufa ((list @c) ~[%a %b 0xb1 %c]))
3333 "ab±c"
3434
3535
docs/system/hoon/library/src/4b/gate/tuft.md+8−8
@@ -3,12 +3,12 @@
33UTF32 to UTF8 text
44
55Convert utf32 glyph to
6−[LSB](http://en.wikipedia.org/wiki/Least_significant_bit) utf8 [`++cord`]().
6+LSB utf8 `++cord`.
77
88Accepts
99-------
1010
11−`a` is a codepoint ([`@c`]()).
11+`a` is a codepoint (`@c`).
1212
1313Produces
1414--------
@@ -19,22 +19,22 @@ Source
1919------
2020
2121 ++ tuft :: utf32 to utf8 text
22− |= a=@c
22+ |= a/@c
2323 ^- @t
2424 %+ rap 3
25− |- ^- (list ,@)
26− ?: =(0 a)
25+ |- ^- (list @)
26+ ?: =(`@`0 a)
2727 ~
2828 =+ b=(end 5 1 a)
2929 =+ c=$(a (rsh 5 1 a))
30− ?: (lth b 0x7f)
30+ ?: (lte b 0x7f)
3131 [b c]
32− ?: (lth b 0x7ff)
32+ ?: (lte b 0x7ff)
3333 :* (mix 0b1100.0000 (cut 0 [6 5] b))
3434 (mix 0b1000.0000 (end 0 6 b))
3535 c
3636 ==
37− ?: (lth b 0xffff)
37+ ?: (lte b 0xffff)
3838 :* (mix 0b1110.0000 (cut 0 [12 4] b))
3939 (mix 0b1000.0000 (cut 0 [6 6] b))
4040 (mix 0b1000.0000 (end 0 6 b))
docs/system/hoon/library/src/4b/gate/turf.md+15−13
@@ -2,39 +2,41 @@
22
33UTF8 to UTF32 cord
44
5−Convert utf8 ([`++cord`]()) to utf32 codepoints.
5+Convert utf8 (`++cord`) to utf32 codepoints.
66
77Accepts
88-------
99
10−`a` is a [`@t`]().
10+`a` is a `@t`.
1111
1212Produces
1313--------
1414
15−A [`@c`](), UTF-32 codepoint.
15+A `@c`, UTF-32 codepoint.
1616
1717Source
1818------
1919
2020 ++ turf :: utf8 to utf32
21− |= a=@t
21+ |= a/@t
2222 ^- @c
2323 %+ rap 5
24− |- ^- (list ,@c)
24+ |- ^- (list @c)
2525 =+ b=(teff a)
2626 ?: =(0 b) ~
27− :- %+ can 0
27+ =+ ^= c
28+ %+ can 0
2829 %+ turn
29− ^- (list ,[p=@ q=@])
30+ ^- (list {p/@ q/@})
3031 ?+ b !!
31− 1 [[0 7] ~]
32− 2 [[8 6] [0 5] ~]
33− 3 [[16 6] [8 6] [0 4] ~]
34− 4 [[24 6] [16 6] [8 6] [0 3] ~]
32+ $1 [[0 7] ~]
33+ $2 [[8 6] [0 5] ~]
34+ $3 [[16 6] [8 6] [0 4] ~]
35+ $4 [[24 6] [16 6] [8 6] [0 3] ~]
3536 ==
36− |=([p=@ q=@] [q (cut 0 [p q] a)])
37− $(a (rsh 3 b a))
37+ |=({p/@ q/@} [q (cut 0 [p q] a)])
38+ ?. =((tuft c) (end 3 b a)) ~|(%bad-utf8 !!)
39+ [c $(a (rsh 3 b a))]
3840 ::
3941
4042Examples
docs/system/hoon/library/src/4b/gate/wack.md+3−3
@@ -2,7 +2,7 @@
22
33Coin format encode
44
5−Escape [`++span`]() `~` as `~~` and `_` as `~-`. Used for printing.
5+Escape `++span` `~` as `~~` and `_` as `~-`. Used for printing.
66
77Accepts
88-------
@@ -12,13 +12,13 @@ Accepts
1212Produces
1313--------
1414
15−A [`++span`]() (`@ta`).
15+A `++span` (`@ta`).
1616
1717Source
1818------
1919
2020 ++ wack :: coin format
21− |= a=@ta
21+ |= a/@ta
2222 ^- @ta
2323 =+ b=(rip 3 a)
2424 %+ rap 3
docs/system/hoon/library/src/4b/gate/wick.md+18−14
@@ -2,33 +2,37 @@
22
33Coin format decode
44
5−Unescape [`++span`]() `~~` as `~` and `~-` as `_`.
5+Unescape `++span` `~~` as `~` and `~-` as `_`.
66
77Accepts
88-------
99
10−`a` is a an [atom]().
10+`a` is a an atom.
1111
1212Produces
1313--------
1414
15−A [`++span`]() `@ta`.
15+A `++span` `@ta`.
1616
1717Source
1818------
1919
20− ++ wick :: coin format
21− |= a=@
22− ^- @ta
20+ ++ wick :: knot format
21+ |= a/@
22+ ^- (unit @ta)
2323 =+ b=(rip 3 a)
24− %+ rap 3
25− |- ^- tape
26− ?~ b
27− ~
28− ?: =('~' i.b)
29− ?~ t.b !!
30− [?:(=('~' i.t.b) '~' ?>(=('-' i.t.b) '_')) $(b t.t.b)]
31− [i.b $(b t.b)]
24+ =- ?^(b ~ (some (rap 3 (flop c))))
25+ =| c/tape
26+ |- ^- {b/tape c/tape}
27+ ?~ b [~ c]
28+ ?. =('~' i.b)
29+ $(b t.b, c [i.b c])
30+ ?~ t.b [b ~]
31+ ?- i.t.b
32+ $'~' $(b t.t.b, c ['~' c])
33+ $'-' $(b t.t.b, c ['_' c])
34+ @ [b ~]
35+ ==
3236 ::
3337
3438Examples
docs/system/hoon/library/src/4b/gate/woad.md+9−9
@@ -2,27 +2,27 @@
22
33Unescape cord
44
5−Unescape [`++cord`]() codepoints.
5+Unescape `++cord` codepoints.
66
77Accepts
88-------
99
10−`a` is a [`@ta`]().
10+`a` is a `@ta`.
1111
1212Produces
1313--------
1414
15−A [`++cord`]().
15+A `++cord`.
1616
1717Source
1818------
1919
2020 ++ woad :: cord format
21− |= a=@ta
21+ |= a/@ta
2222 ^- @t
2323 %+ rap 3
24− |- ^- (list ,@)
25− ?: =(0 a)
24+ |- ^- (list @)
25+ ?: =(`@`0 a)
2626 ~
2727 =+ b=(end 3 1 a)
2828 =+ c=(rsh 3 1 a)
@@ -34,7 +34,7 @@ Source
3434 ?+ b =- (weld (rip 3 (tuft p.d)) $(a q.d))
3535 ^= d
3636 =+ d=0
37− |- ^- [p=@ q=@]
37+ |- ^- {p/@ q/@}
3838 ?: =('.' b)
3939 [d c]
4040 ?< =(0 c)
@@ -46,8 +46,8 @@ Source
4646 ?: &((gte b '0') (lte b '9')) 48
4747 ?>(&((gte b 'a') (lte b 'z')) 87)
4848 ==
49− %'.' ['.' $(a c)]
50− %'~' ['~' $(a c)]
49+ $'.' ['.' $(a c)]
50+ $'~' ['~' $(a c)]
5151 ==
5252 ::
5353
docs/system/hoon/library/src/4b/gate/wood.md+8−12
@@ -2,50 +2,46 @@
22
33Escape cord
44
5−Escape [`++cord`]() codepoints.
5+Escape `++cord` codepoints.
66
77Accepts
88-------
99
10−`a` is a [`++span`]() (`@ta`).
10+`a` is a `++span` (`@ta`).
1111
1212Produces
1313--------
1414
15−A [`++span`]() (`@ta`).
15+A `++span` (`@ta`).
1616
1717Source
1818------
1919
2020 ++ wood :: cord format
21− |= a=@t
21+ |= a/@t
2222 ^- @ta
2323 %+ rap 3
24− |- ^- (list ,@)
25− ?: =(0 a)
24+ |- ^- (list @)
25+ ?: =(`@`0 a)
2626 ~
2727 =+ b=(teff a)
2828 =+ c=(turf (end 3 b a))
2929 =+ d=$(a (rsh 3 b a))
3030 ?: ?| &((gte c 'a') (lte c 'z'))
3131 &((gte c '0') (lte c '9'))
32− =('-' c)
32+ =(`@`'-' c)
3333 ==
3434 [c d]
3535 ?+ c
3636 :- '~'
3737 =+ e=(met 2 c)
3838 |- ^- tape
39− ?: =(0 c)
39+ ?: =(0 e)
4040 ['.' d]
4141 =. e (dec e)
4242 =+ f=(rsh 2 e c)
4343 [(add ?:((lte f 9) 48 87) f) $(c (end 2 e c))]
4444 ::
45− %' ' ['.' d]
46− %'.' ['~' '.' d]
47− %'~' ['~' '~' d]
48− ==
4945
5046Examples
5147--------