mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-16 02:22:12 +03:00
Merge pull request #824 from urbit/vat-q
Add @q, phonetic data representation
This commit is contained in:
commit
113f82b6f0
@ -5299,6 +5299,7 @@
|
||||
++ dem (bass 10 (most gon dit)) :: decimal to atom
|
||||
++ dit (cook |=(a/@ (sub a '0')) (shim '0' '9')) :: decimal digit
|
||||
++ dog ;~(plug dot gay) :: . number separator
|
||||
++ dof ;~(plug hep gay) :: - @q separator
|
||||
++ doh ;~(plug ;~(plug hep hep) gay) :: -- phon separator
|
||||
++ dun (cold ~ ;~(plug hep hep)) :: -- (stop) to ~
|
||||
++ duz (cold ~ ;~(plug tis tis)) :: == (stet) to ~
|
||||
@ -5486,6 +5487,11 @@
|
||||
haf:ab :: star
|
||||
tiq:ab :: galaxy
|
||||
==
|
||||
++ feq %+ cook |=(a=(list @) (rep 4 (flop a)))
|
||||
;~ plug
|
||||
;~(pose hif:ab tiq:ab)
|
||||
(star ;~(pfix dof hif:ab))
|
||||
==
|
||||
++ fim (sear den:fa (bass 58 (plus fem:ab)))
|
||||
++ hex (ape (bass 0x1.0000 ;~(plug qex:ab (star ;~(pfix dog qix:ab)))))
|
||||
++ lip =+ tod=(ape ted:ab)
|
||||
@ -5604,6 +5610,20 @@
|
||||
rep
|
||||
==
|
||||
==
|
||||
::
|
||||
$q
|
||||
=* val q.p.lot
|
||||
:+ '.' '~'
|
||||
=- =.(rep (weld - rep) rep)
|
||||
%- tail
|
||||
%+ roll ?:(=(0 val) ~[0] (rip 3 val))
|
||||
|= [q=@ s=? r=tape]
|
||||
:- !s
|
||||
;: weld
|
||||
(trip (?:(s tod:po tos:po) q))
|
||||
?:(&(s !=(r "")) "-" ~)
|
||||
r
|
||||
==
|
||||
::
|
||||
$r
|
||||
?+ hay (z-co q.p.lot)
|
||||
@ -5902,6 +5922,7 @@
|
||||
(stag %if lip:ag)
|
||||
royl
|
||||
(stag %f ;~(pose (cold & (just 'y')) (cold | (just 'n'))))
|
||||
(stag %q ;~(pfix sig feq:ag))
|
||||
==
|
||||
--
|
||||
::
|
||||
|
42
tests/sys/hoon/auras.hoon
Normal file
42
tests/sys/hoon/auras.hoon
Normal file
@ -0,0 +1,42 @@
|
||||
/+ *test
|
||||
|%
|
||||
++ test-parse-q
|
||||
;: weld
|
||||
%+ expect-eq
|
||||
!> .~zod
|
||||
!> `@q`0x0
|
||||
::
|
||||
%+ expect-eq
|
||||
!> .~marbud
|
||||
!> `@q`0x102
|
||||
::
|
||||
%+ expect-eq
|
||||
!> .~nec-marbud
|
||||
!> `@q`0x1.0102
|
||||
::
|
||||
%+ expect-eq
|
||||
!> .~marnec-marnec-marnec-marnec-marbud
|
||||
!> `@q`0x101.0101.0101.0101.0102
|
||||
::
|
||||
==
|
||||
::
|
||||
++ test-render-q
|
||||
;: weld
|
||||
%+ expect-eq
|
||||
!> '.~zod'
|
||||
!> (scot %q 0x0)
|
||||
::
|
||||
%+ expect-eq
|
||||
!> '.~marbud'
|
||||
!> (scot %q 0x102)
|
||||
::
|
||||
%+ expect-eq
|
||||
!> '.~nec-marbud'
|
||||
!> (scot %q 0x1.0102)
|
||||
::
|
||||
%+ expect-eq
|
||||
!> '.~marnec-marnec-marnec-marnec-marbud'
|
||||
!> (scot %q 0x101.0101.0101.0101.0102)
|
||||
::
|
||||
==
|
||||
--
|
Loading…
Reference in New Issue
Block a user