on 6d45ede help sign in
211 lines 4.8 kB history raw
1---
2navhome: /docs
3---
6# 4a: exotic bases
7### `++po`
9 ++ po
10 ~/ %po
11 =+ :- ^= sis :: prefix syllables
12 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
13 /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
14 /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
15 /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
16 /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
17 /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
18 /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
19 /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
20 /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
21 /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
22 /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
23 /havsaplindibhosdabbitbarracparloddosbortochilmac\
24 /tomdigfilfasmithobharmighinradmashalraglagfadtop\
25 /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
26 /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
27 /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
28 ^= dex :: suffix syllables
29 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
30 /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
31 /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
32 /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
33 /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
34 /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
35 /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
36 /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
37 /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
38 /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
39 /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
40 /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
41 /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
42 /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
43 /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
44 /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
45 |%
47Provides the phonetic syllables and name generators for the Urbit naming
48system. The two faces, `sis` and `dex` are available to the arms
49contained in this section.
52------------------------------------------------------------------------
54### `++ind`
56Parse prefix
58Produces the byte of the right-hand syllable `a`.
60Accepts
61-------
63`a` is an atom.
65Produces
66--------
68A `++unit` of an atom.
70Source
71------
73 ++ ind ~/ %ind :: parse suffix
74 |= a/@tas
75 =+ b=0
76 |- ^- (unit @)
77 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
79Examples
80--------
82 > (ind:po 'zod')
83 [~ 0]
84 > (ind:po 'zam')
85 ~
86 > (ind:po 'del')
87 [~ 37]
89------------------------------------------------------------------------
91### `++ins`
93Parse suffix
95Produces the byte of the left-hand phonetic syllable `b`.
97Accepts
98-------
100`a` is an atom.
102Produces
103--------
104A `++unit` of an atom.
106Source
107------
109 ++ ins ~/ %ins :: parse prefix
110 |= a/@tas
111 =+ b=0
112 |- ^- (unit @)
113 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
116Examples
117--------
119 > (ins:po 'mar')
120 [~ 1]
121 > (ins:po 'son')
122 [~ 164]
123 > (ins:po 'pit')
124 [~ 242]
125 > (ins:po 'pok')
126 ~
128------------------------------------------------------------------------
130### `++tod`
132Fetch prefix
134Produces the phonetic prefix syllable from index `a` within `dex` as an
135atom.
137Accepts
138-------
140`a` is an atom
142Produces
143--------
145An atom.
148Source
149------
151 ++ tod ~/ %tod :: fetch suffix
152 |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
156Examples
157--------
159 > `@t`(tod:po 1)
160 'nec'
161 > `@t`(tod:po 98)
162 'dec'
163 > `@t`(tod:po 0)
164 'zod'
165 > `@t`(tod:po 150)
166 'ryg'
167 > `@t`(tod:po 255)
168 'fes'
169 > `@t`(tod:po 256)
170 ! exit
172------------------------------------------------------------------------
174### `++tos`
176Fetch suffix
178Produces the phonetic prefix syllable from index `a` within `sis` as an
179atom.
181Accepts
182-------
184`a` is an atom.
186Produces
187--------
189An atom.
191Source
192------
194 ++ tos ~/ %tos :: fetch suffix
195 |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
197Examples
198--------
200 > `@t`(tos:po 0)
201 'doz'
202 > `@t`(tos:po 120)
203 'fab'
204 > `@t`(tos:po 43)
205 'pid'
206 > `@t`(tos:po 253)
207 'mat'
209------------------------------------------------------------------------
211***