on master help sign in
Update 4a
a2a46c8rmariani
docs/hoon/library/4a.md+101−113
@@ -6,206 +6,194 @@ navhome: /docs/
6# 4a: exotic bases
6# 4a: exotic bases
7### `++po`
7### `++po`
8
8
9− ++ po
9+Phonetic base
10+
11+Container core for providing phonetic syllables and name generators for the
12+Urbit naming system. The two faces, `sis` and `dex`, are available to the
13+contained arms.
14+
15+#### Source
16+
10− ~/ %po
17+ ~/ %po
11− =+ :- ^= sis :: prefix syllables
18+ =+ :- ^= sis :: prefix syllables
12− 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
19+ 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
13− /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
20+ /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
14− /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
21+ /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
15− /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
22+ /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
16− /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
23+ /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
17− /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
24+ /ritpodmottamtolsavposnapnopsomfinfonbanmorworsip\
18− /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
25+ /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
19− /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
26+ /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
20− /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
27+ /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
21− /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
28+ /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
22− /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
29+ /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
23− /havsaplindibhosdabbitbarracparloddosbortochilmac\
30+ /havsaplindibhosdabbitbarracparloddosbortochilmac\
24− /tomdigfilfasmithobharmighinradmashalraglagfadtop\
31+ /tomdigfilfasmithobharmighinradmashalraglagfadtop\
25− /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
32+ /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
26− /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
33+ /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
27− /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
34+ /laptalpitnambonrostonfodponsovnocsorlavmatmipfip'
28− ^= dex :: suffix syllables
35+ ^= dex :: suffix syllables
29− 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
36+ 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
30− /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
37+ /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
31− /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
38+ /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
32− /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
39+ /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
33− /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
40+ /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
34− /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
41+ /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
35− /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
42+ /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
36− /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
43+ /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
37− /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
44+ /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
38− /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
45+ /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
39− /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
46+ /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
40− /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
47+ /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
41− /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
48+ /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
42− /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
49+ /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
43− /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
50+ /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
44− /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
51+ /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
45− |%
52+ |%
46−
47−Provides the phonetic syllables and name generators for the Urbit naming
48−system. The two faces, `sis` and `dex` are available to the arms
49−contained in this section.
50−
51−
52−------------------------------------------------------------------------
53
53
54+
55+***
54### `++ind`
56### `++ind`
55
57
56−Parse prefix
58+Parse suffix
57
59
58Produces the byte of the right-hand syllable `a`.
60Produces the byte of the right-hand syllable `a`.
59
61
60−Accepts
62+#### Accepts
61−-------
62
63
63`a` is an atom.
64`a` is an atom.
64
65
65−Produces
66+#### Produces
66−--------
67
67
68−A `++unit` of an atom.
68+A `unit`.
69
69
70−Source
70+#### Source
71−------
72
71
73− ++ ind ~/ %ind :: parse suffix
72+ ++ ind ~/ %ind
74− |= a/@tas
73+ |= a=@tas
75 =+ b=0
74 =+ b=0
76 |- ^- (unit @)
75 |- ^- (unit @)
77 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
76 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
78−
79−Examples
77+#### Examples
80−--------
81
78
82 > (ind:po 'zod')
79 > (ind:po 'zod')
83− [~ 0]
80+ [~ u=0]
81+
84 > (ind:po 'zam')
82 > (ind:po 'zam')
85 ~
83 ~
86− > (ind:po 'del')
87− [~ 37]
88
84
89−------------------------------------------------------------------------
85+ > (ind:po 'del')
86+ [~ u=37]
90
87
88+***
91### `++ins`
89### `++ins`
92
90
93−Parse suffix
91+Parse prefix
94
92
95−Produces the byte of the left-hand phonetic syllable `b`.
93+Produces the byte of the left-hand phonetic syllable `a`.
96
94
97−Accepts
95+#### Accepts
98−-------
99
96
100`a` is an atom.
97`a` is an atom.
101
98
102−Produces
99+#### Produces
103−--------
100+
104−A `++unit` of an atom.
101+A `unit` of an atom.
105
102
106−Source
103+#### Source
107−------
108
104
109− ++ ins ~/ %ins :: parse prefix
105+ ++ ins ~/ %ins
110− |= a/@tas
106+ |= a=@tas
111 =+ b=0
107 =+ b=0
112 |- ^- (unit @)
108 |- ^- (unit @)
113 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
109 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
114
110
115−
116−Examples
111+#### Examples
117−--------
118
112
119 > (ins:po 'mar')
113 > (ins:po 'mar')
120− [~ 1]
114+ [~ u=1]
115+
121 > (ins:po 'son')
116 > (ins:po 'son')
122− [~ 164]
117+ [~ u=164]
118+
123 > (ins:po 'pit')
119 > (ins:po 'pit')
124− [~ 242]
120+ [~ u=242]
121+
125 > (ins:po 'pok')
122 > (ins:po 'pok')
126 ~
123 ~
127
124
128−------------------------------------------------------------------------
125+***
129−
130### `++tod`
126### `++tod`
131
127
132−Fetch prefix
128+Fetch suffix
133
129
134−Produces the phonetic prefix syllable from index `a` within `dex` as an
130+Produces the phonetic suffix syllable from index `a` within `dex` as an atom.
135−atom.
136
131
137−Accepts
132+#### Accepts
138−-------
139
133
140`a` is an atom
134`a` is an atom
141
135
142−Produces
136+#### Produces
143−--------
144
137
145An atom.
138An atom.
146
139
140+#### Source
147
141
148−Source
149−------
150−
151− ++ tod ~/ %tod :: fetch suffix
142+ ++ tod ~/ %tod
152− |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
143+ |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
153−
154−
155
144
156−Examples
145+#### Examples
157−--------
158
146
159 > `@t`(tod:po 1)
147 > `@t`(tod:po 1)
160 'nec'
148 'nec'
149+
161 > `@t`(tod:po 98)
150 > `@t`(tod:po 98)
162 'dec'
151 'dec'
152+
163 > `@t`(tod:po 0)
153 > `@t`(tod:po 0)
164 'zod'
154 'zod'
155+
165 > `@t`(tod:po 150)
156 > `@t`(tod:po 150)
166 'ryg'
157 'ryg'
158+
167 > `@t`(tod:po 255)
159 > `@t`(tod:po 255)
168 'fes'
160 'fes'
161+
169 > `@t`(tod:po 256)
162 > `@t`(tod:po 256)
170 ! exit
163 ! exit
171
164
172−------------------------------------------------------------------------
165+***
173−
174### `++tos`
166### `++tos`
175
167
176−Fetch suffix
168+Fetch prefix
177
169
178−Produces the phonetic prefix syllable from index `a` within `sis` as an
170+Produces the phonetic prefix syllable from index `a` within `sis` as an atom.
179−atom.
180
171
181−Accepts
172+#### Accepts
182−-------
183
173
184`a` is an atom.
174`a` is an atom.
185
175
186−Produces
176+#### Produces
187−--------
188
177
189An atom.
178An atom.
190
179
191−Source
180+#### Source
192−------
193
181
194− ++ tos ~/ %tos :: fetch suffix
182+ ++ tos ~/ %tos
195− |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
183+ |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
196
184
197−Examples
185+#### Examples
198−--------
199
186
200 > `@t`(tos:po 0)
187 > `@t`(tos:po 0)
201 'doz'
188 'doz'
189+
202 > `@t`(tos:po 120)
190 > `@t`(tos:po 120)
203 'fab'
191 'fab'
192+
204 > `@t`(tos:po 43)
193 > `@t`(tos:po 43)
205 'pid'
194 'pid'
195+
206 > `@t`(tos:po 253)
196 > `@t`(tos:po 253)
207 'mat'
197 'mat'
208
198
209−------------------------------------------------------------------------
210−
211***
199***