on b93c19b help sign in
216 lines 4.3 kB history raw
1+++
2title = "4a: Exotic Bases"
3weight = 28
4template = "doc.html"
5+++
6### `++po`
8Phonetic base
10Container core for providing phonetic syllables and name generators for the
11Urbit naming system. The two faces, `sis` and `dex`, are available to the
12contained arms.
14#### Source
16```
17 ~/ %po
18 =+ :- ^= sis :: prefix syllables
19 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
20 /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
21 /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
22 /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
23 /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
24 /ritpodmottamtolsavposnapnopsomfinfonbanmorworsip\
25 /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
26 /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
27 /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
28 /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
29 /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
30 /havsaplindibhosdabbitbarracparloddosbortochilmac\
31 /tomdigfilfasmithobharmighinradmashalraglagfadtop\
32 /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
33 /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
34 /laptalpitnambonrostonfodponsovnocsorlavmatmipfip'
35 ^= dex :: suffix syllables
36 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
37 /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
38 /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
39 /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
40 /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
41 /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
42 /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
43 /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
44 /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
45 /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
46 /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
47 /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
48 /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
49 /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
50 /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
51 /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
52 |%
53```
55---
56### `++ind:po`
58Parse suffix
60Produces the byte of the right-hand syllable `a`.
62#### Accepts
64`a` is an atom.
66#### Produces
68A `unit`.
70#### Source
72```
73 ++ ind ~/ %ind
74 |= a=@tas
75 =+ b=0
76 |- ^- (unit @)
77 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
78```
80#### Examples
82```
83 > (ind:po 'zod')
84 [~ u=0]
86 > (ind:po 'zam')
87 ~
89 > (ind:po 'del')
90 [~ u=37]
91```
93---
94### `++ins:po`
96Parse prefix
98Produces the byte of the left-hand phonetic syllable `a`.
100#### Accepts
102`a` is an atom.
104#### Produces
106A `unit` of an atom.
108#### Source
110```
111 ++ ins ~/ %ins
112 |= a=@tas
113 =+ b=0
114 |- ^- (unit @)
115 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
116```
118#### Examples
120```
121 > (ins:po 'mar')
122 [~ u=1]
124 > (ins:po 'son')
125 [~ u=164]
127 > (ins:po 'pit')
128 [~ u=242]
130 > (ins:po 'pok')
131 ~
132```
134---
135### `++tod:po`
137Fetch suffix
139Produces the phonetic suffix syllable from index `a` within `dex` as an atom.
141#### Accepts
143`a` is an atom
145#### Produces
147An atom.
149#### Source
151```
152 ++ tod ~/ %tod
153 |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
154```
156#### Examples
158```
159 > `@t`(tod:po 1)
160 'nec'
162 > `@t`(tod:po 98)
163 'dec'
165 > `@t`(tod:po 0)
166 'zod'
168 > `@t`(tod:po 150)
169 'ryg'
171 > `@t`(tod:po 255)
172 'fes'
174 > `@t`(tod:po 256)
175 ! exit
176```
178---
179### `++tos:po`
181Fetch prefix
183Produces the phonetic prefix syllable from index `a` within `sis` as an atom.
185#### Accepts
187`a` is an atom.
189#### Produces
191An atom.
193#### Source
195```
196 ++ tos ~/ %tos
197 |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
198```
200#### Examples
202```
203 > `@t`(tos:po 0)
204 'doz'
206 > `@t`(tos:po 120)
207 'fab'
209 > `@t`(tos:po 43)
210 'pid'
212 > `@t`(tos:po 253)
213 'mat'
214```
216---