on 140ac0e help sign in
206 lines 4.8 kB history raw
1# 4a: exotic bases
2### `++po`
4 ++ po
5 ~/ %po
6 =+ :- ^= sis :: prefix syllables
7 'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
8 /rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
9 /holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
10 /losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
11 /rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
12 /ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
13 /ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
14 /sivtagpadsaldivdactansidfabtarmonranniswolmispal\
15 /lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
16 /bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
17 /taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
18 /havsaplindibhosdabbitbarracparloddosbortochilmac\
19 /tomdigfilfasmithobharmighinradmashalraglagfadtop\
20 /mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
21 /nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
22 /laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
23 ^= dex :: suffix syllables
24 'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
25 /rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
26 /lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
27 /pyldulhetmevruttylwydtepbesdexsefwycburderneppur\
28 /rysrebdennutsubpetrulsynregtydsupsemwynrecmegnet\
29 /secmulnymtevwebsummutnyxrextebfushepbenmuswyxsym\
30 /selrucdecwexsyrwetdylmynmesdetbetbeltuxtugmyrpel\
31 /syptermebsetdutdegtexsurfeltudnuxruxrenwytnubmed\
32 /lytdusnebrumtynseglyxpunresredfunrevrefmectedrus\
33 /bexlebduxrynnumpyxrygryxfeptyrtustyclegnemfermer\
34 /tenlusnussyltecmexpubrymtucfyllepdebbermughuttun\
35 /bylsudpemdevlurdefbusbeprunmelpexdytbyttyplevmyl\
36 /wedducfurfexnulluclennerlexrupnedlecrydlydfenwel\
37 /nydhusrelrudneshesfetdesretdunlernyrsebhulryllud\
38 /remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
39 /lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
40 |%
42Provides the phonetic syllables and name generators for the Urbit naming
43system. The two faces, `sis` and `dex` are available to the arms
44contained in this section.
47------------------------------------------------------------------------
49### `++ind`
51Parse prefix
53Produces the byte of the right-hand syllable `a`.
55Accepts
56-------
58`a` is an atom.
60Produces
61--------
63A `++unit` of an atom.
65Source
66------
68 ++ ind ~/ %ind :: parse suffix
69 |= a/@tas
70 =+ b=0
71 |- ^- (unit @)
72 ?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
74Examples
75--------
77 > (ind:po 'zod')
78 [~ 0]
79 > (ind:po 'zam')
80 ~
81 > (ind:po 'del')
82 [~ 37]
84------------------------------------------------------------------------
86### `++ins`
88Parse suffix
90Produces the byte of the left-hand phonetic syllable `b`.
92Accepts
93-------
95`a` is an atom.
97Produces
98--------
99A `++unit` of an atom.
101Source
102------
104 ++ ins ~/ %ins :: parse prefix
105 |= a/@tas
106 =+ b=0
107 |- ^- (unit @)
108 ?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
111Examples
112--------
114 > (ins:po 'mar')
115 [~ 1]
116 > (ins:po 'son')
117 [~ 164]
118 > (ins:po 'pit')
119 [~ 242]
120 > (ins:po 'pok')
121 ~
123------------------------------------------------------------------------
125### `++tod`
127Fetch prefix
129Produces the phonetic prefix syllable from index `a` within `dex` as an
130atom.
132Accepts
133-------
135`a` is an atom
137Produces
138--------
140An atom.
143Source
144------
146 ++ tod ~/ %tod :: fetch suffix
147 |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex)))
151Examples
152--------
154 > `@t`(tod:po 1)
155 'nec'
156 > `@t`(tod:po 98)
157 'dec'
158 > `@t`(tod:po 0)
159 'zod'
160 > `@t`(tod:po 150)
161 'ryg'
162 > `@t`(tod:po 255)
163 'fes'
164 > `@t`(tod:po 256)
165 ! exit
167------------------------------------------------------------------------
169### `++tos`
171Fetch suffix
173Produces the phonetic prefix syllable from index `a` within `sis` as an
174atom.
176Accepts
177-------
179`a` is an atom.
181Produces
182--------
184An atom.
186Source
187------
189 ++ tos ~/ %tos :: fetch suffix
190 |=(a/@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis)))
192Examples
193--------
195 > `@t`(tos:po 0)
196 'doz'
197 > `@t`(tos:po 120)
198 'fab'
199 > `@t`(tos:po 43)
200 'pid'
201 > `@t`(tos:po 253)
202 'mat'
204------------------------------------------------------------------------
206***