2016-01-04 03:23:19 +03:00
|
|
|
|
::
|
2014-08-05 05:19:15 +04:00
|
|
|
|
:: zuse (3), standard library (tang)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-12-04 02:21:55 +03:00
|
|
|
|
~% %zuse + ~
|
2015-02-27 09:35:41 +03:00
|
|
|
|
!:
|
2013-09-29 00:21:18 +04:00
|
|
|
|
|%
|
|
|
|
|
:::::::::::::::::::::::::::::::::::::::::::::::::::::: ::
|
|
|
|
|
:::: chapter 3b, Arvo libraries ::::
|
|
|
|
|
:: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
|
:: section 3bA, lite number theory ::
|
|
|
|
|
::
|
2014-12-04 02:21:55 +03:00
|
|
|
|
++ dope
|
|
|
|
|
~/ %dope
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@
|
2014-12-04 02:21:55 +03:00
|
|
|
|
~& [%dope-zuse (mug +>)]
|
|
|
|
|
:(mul a a a)
|
|
|
|
|
::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ fu :: modulo (mul p q)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/{p/@ q/@}
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ b=?:(=([0 0] a) 0 (~(inv fo p.a) (~(sit fo p.a) q.a)))
|
|
|
|
|
|%
|
|
|
|
|
++ dif
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {c/{@ @} d/{@ @}}
|
2013-09-29 00:21:18 +04:00
|
|
|
|
[(~(dif fo p.a) -.c -.d) (~(dif fo q.a) +.c +.d)]
|
|
|
|
|
::
|
|
|
|
|
++ exp
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {c/@ d/{@ @}}
|
2013-12-09 01:23:03 +04:00
|
|
|
|
:- (~(exp fo p.a) (mod c (dec p.a)) -.d)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
(~(exp fo q.a) (mod c (dec q.a)) +.d)
|
|
|
|
|
::
|
|
|
|
|
++ out :: garner's formula
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= c/{@ @}
|
2013-09-29 00:21:18 +04:00
|
|
|
|
%+ add
|
|
|
|
|
+.c
|
|
|
|
|
(mul q.a (~(pro fo p.a) b (~(dif fo p.a) -.c (~(sit fo p.a) +.c))))
|
|
|
|
|
::
|
|
|
|
|
++ pro
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {c/{@ @} d/{@ @}}
|
2013-09-29 00:21:18 +04:00
|
|
|
|
[(~(pro fo p.a) -.c -.d) (~(pro fo q.a) +.c +.d)]
|
|
|
|
|
::
|
|
|
|
|
++ sum
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {c/{@ @} d/{@ @}}
|
2013-09-29 00:21:18 +04:00
|
|
|
|
[(~(sum fo p.a) -.c -.d) (~(sum fo q.a) +.c +.d)]
|
|
|
|
|
::
|
|
|
|
|
++ sit
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= c/@
|
2013-09-29 00:21:18 +04:00
|
|
|
|
[(mod c p.a) (mod c q.a)]
|
|
|
|
|
--
|
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
|
:: section 3bB, cryptosuites ::
|
|
|
|
|
::
|
2014-09-18 23:19:18 +04:00
|
|
|
|
++ crua !: :: cryptosuite A (RSA)
|
2014-04-10 04:28:22 +04:00
|
|
|
|
^- acru
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=| {mos/@ pon/(unit {p/@ q/@ r/{p/@ q/@} s/_*fu})}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=> |%
|
|
|
|
|
++ mx (dec (met 0 mos)) :: bit length
|
|
|
|
|
++ dap :: OEAP decode
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {wid/@ xar/@ dog/@} ^- {p/@ q/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ pav=(sub wid xar)
|
|
|
|
|
=+ qoy=(cut 0 [xar pav] dog)
|
|
|
|
|
=+ dez=(mix (end 0 xar dog) (shaw %pad-b xar qoy))
|
|
|
|
|
[dez (mix qoy (shaw %pad-a pav dez))]
|
|
|
|
|
::
|
|
|
|
|
++ pad :: OEAP encode
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {wid/@ rax/{p/@ q/@} meg/@} ^- @
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ pav=(sub wid p.rax)
|
|
|
|
|
?> (gte pav (met 0 meg))
|
|
|
|
|
^- @
|
|
|
|
|
=+ qoy=(mix meg (shaw %pad-a pav q.rax))
|
|
|
|
|
=+ dez=(mix q.rax (shaw %pad-b p.rax qoy))
|
|
|
|
|
(can 0 [p.rax dez] [pav qoy] ~)
|
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ pull |=(a/@ (~(exp fo mos) 3 a))
|
|
|
|
|
++ push |=(a/@ (~(exp fo mos) 5 a))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ pump
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@ ^- @
|
2014-04-08 06:31:37 +04:00
|
|
|
|
?~ pon !!
|
|
|
|
|
(out.s.u.pon (exp.s.u.pon p.r.u.pon (sit.s.u.pon a)))
|
|
|
|
|
::
|
|
|
|
|
++ punt
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@ ^- @
|
2014-04-08 06:31:37 +04:00
|
|
|
|
?~ pon !!
|
|
|
|
|
(out.s.u.pon (exp.s.u.pon q.r.u.pon (sit.s.u.pon a)))
|
|
|
|
|
--
|
2015-12-25 00:14:59 +03:00
|
|
|
|
|% :: opaque object
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ as
|
|
|
|
|
=> |%
|
2014-04-10 04:28:22 +04:00
|
|
|
|
++ haul :: revealing haul
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/pass
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ [mag=(end 3 1 a) bod=(rsh 3 1 a)]
|
|
|
|
|
?> =('a' mag)
|
|
|
|
|
..as(mos bod, pon ~)
|
|
|
|
|
--
|
|
|
|
|
^?
|
|
|
|
|
|% ++ seal
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/pass b/@ c/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
^- @
|
2014-04-09 23:59:09 +04:00
|
|
|
|
=> .(c (sign b c))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ her=(haul a)
|
|
|
|
|
=+ det=(lte (add 256 (met 0 c)) mx.her)
|
|
|
|
|
=+ lip=?:(det c 0)
|
2014-04-09 23:59:09 +04:00
|
|
|
|
=- (add ?:(p.mav 0 1) (lsh 0 1 q.mav))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
^= mav ^- {p/? q/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
:- det
|
|
|
|
|
=+ dog=(pad mx.her [256 b] lip)
|
|
|
|
|
=+ hog=(push.her dog)
|
|
|
|
|
=+ ben=(en b c)
|
|
|
|
|
?:(det hog (jam hog ben))
|
|
|
|
|
++ sign
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@} ^- @
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=- (add ?:(p.mav 0 1) (lsh 0 1 q.mav))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
^= mav ^- {p/? q/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ det=(lte (add 128 (met 0 b)) mx)
|
|
|
|
|
:- det
|
|
|
|
|
=+ hec=(shaf (mix %agis a) b)
|
|
|
|
|
=+ dog=(pad mx [128 hec] ?:(det b 0))
|
|
|
|
|
=+ hog=(pump dog)
|
|
|
|
|
?:(det hog (jam hog b))
|
|
|
|
|
++ sure
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@}
|
|
|
|
|
^- (unit @)
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ [det==(0 (end 0 1 b)) bod=(rsh 0 1 b)]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ gox=?:(det [p=bod q=0] ((hard {p/@ q/@}) (cue bod)))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ dog=(pull p.gox)
|
|
|
|
|
=+ pig=(dap mx 128 dog)
|
|
|
|
|
=+ log=?:(det q.pig q.gox)
|
|
|
|
|
?.(=(p.pig (shaf (mix %agis a) log)) ~ [~ log])
|
|
|
|
|
++ tear
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/pass b/@}
|
|
|
|
|
^- (unit {p/@ q/@})
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ her=(haul a)
|
2014-04-09 23:59:09 +04:00
|
|
|
|
=+ [det==(0 (end 0 1 b)) bod=(rsh 0 1 b)]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ gox=?:(det [p=bod q=0] ((hard {p/@ q/@}) (cue bod)))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ dog=(punt p.gox)
|
|
|
|
|
=+ pig=(dap mx 256 dog)
|
2014-04-09 23:59:09 +04:00
|
|
|
|
=+ ^= cow
|
2015-12-23 10:18:53 +03:00
|
|
|
|
^- (unit @)
|
2014-04-09 23:59:09 +04:00
|
|
|
|
?: det
|
2014-04-10 00:03:02 +04:00
|
|
|
|
[~ q.pig]
|
2014-04-09 23:59:09 +04:00
|
|
|
|
(de p.pig q.gox)
|
|
|
|
|
?~ cow ~
|
|
|
|
|
=> .(cow (sure:as.her p.pig u.cow))
|
|
|
|
|
?~ cow ~
|
|
|
|
|
[~ p.pig u.cow]
|
2014-04-08 06:31:37 +04:00
|
|
|
|
--
|
|
|
|
|
::
|
|
|
|
|
++ de
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|~ {key/@ cep/@} ^- (unit @)
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ toh=(met 8 cep)
|
|
|
|
|
?: (lth toh 2)
|
|
|
|
|
~
|
|
|
|
|
=+ adj=(dec toh)
|
|
|
|
|
=+ [hax=(end 8 1 cep) bod=(rsh 8 1 cep)]
|
|
|
|
|
=+ msg=(mix (~(raw og (mix hax key)) (mul 256 adj)) bod)
|
|
|
|
|
?. =(hax (shax (mix key (shax (mix adj msg)))))
|
|
|
|
|
~
|
|
|
|
|
[~ msg]
|
|
|
|
|
::
|
2016-01-05 18:02:09 +03:00
|
|
|
|
++ dy |~({a/@ b/@} (need (de a b)))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ en
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|~ {key/@ msg/@} ^- @ux
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ len=(met 8 msg)
|
|
|
|
|
=+ adj=?:(=(0 len) 1 len)
|
|
|
|
|
=+ hax=(shax (mix key (shax (mix adj msg))))
|
|
|
|
|
(rap 8 hax (mix msg (~(raw og (mix hax key)) (mul 256 adj))) ~)
|
|
|
|
|
::
|
|
|
|
|
++ ex ^?
|
|
|
|
|
|% ++ fig ^- @uvH (shaf %afig mos)
|
|
|
|
|
++ pac ^- @uvG (end 6 1 (shaf %acod sec))
|
|
|
|
|
++ pub ^- pass (cat 3 'a' mos)
|
|
|
|
|
++ sec ^- ring ?~(pon !! (cat 3 'A' (jam p.u.pon q.u.pon)))
|
|
|
|
|
--
|
|
|
|
|
::
|
|
|
|
|
++ nu
|
|
|
|
|
=> |%
|
|
|
|
|
++ elcm
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
(div (mul a b) d:(egcd a b))
|
|
|
|
|
::
|
|
|
|
|
++ eldm
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@ c/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
(~(inv fo (elcm (dec b) (dec c))) a)
|
|
|
|
|
::
|
|
|
|
|
++ ersa
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
[a b [(eldm 3 a b) (eldm 5 a b)] (fu a b)]
|
|
|
|
|
--
|
|
|
|
|
^?
|
|
|
|
|
|% ++ com
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@
|
2014-04-08 06:31:37 +04:00
|
|
|
|
^+ ^?(..nu)
|
|
|
|
|
..nu(mos a, pon ~)
|
|
|
|
|
::
|
|
|
|
|
++ pit
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@}
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ c=(rsh 0 1 a)
|
|
|
|
|
=+ [d=(ramp c [3 5 ~] b) e=(ramp c [3 5 ~] +(b))]
|
|
|
|
|
^+ ^?(..nu)
|
|
|
|
|
..nu(mos (mul d e), pon [~ (ersa d e)])
|
|
|
|
|
::
|
|
|
|
|
++ nol
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@
|
2014-04-08 06:31:37 +04:00
|
|
|
|
^+ ^?(..nu)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ b=((hard {p/@ q/@}) (cue a))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
..nu(mos (mul p.b q.b), pon [~ (ersa p.b q.b)])
|
|
|
|
|
--
|
2015-12-25 00:14:59 +03:00
|
|
|
|
-- ::
|
|
|
|
|
::
|
2014-04-10 04:28:22 +04:00
|
|
|
|
++ bruw :: create keypair
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@} :: width seed
|
2014-04-10 04:28:22 +04:00
|
|
|
|
^- acru
|
|
|
|
|
(pit:nu:crua a b)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-04-10 04:28:22 +04:00
|
|
|
|
++ haul :: activate public key
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/pass
|
2014-04-10 04:28:22 +04:00
|
|
|
|
^- acru
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ [mag=(end 3 1 a) bod=(rsh 3 1 a)]
|
|
|
|
|
?> =('a' mag)
|
2014-04-10 04:28:22 +04:00
|
|
|
|
(com:nu:crua bod)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-04-10 04:28:22 +04:00
|
|
|
|
++ weur :: activate secret key
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/ring
|
2014-04-10 04:28:22 +04:00
|
|
|
|
^- acru
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ [mag=(end 3 1 a) bod=(rsh 3 1 a)]
|
|
|
|
|
?> =('A' mag)
|
2014-04-10 04:28:22 +04:00
|
|
|
|
(nol:nu:crua bod)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-04-10 04:28:22 +04:00
|
|
|
|
++ trua :: test rsa
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= msg/@tas
|
2013-09-29 00:21:18 +04:00
|
|
|
|
^- @
|
2014-04-10 04:28:22 +04:00
|
|
|
|
=+ ali=(bruw 1.024 (shax 'ali'))
|
|
|
|
|
=+ bob=(bruw 1.024 (shax 'bob'))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ tef=(sign:as.ali [0 msg])
|
|
|
|
|
=+ lov=(sure:as.ali [0 tef])
|
|
|
|
|
?. &(?=(^ lov) =(msg u.lov))
|
|
|
|
|
~|(%test-fail-sign !!)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ key=(shax (shax (shax msg)))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ sax=(seal:as.ali pub:ex.bob key msg)
|
|
|
|
|
=+ tin=(tear:as.bob pub:ex.ali sax)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
?. &(?=(^ tin) =(key p.u.tin) =(msg q.u.tin))
|
|
|
|
|
~|(%test-fail-seal !!)
|
|
|
|
|
msg
|
2014-04-08 06:31:37 +04:00
|
|
|
|
::
|
2014-07-19 06:45:10 +04:00
|
|
|
|
++ crub :: cryptosuite B (Ed)
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^- acru
|
2016-02-10 22:03:28 +03:00
|
|
|
|
=| {pub/{c/@ e/@} sek/{c/@ e/@}}
|
2014-05-19 21:48:10 +04:00
|
|
|
|
=> |%
|
2014-05-20 23:42:57 +04:00
|
|
|
|
++ skey
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= {a/bloq key/@ nonc/@ ct/@ mctr/@ buf/(list {p/@ q/@})}
|
2014-05-27 18:28:53 +04:00
|
|
|
|
=+ ctext=(en:aesc key (mix (lsh (dec a) 1 nonc) ct))
|
2016-02-04 01:42:58 +03:00
|
|
|
|
:: =+ nbuf=(mix (lsh a 1 buf) ctext)
|
2014-05-27 18:28:53 +04:00
|
|
|
|
=+ nbuf=[[p=1 q=ctext] buf]
|
2014-05-20 23:42:57 +04:00
|
|
|
|
?: =(ct mctr)
|
2014-05-27 18:28:53 +04:00
|
|
|
|
(can a buf)
|
2014-05-20 23:42:57 +04:00
|
|
|
|
$(ct +(ct), buf nbuf)
|
2014-05-19 21:48:10 +04:00
|
|
|
|
::
|
2014-05-21 17:41:59 +04:00
|
|
|
|
++ hiv
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= ruz/@
|
2014-05-21 17:41:59 +04:00
|
|
|
|
=+ haz=(shax ruz)
|
|
|
|
|
=+ hax=(mix (end 7 1 haz) (rsh 7 1 haz))
|
|
|
|
|
(mix (end 6 1 hax) (rsh 6 1 hax))
|
2014-05-19 21:48:10 +04:00
|
|
|
|
--
|
|
|
|
|
|%
|
|
|
|
|
++ as
|
|
|
|
|
=> |%
|
2014-05-20 23:42:57 +04:00
|
|
|
|
++ hail
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/pass
|
2014-05-20 23:42:57 +04:00
|
|
|
|
=+ [mag=(end 3 1 a) bod=(rsh 3 1 a)]
|
|
|
|
|
?> =('b' mag)
|
2014-05-21 20:08:05 +04:00
|
|
|
|
..as(pub [c=(rsh 8 1 bod) e=(end 8 1 bod)])
|
2016-02-04 01:42:58 +03:00
|
|
|
|
::
|
|
|
|
|
++ tide :: shared secret
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= a/@ ^- @
|
2016-02-04 01:42:58 +03:00
|
|
|
|
:: (curt a (curt c.sek 9))
|
2014-05-21 21:15:31 +04:00
|
|
|
|
(curt c.sek a)
|
2014-05-19 21:48:10 +04:00
|
|
|
|
--
|
|
|
|
|
^?
|
2014-05-20 23:42:57 +04:00
|
|
|
|
|%
|
|
|
|
|
++ seal
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= {a/pass b/@ c/@}
|
2014-05-20 23:42:57 +04:00
|
|
|
|
=+ =+ her=(hail a)
|
2014-05-21 20:08:05 +04:00
|
|
|
|
tie=(tide c.pub.her)
|
2014-05-20 23:42:57 +04:00
|
|
|
|
=+ [hog=(en tie b) ben=(en b c)]
|
2014-05-27 23:23:33 +04:00
|
|
|
|
=+ sig=(sign:ed ben e.sek)
|
|
|
|
|
(jam hog ben sig)
|
2016-02-04 01:42:58 +03:00
|
|
|
|
::
|
|
|
|
|
++ sign
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= {a/@ b/@} ^- @
|
2016-02-04 01:42:58 +03:00
|
|
|
|
(jam (en a (shax b)) b)
|
|
|
|
|
++ sure
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= {a/@ b/@}
|
|
|
|
|
^- (unit @)
|
|
|
|
|
=+ bod=((hard {h/@ m/@}) (cue b))
|
2016-02-04 01:42:58 +03:00
|
|
|
|
?: =((need (de a h.bod)) (shax m.bod))
|
|
|
|
|
(some m.bod)
|
|
|
|
|
~
|
|
|
|
|
::
|
2014-05-20 23:42:57 +04:00
|
|
|
|
++ tear
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= {a/pass b/@}
|
|
|
|
|
^- (unit {p/@ q/@})
|
|
|
|
|
=+ bod=((hard {p/@ q/@ s/@}) (cue b))
|
2014-05-20 23:42:57 +04:00
|
|
|
|
=+ =+ her=(hail a)
|
2014-05-21 20:08:05 +04:00
|
|
|
|
tie=(tide c.pub.her)
|
2016-02-04 01:42:58 +03:00
|
|
|
|
?. (veri:ed s.bod q.bod (end 8 1 (rsh 3 1 a)))
|
|
|
|
|
~
|
2014-05-20 23:42:57 +04:00
|
|
|
|
=+ hog=(de tie p.bod)
|
|
|
|
|
?~ hog ~
|
|
|
|
|
=+ ben=(de u.hog q.bod)
|
|
|
|
|
?~ ben ~
|
|
|
|
|
[~ u.hog u.ben]
|
2014-05-19 21:48:10 +04:00
|
|
|
|
--
|
|
|
|
|
::
|
|
|
|
|
++ de
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|~ {key/@ cep/@} ^- (unit @)
|
2014-05-22 00:24:18 +04:00
|
|
|
|
=+ noc=(end 6 1 cep)
|
|
|
|
|
=+ cth=(rsh 6 1 cep)
|
|
|
|
|
=+ byt=(end 7 1 cth)
|
|
|
|
|
=+ cex=(rsh 7 1 cth)
|
|
|
|
|
=+ nox=(met 7 cex)
|
2014-05-27 18:28:53 +04:00
|
|
|
|
=+ cip=(skey 7 key noc 0 (dec nox) ~)
|
2014-05-23 20:04:05 +04:00
|
|
|
|
=+ msg=(mix cex (end 3 byt cip))
|
|
|
|
|
=+ h=(hiv msg)
|
|
|
|
|
?: =(h noc)
|
|
|
|
|
(some msg)
|
|
|
|
|
~
|
2014-05-19 21:48:10 +04:00
|
|
|
|
::
|
|
|
|
|
++ dy
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|~ {a/@ b/@} ^- @
|
2016-02-04 01:42:58 +03:00
|
|
|
|
(need (de a b))
|
2014-05-20 23:42:57 +04:00
|
|
|
|
::
|
2014-05-19 21:48:10 +04:00
|
|
|
|
++ en
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|~ {key/@ msg/@} ^- @ux
|
2014-05-21 17:41:59 +04:00
|
|
|
|
=+ h=(hiv msg)
|
2014-05-22 00:24:18 +04:00
|
|
|
|
=+ boc=(met 7 msg)
|
2014-05-27 18:28:53 +04:00
|
|
|
|
=+ cip=(skey 7 key h 0 (dec boc) ~)
|
2014-05-22 00:24:18 +04:00
|
|
|
|
=+ byt=(met 3 msg)
|
2014-05-27 18:28:53 +04:00
|
|
|
|
`@u`(mix (lsh 6 1 (mix (lsh 7 1 (mix (end 3 byt cip) msg)) byt)) h)
|
2014-05-19 21:48:10 +04:00
|
|
|
|
::
|
|
|
|
|
++ ex ^?
|
2016-02-04 01:42:58 +03:00
|
|
|
|
|% ++ fig ^- @uvH (shaf %bfig e.^pub)
|
|
|
|
|
++ pac ^- @uvG (end 6 1 (shaf %acod e.sek))
|
|
|
|
|
++ pub ^- pass (cat 3 'b' (mix (lsh 8 1 c.^pub) e.^pub))
|
|
|
|
|
++ sec ^- ring (cat 3 'B' (mix (lsh 8 1 c.sek) e.sek))
|
2014-05-19 21:48:10 +04:00
|
|
|
|
--
|
|
|
|
|
::
|
|
|
|
|
++ nu
|
|
|
|
|
^?
|
|
|
|
|
|% ++ com
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^+ ^?(..nu)
|
2014-05-21 20:08:05 +04:00
|
|
|
|
..nu(sek [c=~ e=~], pub [c=(rsh 8 1 a) e=(end 8 1 a)])
|
2014-05-19 21:48:10 +04:00
|
|
|
|
::
|
|
|
|
|
++ pit
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@}
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^+ ^?(..nu)
|
2014-05-22 00:24:18 +04:00
|
|
|
|
=+ [rb=(rsh 8 1 b) eb=(end 8 1 b)]
|
|
|
|
|
..nu(sek [c=rb e=eb], pub [c=(curt rb 9) e=(puck:ed eb)])
|
2014-05-19 21:48:10 +04:00
|
|
|
|
::
|
|
|
|
|
++ nol
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^+ ^?(..nu)
|
2014-05-22 00:24:18 +04:00
|
|
|
|
=+ [ra=(rsh 8 1 a) ea=(end 8 1 a)]
|
|
|
|
|
..nu(sek [c=ra e=ea], pub [c=(curt ra 9) e=(puck:ed ea)])
|
2014-05-19 21:48:10 +04:00
|
|
|
|
--
|
|
|
|
|
--
|
|
|
|
|
++ brew :: create keypair
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {a/@ b/@} :: width seed
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^- acru
|
|
|
|
|
(pit:nu:crub a b)
|
|
|
|
|
::
|
|
|
|
|
++ hail :: activate public key
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/pass
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^- acru
|
|
|
|
|
=+ [mag=(end 3 1 a) bod=(rsh 3 1 a)]
|
|
|
|
|
?> =('b' mag)
|
|
|
|
|
(com:nu:crub bod)
|
|
|
|
|
::
|
|
|
|
|
++ wear :: activate secret key
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/ring
|
2014-05-19 21:48:10 +04:00
|
|
|
|
^- acru
|
|
|
|
|
=+ [mag=(end 3 1 a) bod=(rsh 3 1 a)]
|
2014-05-22 19:22:13 +04:00
|
|
|
|
?> =('B' mag)
|
2014-05-19 21:48:10 +04:00
|
|
|
|
(nol:nu:crub bod)
|
|
|
|
|
::
|
|
|
|
|
++ trub :: test ed
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= msg/@tas
|
2014-04-08 06:31:37 +04:00
|
|
|
|
^- @
|
2014-05-21 23:22:38 +04:00
|
|
|
|
=+ ali=(brew 1.024 (cat 8 (shax 'ali') (shad 'ali')))
|
|
|
|
|
=+ bob=(brew 1.024 (cat 8 (shax 'bob') (shad 'bob')))
|
2014-04-08 06:31:37 +04:00
|
|
|
|
=+ tef=(sign:as.ali [0 msg])
|
|
|
|
|
=+ lov=(sure:as.ali [0 tef])
|
|
|
|
|
?. &(?=(^ lov) =(msg u.lov))
|
|
|
|
|
~|(%test-fail-sign !!)
|
|
|
|
|
=+ key=(shax (shax (shax msg)))
|
|
|
|
|
=+ sax=(seal:as.ali pub:ex.bob key msg)
|
|
|
|
|
=+ tin=(tear:as.bob pub:ex.ali sax)
|
|
|
|
|
?. &(?=(^ tin) =(key p.u.tin) =(msg q.u.tin))
|
|
|
|
|
~|(%test-fail-seal !!)
|
|
|
|
|
msg
|
2014-05-21 09:43:21 +04:00
|
|
|
|
::
|
2014-06-01 03:49:48 +04:00
|
|
|
|
++ hmac :: HMAC-SHA1
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {key/@ mes/@}
|
2014-08-08 02:37:25 +04:00
|
|
|
|
=+ ip=(fil 3 64 0x36)
|
2014-05-21 09:43:21 +04:00
|
|
|
|
=+ op=(fil 3 64 0x5c)
|
|
|
|
|
=+ ^= kex
|
|
|
|
|
?: (gth (met 3 key) 64)
|
|
|
|
|
(lsh 3 44 (shan (swap 3 key)))
|
|
|
|
|
(lsh 3 (sub 64 (met 3 key)) (swap 3 key))
|
|
|
|
|
=+ inn=(shan (swap 3 (cat 3 (swap 3 mes) (mix ip kex))))
|
|
|
|
|
(shan (swap 3 (cat 3 inn (mix op kex))))
|
|
|
|
|
::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
2014-04-19 07:27:19 +04:00
|
|
|
|
:: section 3bC, UTC :: Gregorian only
|
|
|
|
|
::
|
|
|
|
|
++ dawn :: Jan 1 weekday
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= yer/@ud
|
2014-04-19 07:27:19 +04:00
|
|
|
|
=+ yet=(sub yer 1)
|
|
|
|
|
%- mod :_ 7
|
2014-04-22 05:22:11 +04:00
|
|
|
|
:(add 1 (mul 5 (mod yet 4)) (mul 4 (mod yet 100)) (mul 6 (mod yet 400)))
|
2014-04-19 07:27:19 +04:00
|
|
|
|
::
|
|
|
|
|
++ daws :: date weekday
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= yed/date
|
2014-04-19 07:27:19 +04:00
|
|
|
|
%- mod :_ 7
|
|
|
|
|
(add (dawn y.yed) (sub (yawn [y.yed m.yed d.t.yed]) (yawn y.yed 1 1)))
|
2014-04-22 05:22:11 +04:00
|
|
|
|
::
|
2014-04-19 07:27:19 +04:00
|
|
|
|
++ deal :: to leap sec time
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= yer/@da
|
2014-04-19 07:27:19 +04:00
|
|
|
|
=+ n=0
|
|
|
|
|
=+ yud=(yore yer)
|
|
|
|
|
|- ^- date
|
|
|
|
|
?: (gte yer (add (snag n lef:yu) ~s1))
|
|
|
|
|
(yore (year yud(s.t (add n s.t.yud))))
|
|
|
|
|
?: &((gte yer (snag n lef:yu)) (lth yer (add (snag n lef:yu) ~s1)))
|
|
|
|
|
yud(s.t (add +(n) s.t.yud))
|
|
|
|
|
?: =(+(n) (lent lef:yu))
|
|
|
|
|
(yore (year yud(s.t (add +(n) s.t.yud))))
|
|
|
|
|
$(n +(n))
|
|
|
|
|
::
|
|
|
|
|
++ lead :: from leap sec time
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= ley/date
|
2014-04-19 07:27:19 +04:00
|
|
|
|
=+ ler=(year ley)
|
|
|
|
|
=+ n=0
|
|
|
|
|
|- ^- @da
|
|
|
|
|
=+ led=(sub ler (mul n ~s1))
|
|
|
|
|
?: (gte ler (add (snag n les:yu) ~s1))
|
|
|
|
|
led
|
|
|
|
|
?: &((gte ler (snag n les:yu)) (lth ler (add (snag n les:yu) ~s1)))
|
|
|
|
|
?: =(s.t.ley 60)
|
|
|
|
|
(sub led ~s1)
|
|
|
|
|
led
|
|
|
|
|
?: =(+(n) (lent les:yu))
|
|
|
|
|
(sub led ~s1)
|
|
|
|
|
$(n +(n))
|
|
|
|
|
::
|
|
|
|
|
++ dust :: print UTC format
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= yed/date
|
2014-04-19 07:27:19 +04:00
|
|
|
|
^- tape
|
|
|
|
|
=+ wey=(daws yed)
|
|
|
|
|
;: weld
|
2015-12-23 10:18:53 +03:00
|
|
|
|
`tape`(snag wey (turn wik:yu |=(a/tape (scag 3 a))))
|
2014-04-22 05:22:11 +04:00
|
|
|
|
", " ~(rud at d.t.yed) " "
|
2015-12-23 10:18:53 +03:00
|
|
|
|
`tape`(snag (dec m.yed) (turn mon:yu |=(a/tape (scag 3 a))))
|
2014-04-19 07:27:19 +04:00
|
|
|
|
" " (scag 1 ~(rud at y.yed)) (slag 2 ~(rud at y.yed)) " "
|
2014-04-22 05:22:11 +04:00
|
|
|
|
~(rud at h.t.yed) ":" ~(rud at m.t.yed) ":" ~(rud at s.t.yed)
|
2014-04-19 07:27:19 +04:00
|
|
|
|
" " "+0000"
|
|
|
|
|
==
|
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ stud !: :: parse UTC format
|
|
|
|
|
=< |= a/cord :: expose parsers
|
2014-12-12 01:46:17 +03:00
|
|
|
|
%+ biff (rush a (more sepa elem))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= b/(list _(wonk *elem)) ^- (unit date)
|
2014-12-12 01:46:17 +03:00
|
|
|
|
=- ?.((za:jo -) ~ (some (zp:jo -)))
|
|
|
|
|
^+ =+ [*date u=unit]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
*{(u _[a y]) (u _m) (u _d.t) (u _+.t) $~}
|
2014-12-12 01:46:17 +03:00
|
|
|
|
:~ :: XX types
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|-(?~(b ~ ?.(?=($y -.i.b) $(b t.b) `+.i.b)))
|
|
|
|
|
|-(?~(b ~ ?.(?=($m -.i.b) $(b t.b) `+.i.b)))
|
|
|
|
|
|-(?~(b ~ ?.(?=($d -.i.b) $(b t.b) `+.i.b)))
|
|
|
|
|
|-(?~(b ~ ?.(?=($t -.i.b) $(b t.b) `+.i.b)))
|
2014-12-12 01:46:17 +03:00
|
|
|
|
==
|
|
|
|
|
|%
|
|
|
|
|
::
|
|
|
|
|
++ snug
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/wall
|
|
|
|
|
|= b/tape
|
2014-12-12 01:46:17 +03:00
|
|
|
|
=+ [pos=1 len=(lent b)]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|- ^- (unit @u)
|
2014-12-12 01:46:17 +03:00
|
|
|
|
?~ a ~
|
|
|
|
|
?: =(b (scag len i.a))
|
|
|
|
|
`pos
|
|
|
|
|
$(pos +(pos), a t.a)
|
|
|
|
|
::
|
|
|
|
|
::
|
|
|
|
|
++ sepa ;~(pose ;~(plug com (star ace)) (plus ace))
|
|
|
|
|
++ elem
|
|
|
|
|
;~ pose
|
|
|
|
|
(stag %t t) (stag %y y) (stag %m m) (stag %d d)
|
|
|
|
|
(stag %w w) (stag %z z)
|
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ y (stag %& (bass 10 (stun 3^4 dit)))
|
|
|
|
|
++ m (sear (snug mon:yu) (plus alf))
|
|
|
|
|
++ d (bass 10 (stun 1^2 dit))
|
|
|
|
|
++ t [;~(plug - - + (easy ~))]:[;~(sfix d col) d]
|
|
|
|
|
++ w (sear (snug wik:yu) (plus alf))
|
|
|
|
|
++ z [;~(plug (mask "-+") . .)]:(bass 10 (stun 2^2 dit))
|
|
|
|
|
--
|
2014-05-21 09:43:21 +04:00
|
|
|
|
::
|
|
|
|
|
++ unt :: UGT to UTC time
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@
|
2014-10-29 02:13:02 +03:00
|
|
|
|
(div (sub a ~1970.1.1) ~s1)
|
2014-04-19 07:27:19 +04:00
|
|
|
|
::
|
|
|
|
|
++ yu :: UTC format constants
|
2014-04-22 05:22:11 +04:00
|
|
|
|
|%
|
2014-04-19 07:27:19 +04:00
|
|
|
|
++ mon ^- (list tape)
|
|
|
|
|
:~ "January" "February" "March" "April" "May" "June" "July"
|
|
|
|
|
"August" "September" "October" "November" "December"
|
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ wik ^- (list tape)
|
2014-04-22 05:22:11 +04:00
|
|
|
|
:~ "Sunday" "Monday" "Tuesday" "Wednesday" "Thursday"
|
|
|
|
|
"Friday" "Saturday"
|
2014-04-19 07:27:19 +04:00
|
|
|
|
==
|
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ les ^- (list @da)
|
2015-06-30 19:34:36 +03:00
|
|
|
|
:~ ~2015.7.1 ~2012.7.1 ~2009.1.1 ~2006.1.1 ~1999.1.1 ~1997.7.1
|
|
|
|
|
~1996.1.1 ~1994.7.1 ~1993.7.1 ~1992.7.1 ~1991.1.1 ~1990.1.1
|
|
|
|
|
~1988.1.1 ~1985.7.1 ~1983.7.1 ~1982.7.1 ~1981.7.1 ~1980.1.1
|
|
|
|
|
~1979.1.1 ~1978.1.1 ~1977.1.1 ~1976.1.1 ~1975.1.1 ~1974.1.1
|
2015-06-30 20:57:31 +03:00
|
|
|
|
~1973.1.1 ~1972.7.1
|
2014-04-19 07:27:19 +04:00
|
|
|
|
==
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ lef ^- (list @da)
|
2015-06-30 19:34:36 +03:00
|
|
|
|
:~ ~2015.6.30..23.59.59 ~2012.6.30..23.59.59
|
|
|
|
|
~2008.12.31..23.59.58 ~2005.12.31..23.59.57
|
|
|
|
|
~1998.12.31..23.59.56 ~1997.6.30..23.59.55
|
|
|
|
|
~1995.12.31..23.59.54 ~1994.6.30..23.59.53
|
|
|
|
|
~1993.6.30..23.59.52 ~1992.6.30..23.59.51
|
|
|
|
|
~1990.12.31..23.59.50 ~1989.12.31..23.59.49
|
|
|
|
|
~1987.12.31..23.59.48 ~1985.6.30..23.59.47
|
|
|
|
|
~1983.6.30..23.59.46 ~1982.6.30..23.59.45
|
|
|
|
|
~1981.6.30..23.59.44 ~1979.12.31..23.59.43
|
|
|
|
|
~1978.12.31..23.59.42 ~1977.12.31..23.59.41
|
|
|
|
|
~1976.12.31..23.59.40 ~1975.12.31..23.59.39
|
|
|
|
|
~1974.12.31..23.59.38 ~1973.12.31..23.59.37
|
|
|
|
|
~1972.12.31..23.59.36 ~1972.6.30..23.59.35
|
2014-04-19 07:27:19 +04:00
|
|
|
|
==
|
|
|
|
|
--
|
|
|
|
|
::
|
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
|
:: section 3bD, JSON and XML ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
|
|
|
|
++ moon :: mime type to text
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= myn/mite
|
2015-02-06 08:00:35 +03:00
|
|
|
|
%- crip
|
2013-09-29 00:21:18 +04:00
|
|
|
|
|- ^- tape
|
|
|
|
|
?~ myn ~
|
2013-12-24 00:49:15 +04:00
|
|
|
|
?: =(~ t.myn) (trip i.myn)
|
|
|
|
|
(weld (trip i.myn) `tape`['/' $(myn t.myn)])
|
2014-04-15 21:32:48 +04:00
|
|
|
|
::
|
2015-12-28 23:53:10 +03:00
|
|
|
|
++ perk :: parse cube fork
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* a/(pole @tas)
|
2014-08-14 05:46:10 +04:00
|
|
|
|
?~ a fail
|
|
|
|
|
;~ pose
|
|
|
|
|
(cold -.a (jest -.a))
|
|
|
|
|
$(a +.a)
|
|
|
|
|
==
|
|
|
|
|
::
|
2014-10-29 02:13:02 +03:00
|
|
|
|
++ poja :: parse JSON
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=< |=(a/cord `(unit json)`(rush a apex))
|
2014-01-22 03:14:05 +04:00
|
|
|
|
|%
|
2014-10-29 02:13:02 +03:00
|
|
|
|
++ apex :: JSON value
|
2014-07-12 22:24:52 +04:00
|
|
|
|
%+ knee *json |. ~+
|
2014-12-12 01:46:17 +03:00
|
|
|
|
%+ ifix [spac spac]
|
|
|
|
|
;~ pose
|
|
|
|
|
(cold ~ (jest 'null'))
|
|
|
|
|
(stag %b bool)
|
|
|
|
|
(stag %s stri)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
(cook |=(s/tape [%n p=(rap 3 s)]) numb)
|
2014-12-12 01:46:17 +03:00
|
|
|
|
abox
|
|
|
|
|
obox
|
2014-02-12 14:53:12 +04:00
|
|
|
|
==
|
2014-10-29 02:13:02 +03:00
|
|
|
|
++ tops ;~(pose abox obox) :: JSON strict
|
2014-02-12 14:53:12 +04:00
|
|
|
|
:: JSON arrays
|
2014-10-29 02:13:02 +03:00
|
|
|
|
++ abox (stag %a (ifix [sel (ws ser)] (more (ws com) apex)))
|
2014-02-12 14:53:12 +04:00
|
|
|
|
:: JSON objects
|
2014-10-29 02:13:02 +03:00
|
|
|
|
++ pair ;~(plug ;~(sfix (ws stri) (ws col)) apex)
|
2014-02-12 14:53:12 +04:00
|
|
|
|
++ obje (ifix [(ws kel) (ws ker)] (more (ws com) pair))
|
2016-01-01 07:49:01 +03:00
|
|
|
|
++ obox (stag %o (cook malt obje))
|
2014-02-12 14:53:12 +04:00
|
|
|
|
:: JSON booleans
|
|
|
|
|
++ bool ;~(pose (cold & (jest 'true')) (cold | (jest 'false')))
|
|
|
|
|
:: JSON strings
|
2014-10-28 21:55:44 +03:00
|
|
|
|
++ stri (cook crip (ifix [doq doq] (star jcha)))
|
|
|
|
|
++ jcha ;~(pose ;~(less doq bas prn) esca) :: character in string
|
2014-02-12 14:53:12 +04:00
|
|
|
|
++ esca :: Escaped character
|
|
|
|
|
;~ pfix bas
|
|
|
|
|
;~ pose
|
2014-10-28 21:55:44 +03:00
|
|
|
|
doq fas soq bas
|
2016-01-02 03:19:06 +03:00
|
|
|
|
(sear ~(get by `(map @t @)`(my b+8 t+9 n+10 f+12 r+13 ~)) low)
|
2014-10-28 21:55:44 +03:00
|
|
|
|
;~(pfix (just 'u') (cook tuft qix:ab)) :: 4-digit hex to UTF-8
|
2014-01-22 03:14:05 +04:00
|
|
|
|
==
|
2014-02-12 14:53:12 +04:00
|
|
|
|
==
|
|
|
|
|
:: JSON numbers
|
|
|
|
|
++ numb
|
|
|
|
|
;~ (comp twel)
|
|
|
|
|
(mayb (piec hep))
|
|
|
|
|
;~ pose
|
|
|
|
|
(piec (just '0'))
|
2014-10-28 21:55:44 +03:00
|
|
|
|
;~(plug (shim '1' '9') digs)
|
2014-01-22 03:14:05 +04:00
|
|
|
|
==
|
2014-02-12 14:53:12 +04:00
|
|
|
|
(mayb frac)
|
|
|
|
|
(mayb expo)
|
|
|
|
|
==
|
|
|
|
|
++ digs (star (shim '0' '9'))
|
2014-10-28 21:55:44 +03:00
|
|
|
|
++ expo :: Exponent part
|
2014-02-12 14:53:12 +04:00
|
|
|
|
;~ (comp twel)
|
|
|
|
|
(piec (mask "eE"))
|
|
|
|
|
(mayb (piec (mask "+-")))
|
|
|
|
|
digs
|
|
|
|
|
==
|
2014-10-28 21:55:44 +03:00
|
|
|
|
++ frac ;~(plug dot digs) :: Fractional part
|
2014-02-12 14:53:12 +04:00
|
|
|
|
:: whitespace
|
|
|
|
|
++ spac (star (mask [`@`9 `@`10 `@`13 ' ' ~]))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ ws |*(sef/rule ;~(pfix spac sef))
|
2014-02-12 14:53:12 +04:00
|
|
|
|
:: plumbing
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ mayb |*(bus/rule ;~(pose bus (easy "")))
|
|
|
|
|
++ twel |=({a/tape b/tape} (weld a b))
|
2014-02-12 14:53:12 +04:00
|
|
|
|
++ piec
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* bus/rule
|
|
|
|
|
(cook |=(a/@ [a ~]) bus)
|
2014-04-15 21:32:48 +04:00
|
|
|
|
--
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
|
|
|
|
++ pojo :: print json
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=| rez/tape
|
|
|
|
|
|= val/json
|
2013-09-29 00:21:18 +04:00
|
|
|
|
^- tape
|
2015-10-30 02:04:56 +03:00
|
|
|
|
?~ val (weld "null" rez)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
?- -.val
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$a
|
2015-10-30 02:04:56 +03:00
|
|
|
|
:- '['
|
|
|
|
|
=. rez [']' rez]
|
|
|
|
|
!.
|
|
|
|
|
?~ p.val rez
|
|
|
|
|
|-
|
|
|
|
|
?~ t.p.val ^$(val i.p.val)
|
|
|
|
|
^$(val i.p.val, rez [',' $(p.val t.p.val)])
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$b (weld ?:(p.val "true" "false") rez)
|
|
|
|
|
$n (weld (trip p.val) rez)
|
|
|
|
|
$s
|
2015-10-30 02:04:56 +03:00
|
|
|
|
:- '"'
|
|
|
|
|
=. rez ['"' rez]
|
|
|
|
|
=+ viz=(trip p.val)
|
|
|
|
|
!.
|
2015-11-25 22:46:09 +03:00
|
|
|
|
|- ^- tape
|
2015-10-30 02:04:56 +03:00
|
|
|
|
?~ viz rez
|
2015-11-25 22:46:09 +03:00
|
|
|
|
=+ hed=(jesc i.viz)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?: ?=({@ $~} hed) :: common case
|
2015-11-25 22:46:09 +03:00
|
|
|
|
[i.hed $(viz t.viz)] :: cons-and-tail
|
|
|
|
|
(weld hed $(viz t.viz))
|
2015-10-30 02:04:56 +03:00
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$o
|
2015-10-30 02:04:56 +03:00
|
|
|
|
:- '{'
|
|
|
|
|
=. rez ['}' rez]
|
|
|
|
|
=+ viz=(~(tap by p.val))
|
|
|
|
|
?~ viz rez
|
|
|
|
|
!.
|
|
|
|
|
|- ^+ rez
|
|
|
|
|
?~ t.viz ^$(val [%s p.i.viz], rez [':' ^$(val q.i.viz)])
|
|
|
|
|
=. rez [',' $(viz t.viz)]
|
|
|
|
|
^$(val [%s p.i.viz], rez [':' ^$(val q.i.viz)])
|
2013-09-29 00:21:18 +04:00
|
|
|
|
==
|
2014-04-15 21:32:48 +04:00
|
|
|
|
::
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ poxo :: node to tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=< |=(a/manx `tape`(apex a ~))
|
|
|
|
|
|_ _[unq=`?`| cot=`?`|] :: self-close all tags
|
2014-10-31 06:13:40 +03:00
|
|
|
|
++ apex :: top level
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {mex/manx rez/tape}
|
2014-10-30 23:33:15 +03:00
|
|
|
|
^- tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?: ?=({$$ {{$$ *} $~}} g.mex)
|
2014-10-30 23:33:15 +03:00
|
|
|
|
(escp v.i.a.g.mex rez)
|
|
|
|
|
=+ man=`mane`n.g.mex
|
|
|
|
|
=. unq |(unq =(%script man) =(%style man))
|
|
|
|
|
=+ tam=(name man)
|
|
|
|
|
=+ att=`mart`a.g.mex
|
|
|
|
|
:- '<'
|
|
|
|
|
%+ welp tam
|
2014-12-04 07:58:49 +03:00
|
|
|
|
=- ?~(att rez [' ' (attr att rez)])
|
2015-12-23 10:18:53 +03:00
|
|
|
|
^- rez/tape
|
|
|
|
|
?: &(?=($~ c.mex) |(cot (clot man)))
|
2015-03-12 21:39:22 +03:00
|
|
|
|
[' ' '/' '>' rez]
|
2014-12-04 07:58:49 +03:00
|
|
|
|
:- '>'
|
|
|
|
|
(many c.mex :(weld "</" tam ">" rez))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
::
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ attr :: attributes to tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {tat/mart rez/tape}
|
2014-10-30 23:33:15 +03:00
|
|
|
|
^- tape
|
|
|
|
|
?~ tat rez
|
|
|
|
|
=. rez $(tat t.tat)
|
|
|
|
|
;: weld
|
|
|
|
|
(name n.i.tat)
|
|
|
|
|
"=\""
|
|
|
|
|
(escp(unq |) v.i.tat '"' ?~(t.tat rez [' ' rez]))
|
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ escp :: escape for xml
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {tex/tape rez/tape}
|
2014-10-30 23:33:15 +03:00
|
|
|
|
?: unq
|
|
|
|
|
(weld tex rez)
|
|
|
|
|
=+ xet=`tape`(flop tex)
|
2015-06-30 00:49:37 +03:00
|
|
|
|
!.
|
2014-10-30 23:33:15 +03:00
|
|
|
|
|- ^- tape
|
|
|
|
|
?~ xet rez
|
|
|
|
|
%= $
|
|
|
|
|
xet t.xet
|
|
|
|
|
rez ?- i.xet
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$34 ['&' 'q' 'u' 'o' 't' ';' rez]
|
|
|
|
|
$38 ['&' 'a' 'm' 'p' ';' rez]
|
|
|
|
|
$39 ['&' '#' '3' '9' ';' rez]
|
|
|
|
|
$60 ['&' 'l' 't' ';' rez]
|
|
|
|
|
$62 ['&' 'g' 't' ';' rez]
|
|
|
|
|
* [i.xet rez]
|
2014-10-30 23:33:15 +03:00
|
|
|
|
==
|
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ many :: nodelist to tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {lix/(list manx) rez/tape}
|
2014-10-30 23:33:15 +03:00
|
|
|
|
|- ^- tape
|
|
|
|
|
?~ lix rez
|
|
|
|
|
(apex i.lix $(lix t.lix))
|
2015-03-12 21:39:22 +03:00
|
|
|
|
::
|
|
|
|
|
++ name :: name to tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= man/mane ^- tape
|
2015-03-12 21:39:22 +03:00
|
|
|
|
?@ man (trip man)
|
|
|
|
|
(weld (trip -.man) `tape`[':' (trip +.man)])
|
|
|
|
|
::
|
|
|
|
|
++ clot ~+ :: self-closing tags
|
|
|
|
|
%~ has in
|
2016-01-04 08:41:35 +03:00
|
|
|
|
%- silt ^- (list term) :~
|
|
|
|
|
%area %base %br %col %command %embed %hr %img %input %keygen
|
|
|
|
|
%link %meta %param %source %track %wbr
|
|
|
|
|
== ==
|
2014-10-30 23:33:15 +03:00
|
|
|
|
--
|
|
|
|
|
::
|
2016-01-04 17:27:35 +03:00
|
|
|
|
++ foo
|
|
|
|
|
;~(plug fas fas fas)
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ poxa :: xml parser
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=< |=(a/cord (rush a apex))
|
|
|
|
|
|_ ent/_`(map term @t)`[[%apos '\''] ~ ~]
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ apex
|
|
|
|
|
=+ spa=;~(pose comt whit)
|
|
|
|
|
%+ knee *manx |. ~+
|
|
|
|
|
%+ ifix [(star spa) (star spa)]
|
|
|
|
|
;~ pose
|
2015-12-23 10:18:53 +03:00
|
|
|
|
%+ sear |=({a/marx b/marl c/mane} ?.(=(c n.a) ~ (some [a b])))
|
2014-12-04 07:58:49 +03:00
|
|
|
|
;~(plug head many tail)
|
2014-10-30 23:33:15 +03:00
|
|
|
|
empt
|
|
|
|
|
==
|
2014-12-04 07:58:49 +03:00
|
|
|
|
::
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ attr :: attributes
|
|
|
|
|
%+ knee *mart |. ~+
|
|
|
|
|
%- star
|
2015-07-23 00:35:36 +03:00
|
|
|
|
;~ plug
|
|
|
|
|
;~(pfix (plus whit) name)
|
|
|
|
|
;~ pose
|
|
|
|
|
(ifix [;~(plug tis doq) doq] (star ;~(less doq escp)))
|
|
|
|
|
(ifix [;~(plug tis soq) soq] (star ;~(less soq escp)))
|
|
|
|
|
(easy ~)
|
2014-10-30 23:33:15 +03:00
|
|
|
|
==
|
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ chrd :: character data
|
2015-12-26 23:47:04 +03:00
|
|
|
|
%+ cook |=(a/tape ^-(mars ;/(a)))
|
2014-12-09 01:51:27 +03:00
|
|
|
|
(plus ;~(less doq ;~(pose (just `@`10) escp)))
|
2014-10-30 23:33:15 +03:00
|
|
|
|
::
|
|
|
|
|
++ comt :: comments
|
|
|
|
|
=- (ifix [(jest '<!--') (jest '-->')] (star -))
|
|
|
|
|
;~ pose
|
|
|
|
|
;~(less hep prn)
|
|
|
|
|
whit
|
|
|
|
|
;~(less (jest '-->') hep)
|
|
|
|
|
==
|
2014-12-09 01:51:27 +03:00
|
|
|
|
::
|
|
|
|
|
++ escp ;~(pose ;~(less gal gar pam prn) enty)
|
|
|
|
|
++ enty :: entity
|
|
|
|
|
%+ ifix pam^sem
|
2014-10-30 23:33:15 +03:00
|
|
|
|
;~ pose
|
2016-01-02 03:19:06 +03:00
|
|
|
|
=+ def=^+(ent (my [%gt '>'] [%lt '<'] [%amp '&'] [%quot '"'] ~))
|
2014-12-09 01:51:27 +03:00
|
|
|
|
%+ sear ~(get by (~(uni by def) ent))
|
|
|
|
|
(cook crip ;~(plug alf (stun 1^31 aln)))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
%+ cook |=(a/@c ?:((gth a 0x10.ffff) '<27>' (tuft a)))
|
2014-12-09 01:51:27 +03:00
|
|
|
|
=< ;~(pfix hax ;~(pose - +))
|
|
|
|
|
:- (bass 10 (stun 1^8 dit))
|
|
|
|
|
(bass 16 ;~(pfix (mask "xX") (stun 1^8 hit)))
|
2014-10-30 23:33:15 +03:00
|
|
|
|
==
|
2014-12-09 01:51:27 +03:00
|
|
|
|
::
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ empt :: self-closing tag
|
|
|
|
|
%+ ifix [gal (jest '/>')]
|
|
|
|
|
;~(plug ;~(plug name attr) (cold ~ (star whit)))
|
|
|
|
|
::
|
|
|
|
|
++ head :: opening tag
|
|
|
|
|
(ifix [gal gar] ;~(plug name attr))
|
|
|
|
|
::
|
2014-12-04 07:58:49 +03:00
|
|
|
|
++ many
|
|
|
|
|
(more (star comt) ;~(pose apex chrd))
|
|
|
|
|
::
|
2014-10-30 23:33:15 +03:00
|
|
|
|
++ name :: tag name
|
|
|
|
|
=+ ^= chx
|
|
|
|
|
%+ cook crip
|
|
|
|
|
;~ plug
|
|
|
|
|
;~(pose cab alf)
|
|
|
|
|
(star ;~(pose cab dot alp))
|
|
|
|
|
==
|
|
|
|
|
;~(pose ;~(plug ;~(sfix chx col) chx) chx)
|
|
|
|
|
::
|
|
|
|
|
++ tail (ifix [(jest '</') gar] name) :: closing tag
|
|
|
|
|
++ whit (mask ~[' ' `@`0x9 `@`0xa]) :: whitespace
|
|
|
|
|
--
|
|
|
|
|
::
|
2014-07-21 07:15:02 +04:00
|
|
|
|
++ jo :: json reparser
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=> |% ++ grub (unit *)
|
2016-02-04 10:12:23 +03:00
|
|
|
|
++ fist $-(json grub)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
--
|
|
|
|
|
|%
|
|
|
|
|
++ ar :: array as list
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wit/fist
|
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$a *} jon) ~
|
2014-07-02 00:34:06 +04:00
|
|
|
|
%- zl
|
|
|
|
|
|-
|
|
|
|
|
?~ p.jon ~
|
2014-07-02 03:29:44 +04:00
|
|
|
|
[i=(wit i.p.jon) t=$(p.jon t.p.jon)]
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ at :: array as tuple
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wil/(pole fist)
|
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$a *} jon) ~
|
2014-07-09 11:37:47 +04:00
|
|
|
|
=+ raw=((at-raw wil) p.jon)
|
2014-07-03 06:56:33 +04:00
|
|
|
|
?.((za raw) ~ (some (zp raw)))
|
|
|
|
|
::
|
|
|
|
|
++ at-raw :: array as tuple
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wil/(pole fist)
|
|
|
|
|
|= jol/(list json)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
?~ wil ~
|
2014-07-09 11:37:47 +04:00
|
|
|
|
:- ?~(jol ~ (-.wil i.jol))
|
|
|
|
|
((at-raw +.wil) ?~(jol ~ t.jol))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ bo :: boolean
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|=(jon/json ?.(?=({$b *} jon) ~ [~ u=p.jon]))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ bu :: boolean not
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|=(jon/json ?.(?=({$b *} jon) ~ [~ u=!p.jon]))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
2014-12-06 04:18:31 +03:00
|
|
|
|
++ ci :: maybe transform
|
2016-02-04 10:12:23 +03:00
|
|
|
|
|* {poq/$-(* *) wit/fist}
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
2014-12-06 04:18:31 +03:00
|
|
|
|
(biff (wit jon) poq)
|
|
|
|
|
::
|
2014-07-02 00:34:06 +04:00
|
|
|
|
++ cu :: transform
|
2016-02-04 10:12:23 +03:00
|
|
|
|
|* {poq/$-(* *) wit/fist}
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
2014-07-02 00:34:06 +04:00
|
|
|
|
(bind (wit jon) poq)
|
|
|
|
|
::
|
|
|
|
|
++ da :: UTC date
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$s *} jon) ~
|
|
|
|
|
(bind (stud p.jon) |=(a/date (year a)))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
2014-10-29 02:13:02 +03:00
|
|
|
|
++ di :: millisecond date
|
2016-01-03 12:22:57 +03:00
|
|
|
|
%+ cu
|
|
|
|
|
|= a/@u ^- @da
|
|
|
|
|
(add ~1970.1.1 (div (mul ~s1 a) 1.000))
|
|
|
|
|
ni
|
2014-10-29 02:13:02 +03:00
|
|
|
|
::
|
2014-07-02 00:34:06 +04:00
|
|
|
|
++ mu :: true unit
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wit/fist
|
|
|
|
|
|= jon/json
|
2014-10-29 04:31:16 +03:00
|
|
|
|
?~(jon (some ~) (bind (wit jon) some))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ ne :: number as real
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
|
|
|
|
^- (unit @rd)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
!!
|
|
|
|
|
::
|
|
|
|
|
++ ni :: number as integer
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$n *} jon) ~
|
2014-10-29 02:13:02 +03:00
|
|
|
|
(rush p.jon dem)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ no :: number as cord
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$n *} jon) ~
|
2014-07-02 00:34:06 +04:00
|
|
|
|
(some p.jon)
|
|
|
|
|
::
|
|
|
|
|
++ of :: object as frond
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wer/(pole {cord fist})
|
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$o {@ *} $~ $~} jon) ~
|
2014-07-02 00:34:06 +04:00
|
|
|
|
|-
|
|
|
|
|
?~ wer ~
|
2014-07-08 22:38:07 +04:00
|
|
|
|
?: =(-.-.wer p.n.p.jon)
|
|
|
|
|
((pe -.-.wer +.-.wer) q.n.p.jon)
|
|
|
|
|
((of +.wer) jon)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ ot :: object as tuple
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wer/(pole {cord fist})
|
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$o *} jon) ~
|
2014-07-09 11:37:47 +04:00
|
|
|
|
=+ raw=((ot-raw wer) p.jon)
|
2014-07-03 06:56:33 +04:00
|
|
|
|
?.((za raw) ~ (some (zp raw)))
|
|
|
|
|
::
|
|
|
|
|
++ ot-raw :: object as tuple
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wer/(pole {cord fist})
|
|
|
|
|
|= jom/(map @t json)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
?~ wer ~
|
2014-07-09 11:37:47 +04:00
|
|
|
|
=+ ten=(~(get by jom) -.-.wer)
|
|
|
|
|
[?~(ten ~ (+.-.wer u.ten)) ((ot-raw +.wer) jom)]
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ om :: object as map
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* wit/fist
|
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$o *} jon) ~
|
2014-10-29 23:59:01 +03:00
|
|
|
|
(zm (~(run by p.jon) wit))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
2015-01-08 04:49:57 +03:00
|
|
|
|
++ op :: parse keys of map
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* {fel/rule wit/fist}
|
2016-01-02 03:19:06 +03:00
|
|
|
|
%+ cu my
|
2015-01-08 04:49:57 +03:00
|
|
|
|
%- ci :_ (om wit)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/(map cord _(need *wit))
|
|
|
|
|
^- (unit (list _[(wonk *fel) (need *wit)]))
|
2015-01-08 04:49:57 +03:00
|
|
|
|
=- (zl (turn (~(tap by a)) -))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* {a/cord b/*}
|
2015-01-08 04:49:57 +03:00
|
|
|
|
=+ nit=(rush a fel)
|
|
|
|
|
?~ nit ~
|
|
|
|
|
(some [u.nit b])
|
|
|
|
|
::
|
2014-07-02 00:34:06 +04:00
|
|
|
|
++ pe :: prefix
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* {pre/* wit/fist}
|
2016-01-04 03:23:19 +03:00
|
|
|
|
(cu |*(* [pre +<]) wit)
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ sa :: string as tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
|
|
|
|
?.(?=({$s *} jon) ~ (some (trip p.jon)))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ so :: string as cord
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= jon/json
|
|
|
|
|
?.(?=({$s *} jon) ~ (some p.jon))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
|
|
|
|
++ su :: parse string
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* sab/rule
|
|
|
|
|
|= jon/json
|
|
|
|
|
?. ?=({$s *} jon) ~
|
2014-07-02 00:34:06 +04:00
|
|
|
|
(rush p.jon sab)
|
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ ul |=(jon/json ?~(jon (some ~) ~)) :: null
|
2014-07-03 06:56:33 +04:00
|
|
|
|
++ za :: full unit pole
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* pod/(pole (unit))
|
2014-07-03 06:56:33 +04:00
|
|
|
|
?~ pod &
|
|
|
|
|
?~ -.pod |
|
|
|
|
|
(za +.pod)
|
|
|
|
|
::
|
2014-07-02 00:34:06 +04:00
|
|
|
|
++ zl :: collapse unit list
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* lut/(list (unit))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
?. |- ^- ?
|
|
|
|
|
?~(lut & ?~(i.lut | $(lut t.lut)))
|
|
|
|
|
~
|
|
|
|
|
%- some
|
|
|
|
|
|-
|
|
|
|
|
?~ lut ~
|
2014-07-16 03:07:39 +04:00
|
|
|
|
[i=u:+.i.lut t=$(lut t.lut)]
|
2014-07-02 00:34:06 +04:00
|
|
|
|
::
|
2014-07-03 06:56:33 +04:00
|
|
|
|
++ zp :: unit tuple
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* but/(pole (unit))
|
2014-07-03 06:56:33 +04:00
|
|
|
|
?~ but !!
|
|
|
|
|
?~ +.but
|
|
|
|
|
u:->.but
|
|
|
|
|
[u:->.but (zp +.but)]
|
|
|
|
|
::
|
2014-07-02 00:34:06 +04:00
|
|
|
|
++ zm :: collapse unit map
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* lum/(map term (unit))
|
|
|
|
|
?: (~(rep by lum) |=({{@ a/(unit)} b/_|} |(b ?=($~ a))))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
~
|
2014-10-29 23:59:01 +03:00
|
|
|
|
(some (~(run by lum) need))
|
2014-07-02 00:34:06 +04:00
|
|
|
|
--
|
|
|
|
|
::
|
2014-10-29 23:59:01 +03:00
|
|
|
|
++ joba :: object from k-v pair
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {p/@t q/json}
|
2014-04-15 21:32:48 +04:00
|
|
|
|
^- json
|
|
|
|
|
[%o [[p q] ~ ~]]
|
|
|
|
|
::
|
2014-10-29 23:59:01 +03:00
|
|
|
|
++ jobe :: object from k-v list
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/(list {p/@t q/json})
|
2014-04-15 21:32:48 +04:00
|
|
|
|
^- json
|
2015-12-23 10:18:53 +03:00
|
|
|
|
[%o (~(gas by *(map @t json)) a)]
|
2014-04-15 21:32:48 +04:00
|
|
|
|
::
|
2014-10-29 23:59:01 +03:00
|
|
|
|
++ jape :: string from tape
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/tape
|
2014-07-12 22:24:52 +04:00
|
|
|
|
^- json
|
2014-04-16 04:49:11 +04:00
|
|
|
|
[%s (crip a)]
|
|
|
|
|
::
|
2014-10-29 23:59:01 +03:00
|
|
|
|
++ jone :: number from unsigned
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@u
|
2014-07-12 22:24:52 +04:00
|
|
|
|
^- json
|
2014-04-16 04:49:11 +04:00
|
|
|
|
:- %n
|
|
|
|
|
?: =(0 a) '0'
|
|
|
|
|
(crip (flop |-(^-(tape ?:(=(0 a) ~ [(add '0' (mod a 10)) $(a (div a 10))])))))
|
|
|
|
|
::
|
2015-01-11 11:00:36 +03:00
|
|
|
|
++ jode :: ms timestamp
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/time
|
2015-01-11 11:00:36 +03:00
|
|
|
|
=- (jone (div (mul - 1.000) ~s1))
|
|
|
|
|
(add (div ~s1 2.000) (sub a ~1970.1.1))
|
|
|
|
|
::
|
2014-04-16 04:49:11 +04:00
|
|
|
|
++ jesc
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ utf=|=(a/@ ['\\' 'u' ((x-co 4):co a)])
|
|
|
|
|
|= a/@ ^- tape
|
2015-04-17 02:22:30 +03:00
|
|
|
|
?+ a ?:((gth a 0x1f) [a ~] (utf a))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$10 "\\n"
|
|
|
|
|
$34 "\\\""
|
|
|
|
|
$92 "\\\\"
|
2014-08-11 22:51:48 +04:00
|
|
|
|
==
|
2014-03-23 01:42:25 +04:00
|
|
|
|
::
|
2014-08-13 03:16:30 +04:00
|
|
|
|
++ scanf :: formatted scan
|
2015-12-26 23:47:04 +03:00
|
|
|
|
|* {tape (pole _;/(*{$^(rule tape)}))}
|
2014-08-13 03:16:30 +04:00
|
|
|
|
=> .(+< [a b]=+<)
|
|
|
|
|
(scan a (parsf b))
|
|
|
|
|
++ parsf :: make parser from:
|
2015-12-26 23:47:04 +03:00
|
|
|
|
|^ |* a/(pole _;/(*{$^(rule tape)})) :: ;"chars{rule}chars"
|
2014-08-13 03:16:30 +04:00
|
|
|
|
%- cook :_ (bill (norm a))
|
|
|
|
|
|* (list)
|
|
|
|
|
?~ +< ~
|
|
|
|
|
?~ t i
|
|
|
|
|
[i $(+< t)]
|
2014-08-18 03:43:33 +04:00
|
|
|
|
::
|
2014-08-13 03:16:30 +04:00
|
|
|
|
:: .= (norm [;"{n}, {n}"]:n=dim:ag) ~[[& dim] [| ", "] [& dim]]:ag
|
|
|
|
|
++ norm
|
2015-12-26 23:47:04 +03:00
|
|
|
|
|* (pole _;/(*{$^(rule tape)}))
|
2014-08-13 03:16:30 +04:00
|
|
|
|
?~ +< ~
|
|
|
|
|
=> .(+< [i=+<- t=+<+])
|
|
|
|
|
:_ t=$(+< t)
|
|
|
|
|
=+ rul=->->.i
|
|
|
|
|
^= i
|
|
|
|
|
?~ rul [%| p=rul]
|
|
|
|
|
?~ +.rul [%| p=rul]
|
|
|
|
|
?@ &2.rul [%| p=;;(tape rul)]
|
|
|
|
|
[%& p=rul]
|
2014-08-18 03:43:33 +04:00
|
|
|
|
::
|
2014-08-13 03:16:30 +04:00
|
|
|
|
:: .= (bill ~[[& dim] [| ", "] [& dim]]:ag)
|
|
|
|
|
:: ;~(plug dim ;~(pfix com ace ;~(plug dim (easy)))):ag
|
|
|
|
|
++ bill
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* (list (each rule tape))
|
2014-08-13 03:16:30 +04:00
|
|
|
|
?~ +< (easy ~)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?: ?=($| -.i) ;~(pfix (jest (crip p.i)) $(+< t))
|
|
|
|
|
%+ cook |*({* *} [i t]=+<)
|
2014-08-13 03:16:30 +04:00
|
|
|
|
;~(plug p.i $(+< t))
|
|
|
|
|
--
|
|
|
|
|
::
|
2014-03-23 01:42:25 +04:00
|
|
|
|
++ taco :: atom to octstream
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= tam/@ ^- octs
|
2014-03-23 01:42:25 +04:00
|
|
|
|
[(met 3 tam) tam]
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
|
|
|
|
++ tact :: tape to octstream
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= tep/tape ^- octs
|
2014-03-23 01:42:25 +04:00
|
|
|
|
(taco (rap 3 tep))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-03-12 23:50:39 +04:00
|
|
|
|
++ tell :: wall to octstream
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= wol/wall ^- octs
|
|
|
|
|
=+ buf=(rap 3 (turn wol |=(a/tape (crip (weld a `tape`[`@`10 ~])))))
|
2014-03-12 23:50:39 +04:00
|
|
|
|
[(met 3 buf) buf]
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
2014-10-30 02:30:15 +03:00
|
|
|
|
:: section 3bF, filesystem interface ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-10-30 02:30:15 +03:00
|
|
|
|
++ feel :: simple file write
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {pax/path val/cage}
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- miso
|
2016-01-26 03:47:58 +03:00
|
|
|
|
=+ dir=.^(arch %cy pax)
|
2015-09-06 04:14:00 +03:00
|
|
|
|
?~ fil.dir [%ins val]
|
2015-06-09 23:55:07 +03:00
|
|
|
|
[%mut val]
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
|
|
|
|
++ file :: simple file load
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= pax/path
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- (unit)
|
2016-01-26 03:47:58 +03:00
|
|
|
|
=+ dir=.^(arch %cy pax)
|
|
|
|
|
?~(fil.dir ~ [~ .^(* %cx pax)])
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
|
|
|
|
++ foal :: high-level write
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {pax/path val/cage}
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- toro
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?> ?=({* * * *} pax)
|
2015-09-06 04:14:00 +03:00
|
|
|
|
[i.t.pax [%& [[[t.t.t.pax (feel pax val)] ~]]]]
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
|
|
|
|
++ fray :: high-level delete
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= pax/path
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- toro
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?> ?=({* * * *} pax)
|
2015-09-06 04:14:00 +03:00
|
|
|
|
[i.t.pax [%& [[[t.t.t.pax [%del ~]] ~]]]]
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
|
|
|
|
++ furl :: unify changes
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {one/toro two/toro}
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- toro
|
|
|
|
|
~| %furl
|
|
|
|
|
?> ?& =(p.one p.two) :: same path
|
2015-12-23 10:18:53 +03:00
|
|
|
|
&(?=($& -.q.one) ?=($& -.q.two)) :: both deltas
|
2014-10-30 02:30:15 +03:00
|
|
|
|
==
|
2015-09-06 04:14:00 +03:00
|
|
|
|
[p.one [%& (weld p.q.one p.q.two)]]
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
|
|
|
|
++ tame :: parse kite path
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= hap/path
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- (unit kite)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?. ?=({@ @ @ @ *} hap) ~
|
2014-10-30 02:30:15 +03:00
|
|
|
|
=+ :* hyr=(slay i.hap)
|
|
|
|
|
fal=(slay i.t.hap)
|
|
|
|
|
dyc=(slay i.t.t.hap)
|
|
|
|
|
ved=(slay i.t.t.t.hap)
|
|
|
|
|
:: ved=(slay i.t.hap)
|
|
|
|
|
:: fal=(slay i.t.t.hap)
|
|
|
|
|
:: dyc=(slay i.t.t.t.hap)
|
|
|
|
|
tyl=t.t.t.t.hap
|
|
|
|
|
==
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?. ?=({$~ $$ $tas @} hyr) ~
|
|
|
|
|
?. ?=({$~ $$ $p @} fal) ~
|
|
|
|
|
?. ?=({$~ $$ $tas @} dyc) ~
|
|
|
|
|
?. ?=({$~ $$ case} ved) ~
|
2014-10-30 02:30:15 +03:00
|
|
|
|
=+ his=`@p`q.p.u.fal
|
|
|
|
|
=+ [dis=(end 3 1 q.p.u.hyr) rem=(rsh 3 1 q.p.u.hyr)]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?. ?&(?=($c dis) ?=(?($v $w $x $y $z) rem)) ~
|
2014-10-30 02:30:15 +03:00
|
|
|
|
[~ rem p.u.ved q.p.u.fal q.p.u.dyc tyl]
|
|
|
|
|
::
|
|
|
|
|
++ tome :: parse path to beam
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= pax/path
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- (unit beam)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?. ?=({* * * *} pax) ~
|
2014-10-30 02:30:15 +03:00
|
|
|
|
%+ biff (slaw %p i.pax)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= who/ship
|
2014-10-30 02:30:15 +03:00
|
|
|
|
%+ biff (slaw %tas i.t.pax)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= dex/desk
|
2014-10-30 02:30:15 +03:00
|
|
|
|
%+ biff (slay i.t.t.pax)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= cis/coin
|
|
|
|
|
?. ?=({$$ case} cis) ~
|
2014-10-30 02:30:15 +03:00
|
|
|
|
`(unit beam)`[~ [who dex `case`p.cis] (flop t.t.t.pax)]
|
|
|
|
|
::
|
|
|
|
|
++ tope :: beam to path
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= bem/beam
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- path
|
|
|
|
|
[(scot %p p.bem) q.bem (scot r.bem) (flop s.bem)]
|
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
|
:: section 3bG, URL handling ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-11-01 02:45:09 +03:00
|
|
|
|
++ deft :: parse url extension
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= rax/(list @t)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
|- ^- pork
|
|
|
|
|
?~ rax
|
|
|
|
|
[~ ~]
|
2014-11-01 02:45:09 +03:00
|
|
|
|
?^ t.rax
|
2015-02-26 04:20:45 +03:00
|
|
|
|
[p.pok [ire q.pok]]:[pok=$(rax t.rax) ire=i.rax]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ ^- raf/(like term)
|
|
|
|
|
=> |=(a/@ ((sand %tas) (crip (flop (trip a)))))
|
2015-07-18 00:34:58 +03:00
|
|
|
|
(;~(sfix (sear . sym) dot) [1^1 (flop (trip i.rax))])
|
2015-02-10 01:15:34 +03:00
|
|
|
|
?~ q.raf
|
2014-11-01 02:45:09 +03:00
|
|
|
|
[~ [i.rax ~]]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ `{ext/term {@ @} fyl/tape}`u.q.raf
|
2015-07-18 00:34:58 +03:00
|
|
|
|
:- `ext
|
2015-03-18 00:21:21 +03:00
|
|
|
|
?:(=(~ fyl) ~ [(crip (flop fyl)) ~])
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-07-10 03:12:26 +04:00
|
|
|
|
++ fuel :: parse fcgi
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= {bem/beam ced/noun:cred quy/|-($@($~ {p/@t q/@t t/$}))}
|
2014-07-10 03:12:26 +04:00
|
|
|
|
^- epic
|
2016-01-05 04:15:58 +03:00
|
|
|
|
=+ qix=|-(`quay`?~(quy quy [[p q]:quy $(quy t.quy)]))
|
2016-02-10 22:03:28 +03:00
|
|
|
|
[(malt qix) ((hard cred) ced) bem /]
|
2014-03-20 05:05:42 +04:00
|
|
|
|
::
|
2014-10-30 02:30:15 +03:00
|
|
|
|
++ sifo :: 64-bit encode
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= tig/@
|
2014-10-30 02:30:15 +03:00
|
|
|
|
^- tape
|
2014-10-30 03:09:03 +03:00
|
|
|
|
=+ poc=(~(dif fo 3) 0 (met 3 tig))
|
2014-10-30 02:30:15 +03:00
|
|
|
|
=+ pad=(lsh 3 poc (swap 3 tig))
|
2014-10-30 03:09:03 +03:00
|
|
|
|
=+ ^= cha
|
|
|
|
|
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
2014-10-30 02:30:15 +03:00
|
|
|
|
=+ ^= sif
|
|
|
|
|
|- ^- tape
|
|
|
|
|
?~ pad
|
|
|
|
|
~
|
|
|
|
|
=+ d=(end 0 6 pad)
|
2014-11-03 10:49:09 +03:00
|
|
|
|
[(cut 3 [d 1] cha) $(pad (rsh 0 6 pad))]
|
2015-03-09 23:06:00 +03:00
|
|
|
|
(weld (flop (slag poc sif)) (reap poc '='))
|
|
|
|
|
::
|
2015-03-11 21:13:56 +03:00
|
|
|
|
++ ofis :: XX broken
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=- |=(a/cord (rash a fel))
|
2016-01-05 18:02:09 +03:00
|
|
|
|
=< fel=(cook |~(a/@ `@t`(swap 3 a)) (bass 64 .))
|
2015-06-23 04:27:57 +03:00
|
|
|
|
=- (cook welp ;~(plug (plus siw) (stun 0^2 (cold %0 tis))))
|
2015-03-09 23:06:00 +03:00
|
|
|
|
^= siw
|
|
|
|
|
;~ pose
|
2015-12-23 10:18:53 +03:00
|
|
|
|
(cook |=(a/@ (sub a 'A')) (shim 'A' 'Z'))
|
|
|
|
|
(cook |=(a/@ (sub a 'G')) (shim 'a' 'z'))
|
|
|
|
|
(cook |=(a/@ (add a 4)) (shim '0' '9'))
|
2015-03-11 21:13:56 +03:00
|
|
|
|
(cold 62 (just '+'))
|
|
|
|
|
(cold 63 (just '/'))
|
2015-03-09 23:06:00 +03:00
|
|
|
|
==
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
2015-03-28 05:19:20 +03:00
|
|
|
|
++ dray :: load tuple into path
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=- |* {a/{@tas (pole @tas)} b/*} ^- (paf a)
|
2016-01-03 12:22:57 +03:00
|
|
|
|
=> .(b `(tup -.a +.a)`b)
|
2015-03-28 05:19:20 +03:00
|
|
|
|
?~ +.a [(scot -.a b) ~]
|
|
|
|
|
[(scot -.a -.b) `(paf +.a)`(..$ +.a +.b)]
|
2015-12-23 10:18:53 +03:00
|
|
|
|
:- paf=|*(a/(pole) ?~(a $~ {(odo:raid -.a(. %ta)) (..$ +.a)}))
|
2016-01-03 12:22:57 +03:00
|
|
|
|
tup=|*({a/@tas b/(pole @tas)} =+(c=(odo:raid a) ?~(b c {c (..$ -.b +.b)})))
|
2015-03-28 05:19:20 +03:00
|
|
|
|
::
|
2015-03-12 02:25:07 +03:00
|
|
|
|
:: .= [p=%ack q=~sarnel r=&]
|
2016-02-11 03:41:28 +03:00
|
|
|
|
:: (raid /ack/~sarnel+.y p=%tas q=%p r=%f ~)
|
2015-03-12 02:25:07 +03:00
|
|
|
|
++ raid :: demand path odors
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=- |* {a/path b/{@tas (pole @tas)}}
|
2015-03-12 02:25:07 +03:00
|
|
|
|
?~ +.b `(odo -.b)`(slav -.b -.a)
|
|
|
|
|
[`(odo -.b)`(slav -.b -.a) (..$ +.a +.b)]
|
|
|
|
|
^= odo
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|* a/@tas
|
|
|
|
|
|= b/*
|
2015-03-12 02:25:07 +03:00
|
|
|
|
=< a(. (. b)) :: preserve face
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?+ a @
|
|
|
|
|
$c @c $da @da $dr @dr $f @f $if @if $is @is $p @p
|
|
|
|
|
$u @u $uc @uc $ub @ub $ui @ui $ux @ux $uv @uv $uw @uw
|
|
|
|
|
$s @s $t @t $ta @ta $tas @tas
|
2015-03-12 02:25:07 +03:00
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ read :: parse odored path
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=< |*({a/path b/{@tas (pole @tas)}} ((+> b) a))
|
|
|
|
|
|* b/{@tas (pole @tas)}
|
|
|
|
|
|= a/path
|
2015-03-12 02:25:07 +03:00
|
|
|
|
?~ a ~
|
|
|
|
|
=+ hed=(slaw -.b i.a)
|
|
|
|
|
?~ +.b
|
|
|
|
|
^- (unit (odo:raid -.b))
|
|
|
|
|
?^(+.a ~ hed)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
^- (unit {(odo:raid -.b) _(need *(..^$ +.b))})
|
2015-03-12 02:25:07 +03:00
|
|
|
|
(both hed ((..^$ +.b) +.a))
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::
|
2014-04-21 21:02:09 +04:00
|
|
|
|
++ urle :: URL encode
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= tep/tape
|
2014-04-21 21:02:09 +04:00
|
|
|
|
^- tape
|
2014-07-08 18:46:25 +04:00
|
|
|
|
%- zing
|
|
|
|
|
%+ turn tep
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= tap/char
|
|
|
|
|
=+ xen=|=(tig/@ ?:((gte tig 10) (add tig 55) (add tig '0')))
|
2014-07-08 18:46:25 +04:00
|
|
|
|
?: ?| &((gte tap 'a') (lte tap 'z'))
|
|
|
|
|
&((gte tap 'A') (lte tap 'Z'))
|
|
|
|
|
&((gte tap '0') (lte tap '9'))
|
|
|
|
|
=('.' tap)
|
|
|
|
|
=('-' tap)
|
|
|
|
|
=('~' tap)
|
|
|
|
|
=('_' tap)
|
2014-04-21 21:02:09 +04:00
|
|
|
|
==
|
2014-07-08 18:46:25 +04:00
|
|
|
|
[tap ~]
|
|
|
|
|
['%' (xen (rsh 0 4 tap)) (xen (end 0 4 tap)) ~]
|
2014-04-21 21:02:09 +04:00
|
|
|
|
::
|
|
|
|
|
++ urld :: URL decode
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= tep/tape
|
2014-04-21 21:02:09 +04:00
|
|
|
|
^- (unit tape)
|
|
|
|
|
?~ tep [~ ~]
|
|
|
|
|
?: =('%' i.tep)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
?. ?=({@ @ *} t.tep) ~
|
2014-04-21 21:02:09 +04:00
|
|
|
|
=+ nag=(mix i.t.tep (lsh 3 1 i.t.t.tep))
|
|
|
|
|
=+ val=(rush nag hex:ag)
|
|
|
|
|
?~ val ~
|
|
|
|
|
=+ nex=$(tep t.t.t.tep)
|
|
|
|
|
?~(nex ~ [~ [`@`u.val u.nex]])
|
|
|
|
|
=+ nex=$(tep t.tep)
|
|
|
|
|
?~(nex ~ [~ i.tep u.nex])
|
|
|
|
|
::
|
2015-06-02 21:36:56 +03:00
|
|
|
|
++ earf :: purf to tape
|
|
|
|
|
|= purf
|
|
|
|
|
(weld (earn p) ?~(q "" `tape`['#' (trip u.q)]))
|
|
|
|
|
::
|
2014-11-03 11:05:07 +03:00
|
|
|
|
++ earl :: localize purl
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {who/@p pul/purl}
|
2014-04-21 21:02:09 +04:00
|
|
|
|
^- purl
|
|
|
|
|
pul(q.q [(rsh 3 1 (scot %p who)) q.q.pul])
|
|
|
|
|
::
|
|
|
|
|
++ earn :: purl to tape
|
2015-12-29 01:01:44 +03:00
|
|
|
|
=< |=(pul/purl `tape`(apex %& pul))
|
2015-02-17 01:06:58 +03:00
|
|
|
|
|%
|
|
|
|
|
++ apex
|
2016-02-10 22:03:28 +03:00
|
|
|
|
|= qur/quri ^- tape
|
2015-02-17 01:06:58 +03:00
|
|
|
|
?- -.qur
|
2016-02-10 22:03:28 +03:00
|
|
|
|
$& (weld (head p.p.qur) `tape`$(qur [%| +.p.qur]))
|
|
|
|
|
$| ['/' (weld (body p.qur) (tail q.qur))]
|
2015-02-17 01:06:58 +03:00
|
|
|
|
==
|
2014-04-21 21:02:09 +04:00
|
|
|
|
::
|
|
|
|
|
++ body
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= pok/pork ^- tape
|
2014-11-03 11:28:58 +03:00
|
|
|
|
?~ q.pok ~
|
|
|
|
|
|-
|
2014-11-03 11:05:07 +03:00
|
|
|
|
=+ seg=(trip i.q.pok)
|
2014-11-03 11:28:58 +03:00
|
|
|
|
?~ t.q.pok
|
|
|
|
|
?~(p.pok seg (welp seg '.' (trip u.p.pok)))
|
|
|
|
|
(welp seg '/' $(q.pok t.q.pok))
|
2014-04-21 21:02:09 +04:00
|
|
|
|
::
|
|
|
|
|
++ head
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= har/hart
|
2014-04-21 21:02:09 +04:00
|
|
|
|
^- tape
|
|
|
|
|
;: weld
|
2015-01-15 04:47:51 +03:00
|
|
|
|
?:(&(p.har !?=(hoke r.har)) "https://" "http://")
|
2014-04-21 21:02:09 +04:00
|
|
|
|
::
|
2014-11-03 11:05:07 +03:00
|
|
|
|
?- -.r.har
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$| (trip (rsh 3 1 (scot %if p.r.har)))
|
|
|
|
|
$& =+ rit=(flop p.r.har)
|
|
|
|
|
|- ^- tape
|
|
|
|
|
?~(rit ~ (weld (trip i.rit) ?~(t.rit "" `tape`['.' $(rit t.rit)])))
|
2014-04-21 21:02:09 +04:00
|
|
|
|
==
|
|
|
|
|
::
|
2015-12-08 03:49:11 +03:00
|
|
|
|
?~(q.har ~ `tape`[':' ((d-co:co 1) u.q.har)])
|
2014-04-21 21:02:09 +04:00
|
|
|
|
==
|
|
|
|
|
::
|
|
|
|
|
++ tail
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= kay/quay
|
2014-04-21 21:02:09 +04:00
|
|
|
|
^- tape
|
2014-11-03 11:05:07 +03:00
|
|
|
|
?: =(~ kay) ~
|
2014-04-21 21:02:09 +04:00
|
|
|
|
:- '?'
|
|
|
|
|
|- ^- tape
|
2014-11-03 11:05:07 +03:00
|
|
|
|
?~ kay ~
|
2015-02-17 01:06:58 +03:00
|
|
|
|
;: welp
|
2014-11-03 11:28:58 +03:00
|
|
|
|
(urle (trip p.i.kay))
|
2015-02-17 01:06:58 +03:00
|
|
|
|
?~(q.i.kay ~ ['=' (urle (trip q.i.kay))])
|
2014-11-03 11:05:07 +03:00
|
|
|
|
?~(t.kay ~ `tape`['&' $(kay t.kay)])
|
2014-04-21 21:02:09 +04:00
|
|
|
|
==
|
|
|
|
|
--
|
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ urlp :: url+header parser
|
2013-09-29 00:21:18 +04:00
|
|
|
|
|%
|
2014-04-25 21:37:54 +04:00
|
|
|
|
++ apat :: 2396 abs_path
|
|
|
|
|
%+ cook deft
|
|
|
|
|
(ifix [fas ;~(pose fas (easy ~))] (more fas smeg))
|
2015-06-02 21:36:56 +03:00
|
|
|
|
++ aurf :: 2396 with fragment
|
2016-01-05 18:02:09 +03:00
|
|
|
|
%+ cook |~(a/purf a)
|
2015-06-02 21:36:56 +03:00
|
|
|
|
;~(plug auri (punt ;~(pfix hax (cook crip (star pque)))))
|
2014-11-04 23:32:09 +03:00
|
|
|
|
++ auri :: 2396 URL
|
2014-04-23 21:02:36 +04:00
|
|
|
|
%+ cook
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/purl
|
2015-01-15 04:47:51 +03:00
|
|
|
|
?.(?=(hoke r.p.a) a a(p.p &))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
;~ plug
|
|
|
|
|
;~ plug
|
|
|
|
|
%+ sear
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@t
|
|
|
|
|
^- (unit ?)
|
|
|
|
|
?+(a ~ $http [~ %|], $https [~ %&])
|
2013-09-29 00:21:18 +04:00
|
|
|
|
;~(sfix scem ;~(plug col fas fas))
|
|
|
|
|
thor
|
|
|
|
|
==
|
2014-03-03 02:31:03 +04:00
|
|
|
|
;~(plug ;~(pose apat (easy *pork)) yque)
|
2013-12-09 01:23:03 +04:00
|
|
|
|
==
|
2014-03-04 23:17:34 +04:00
|
|
|
|
++ cock :: cookie
|
2014-03-21 10:24:22 +04:00
|
|
|
|
(most ;~(plug sem ace) ;~(plug toke ;~(pfix tis tosk)))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ dlab :: 2396 domainlabel
|
|
|
|
|
%+ sear
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/@ta
|
2014-10-11 01:16:19 +04:00
|
|
|
|
?.(=('-' (rsh 3 (dec (met 3 a)) a)) [~ u=a] ~)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
%+ cook cass
|
|
|
|
|
;~(plug aln (star alp))
|
|
|
|
|
::
|
|
|
|
|
++ fque (cook crip (plus pquo)) :: normal query field
|
2014-04-25 21:37:54 +04:00
|
|
|
|
++ fquu (cook crip (star pquo)) :: optional field
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ pcar ;~(pose pure pesc psub col pat) :: 2396 path char
|
2014-11-04 23:32:09 +03:00
|
|
|
|
++ pcok ;~(less bas sem com doq prn) :: cookie char
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ pesc ;~(pfix cen mes) :: 2396 escaped
|
|
|
|
|
++ pold (cold ' ' (just '+')) :: old space code
|
|
|
|
|
++ pque ;~(pose pcar fas wut) :: 3986 query char
|
2015-02-17 01:06:58 +03:00
|
|
|
|
++ pquo ;~(pose pure pesc pold fas wut) :: normal query char
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ pure ;~(pose aln hep dot cab sig) :: 2396 unreserved
|
|
|
|
|
++ psub ;~ pose :: 3986 sub-delims
|
2013-12-09 01:23:03 +04:00
|
|
|
|
zap buc pam soq pel per
|
2013-09-29 00:21:18 +04:00
|
|
|
|
tar lus com sem tis
|
|
|
|
|
==
|
2014-03-04 23:17:34 +04:00
|
|
|
|
++ ptok ;~ pose :: 2616 token
|
2014-04-07 21:16:57 +04:00
|
|
|
|
aln zap hax buc cen pam soq tar lus
|
2014-03-20 05:05:42 +04:00
|
|
|
|
hep dot ket cab tec bar sig
|
2014-03-04 23:17:34 +04:00
|
|
|
|
==
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ scem :: 2396 scheme
|
|
|
|
|
%+ cook cass
|
|
|
|
|
;~(plug alf (star ;~(pose aln lus hep dot)))
|
|
|
|
|
::
|
|
|
|
|
++ smeg (cook crip (plus pcar)) :: 2396 segment
|
2014-03-04 23:17:34 +04:00
|
|
|
|
++ tock (cook crip (plus pcok)) :: 6265 cookie-value
|
|
|
|
|
++ tosk ;~(pose tock (ifix [doq doq] tock)) :: 6265 cookie-value
|
|
|
|
|
++ toke (cook crip (plus ptok)) :: 2616 token
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ thor :: 2396 host+port
|
2016-01-03 09:20:24 +03:00
|
|
|
|
%+ cook |*({* *} [+<+ +<-])
|
2013-09-29 00:21:18 +04:00
|
|
|
|
;~ plug
|
|
|
|
|
thos
|
2014-11-01 02:45:09 +03:00
|
|
|
|
;~((bend) (easy ~) ;~(pfix col dim:ag))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
==
|
|
|
|
|
++ thos :: 2396 host, no local
|
|
|
|
|
;~ plug
|
|
|
|
|
;~ pose
|
|
|
|
|
%+ stag %&
|
|
|
|
|
%+ sear :: LL parser weak here
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/(list @t)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ b=(flop a)
|
|
|
|
|
?> ?=(^ b)
|
|
|
|
|
=+ c=(end 3 1 i.b)
|
|
|
|
|
?.(&((gte c 'a') (lte c 'z')) ~ [~ u=b])
|
|
|
|
|
(most dot dlab)
|
|
|
|
|
::
|
|
|
|
|
%+ stag %|
|
2013-12-09 01:23:03 +04:00
|
|
|
|
=+ tod=(ape:ag ted:ab)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
%+ bass 256
|
|
|
|
|
;~(plug tod (stun [3 3] ;~(pfix dot tod)))
|
|
|
|
|
==
|
|
|
|
|
==
|
|
|
|
|
++ yque :: query ending
|
|
|
|
|
;~ pose
|
|
|
|
|
;~(pfix wut yquy)
|
|
|
|
|
(easy ~)
|
|
|
|
|
==
|
|
|
|
|
++ yquy :: query
|
|
|
|
|
;~ pose :: proper query
|
|
|
|
|
%+ more
|
|
|
|
|
;~(pose pam sem)
|
2014-05-15 03:07:51 +04:00
|
|
|
|
;~(plug fque ;~(pose ;~(pfix tis fquu) (easy '')))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
|
|
|
|
%+ cook :: funky query
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|=(a/tape [[%$ (crip a)] ~])
|
2013-09-29 00:21:18 +04:00
|
|
|
|
(star pque)
|
|
|
|
|
==
|
|
|
|
|
++ zest :: 2616 request-uri
|
|
|
|
|
;~ pose
|
2015-12-23 10:18:53 +03:00
|
|
|
|
(stag %& (cook |=(a/purl a) auri))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
(stag %| ;~(plug apat yque))
|
|
|
|
|
==
|
|
|
|
|
--
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ epur :: url+header parser
|
|
|
|
|
=>(urlp |=(a/cord `(unit purl)`(rush a auri)))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-10-30 02:30:15 +03:00
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
|
:: section 3bH, names etc ::
|
2014-03-06 01:42:47 +04:00
|
|
|
|
::
|
2014-10-30 02:30:15 +03:00
|
|
|
|
++ clan :: ship to rank
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= who/ship ^- rank
|
2014-10-30 02:30:15 +03:00
|
|
|
|
=+ wid=(met 3 who)
|
|
|
|
|
?: (lte wid 1) %czar
|
|
|
|
|
?: =(2 wid) %king
|
|
|
|
|
?: (lte wid 4) %duke
|
|
|
|
|
?: (lte wid 8) %earl
|
|
|
|
|
?> (lte wid 16) %pawn
|
2014-03-06 01:42:47 +04:00
|
|
|
|
::
|
2014-10-30 03:09:03 +03:00
|
|
|
|
++ glam :: carrier names
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= zar/@pD ^- tape
|
|
|
|
|
(weld "galaxy " (scow %p zar))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-10-30 02:30:15 +03:00
|
|
|
|
++ gnom :: ship display name
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {{our/@p now/@da} him/@p} ^- @t
|
2014-10-30 02:30:15 +03:00
|
|
|
|
=+ yow=(scot %p him)
|
|
|
|
|
=+ pax=[(scot %p our) %name (scot %da now) yow ~]
|
2016-01-26 03:47:58 +03:00
|
|
|
|
=+ woy=.^(@t %a pax)
|
2014-10-30 02:30:15 +03:00
|
|
|
|
?: =(%$ woy) yow
|
|
|
|
|
(rap 3 yow ' ' woy ~)
|
|
|
|
|
::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ gnow
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {who/@p gos/gcos} ^- @t
|
2013-09-29 00:21:18 +04:00
|
|
|
|
?- -.gos
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$czar (rap 3 '|' (rap 3 (glam who)) '|' ~)
|
|
|
|
|
$king (rap 3 '_' p.gos '_' ~)
|
|
|
|
|
$earl (rap 3 ':' p.gos ':' ~)
|
|
|
|
|
$pawn ?~(p.gos %$ (rap 3 '.' u.p.gos '.' ~))
|
|
|
|
|
$duke
|
|
|
|
|
?: ?=($anon -.p.gos) %$
|
2013-09-29 00:21:18 +04:00
|
|
|
|
%+ rap 3
|
2015-12-23 10:18:53 +03:00
|
|
|
|
^- (list @)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
?- -.p.gos
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$punk ~['"' q.p.gos '"']
|
|
|
|
|
?($lord $lady)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ ^= nad
|
|
|
|
|
=+ nam=`name`s.p.p.gos
|
|
|
|
|
%+ rap 3
|
|
|
|
|
:~ p.nam
|
|
|
|
|
?~(q.nam 0 (cat 3 ' ' u.q.nam))
|
|
|
|
|
?~(r.nam 0 (rap 3 ' (' u.r.nam ')' ~))
|
|
|
|
|
' '
|
|
|
|
|
s.nam
|
|
|
|
|
==
|
|
|
|
|
?:(=(%lord -.p.gos) ~['[' nad ']'] ~['(' nad ')'])
|
|
|
|
|
==
|
|
|
|
|
==
|
2015-05-28 06:48:25 +03:00
|
|
|
|
++ pale :: filter peers
|
2016-02-04 10:12:23 +03:00
|
|
|
|
|= {hid/bowl fun/$-(sink ?)}
|
2015-05-28 06:48:25 +03:00
|
|
|
|
(skim (~(tap by sup.hid)) fun)
|
|
|
|
|
::
|
|
|
|
|
++ prix :: filter gate
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= pax/path |= sink ^- ?
|
2015-05-28 06:48:25 +03:00
|
|
|
|
?~ pax & ?~ r.+< |
|
|
|
|
|
&(=(i.pax i.r.+<) $(pax t.pax, r.+< t.r.+<))
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ prey |=({pax/path hid/bowl} (pale hid (prix pax))) :: prefix
|
2014-07-02 02:51:42 +04:00
|
|
|
|
++ hunt :: first of unit dates
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= {one/(unit @da) two/(unit @da)}
|
|
|
|
|
^- (unit @da)
|
2013-09-29 00:21:18 +04:00
|
|
|
|
?~ one two
|
|
|
|
|
?~ two one
|
|
|
|
|
?:((lth u.one u.two) one two)
|
|
|
|
|
::
|
2014-05-07 21:42:31 +04:00
|
|
|
|
++ mole :: new to old sky
|
2016-02-04 10:12:23 +03:00
|
|
|
|
|= ska/$-(* (unit (unit)))
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= a/*
|
|
|
|
|
^- (unit)
|
|
|
|
|
=+ b=(ska a)
|
|
|
|
|
?~ b ~
|
|
|
|
|
?~ u.b ~
|
|
|
|
|
[~ u.u.b]
|
2016-01-07 10:08:09 +03:00
|
|
|
|
::
|
2016-02-03 01:13:21 +03:00
|
|
|
|
++ myle :: new to old sky
|
2016-02-04 10:12:23 +03:00
|
|
|
|
|= ska/$-({* *} (unit (unit)))
|
|
|
|
|
^- $-({* *} (unit))
|
2016-02-03 01:13:21 +03:00
|
|
|
|
|= a/{* *}
|
2014-05-07 21:42:31 +04:00
|
|
|
|
^- (unit)
|
|
|
|
|
=+ b=(ska a)
|
|
|
|
|
?~ b ~
|
|
|
|
|
?~ u.b ~
|
|
|
|
|
[~ u.u.b]
|
2016-02-03 01:13:21 +03:00
|
|
|
|
::
|
2015-01-14 08:38:39 +03:00
|
|
|
|
++ pack :: light path encoding
|
2015-12-26 12:37:06 +03:00
|
|
|
|
|= {a/term b/path} ^- knot
|
2015-01-14 08:38:39 +03:00
|
|
|
|
%+ rap 3 :- (wack a)
|
2015-12-26 12:37:06 +03:00
|
|
|
|
(turn b |=(c/knot (cat 3 '_' (wack c))))
|
2015-01-14 08:38:39 +03:00
|
|
|
|
::
|
2015-05-09 04:08:18 +03:00
|
|
|
|
++ puck :: light path decoding
|
2015-01-26 22:15:35 +03:00
|
|
|
|
=+ fel=(most cab (sear wick urt:ab))
|
2015-12-26 12:37:06 +03:00
|
|
|
|
|=(a/knot `(unit {p/term q/path})`(rush a fel))
|
2015-02-27 09:35:41 +03:00
|
|
|
|
::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ saxo :: autocanon
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= who/ship
|
2013-09-29 00:21:18 +04:00
|
|
|
|
^- (list ship)
|
|
|
|
|
?: (lth who 256) [who ~]
|
|
|
|
|
[who $(who (sein who))]
|
|
|
|
|
::
|
2014-03-12 23:50:39 +04:00
|
|
|
|
++ sein :: autoboss
|
2015-12-23 10:18:53 +03:00
|
|
|
|
|= who/ship ^- ship
|
2013-09-29 00:21:18 +04:00
|
|
|
|
=+ mir=(clan who)
|
|
|
|
|
?- mir
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$czar who
|
|
|
|
|
$king (end 3 1 who)
|
|
|
|
|
$duke (end 4 1 who)
|
|
|
|
|
$earl (end 5 1 who)
|
|
|
|
|
$pawn `@p`0
|
2013-09-29 00:21:18 +04:00
|
|
|
|
==
|
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
2015-05-10 01:55:05 +03:00
|
|
|
|
:: section 3bI, Arvo structures ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
::
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ acru :: asym cryptosuite
|
|
|
|
|
$_ ^? |% :: opaque object
|
|
|
|
|
++ as ^? :: asym ops
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|% ++ seal |~({a/pass b/@ c/@} *@) :: encrypt to a
|
|
|
|
|
++ sign |~({a/@ b/@} *@) :: certify as us
|
|
|
|
|
++ sure |~({a/@ b/@} *(unit @)) :: authenticate from us
|
|
|
|
|
++ tear |~ {a/pass b/@} :: accept from a
|
2015-12-23 10:18:53 +03:00
|
|
|
|
*(unit {p/@ q/@}) ::
|
2014-07-26 04:29:01 +04:00
|
|
|
|
-- ::
|
2016-01-05 18:02:09 +03:00
|
|
|
|
++ de |~({a/@ b/@} *(unit @)) :: symmetric de, soft
|
|
|
|
|
++ dy |~({a/@ b/@} *@) :: symmetric de, hard
|
|
|
|
|
++ en |~({a/@ b/@} *@) :: symmetric en
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ ex ^? :: export
|
2014-10-31 06:13:40 +03:00
|
|
|
|
|% ++ fig *@uvH :: fingerprint
|
|
|
|
|
++ pac *@uvG :: default passcode
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ pub *pass :: public key
|
|
|
|
|
++ sec *ring :: private key
|
2014-09-09 04:21:40 +04:00
|
|
|
|
-- ::
|
2014-04-08 06:31:37 +04:00
|
|
|
|
++ nu ^? :: reconstructors
|
2016-01-05 18:02:09 +03:00
|
|
|
|
|% ++ pit |~({a/@ b/@} ^?(..nu)) :: from [width seed]
|
|
|
|
|
++ nol |~(a/@ ^?(..nu)) :: from naked ring
|
|
|
|
|
++ com |~(a/@ ^?(..nu)) :: from naked pass
|
2015-12-25 00:14:59 +03:00
|
|
|
|
-- ::
|
2014-09-09 04:21:40 +04:00
|
|
|
|
-- ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ aeon @ud ::
|
|
|
|
|
++ agon (map {p/ship q/desk} {p/@ud q/@ud r/waks}) :: mergepts
|
2013-10-12 23:38:08 +04:00
|
|
|
|
++ ankh :: fs node (new)
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: fil/(unit {p/lobe q/cage}) :: file
|
|
|
|
|
dir/(map @ta ankh) :: folders
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ apex {p/@uvI q/(map @ta @uvI) r/(map @ta $~)} :: node report (old)
|
|
|
|
|
++ ares (unit {p/term q/(list tank)}) :: possible error
|
|
|
|
|
++ ball @uw :: statement payload
|
|
|
|
|
++ bait {p/skin q/@ud r/dove} :: fmt nrecvd spec
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ bath :: convo per client
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: sop/shed :: not stalled
|
|
|
|
|
raz/(map path race) :: statements inbound
|
|
|
|
|
ryl/(map path rill) :: statements outbound
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ beam {{p/ship q/desk r/case} s/path} :: global name
|
|
|
|
|
++ beak {p/ship q/desk r/case} :: garnish with beak
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ bird :: packet in travel
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: gom/soap :: message identity
|
|
|
|
|
mup/@ud :: pktno in msg
|
|
|
|
|
nux/@ud :: xmission count
|
|
|
|
|
lys/@da :: last sent
|
|
|
|
|
pac/rock :: packet data
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-05-28 10:56:08 +03:00
|
|
|
|
++ bitt (map bone (pair ship path)) :: incoming subs
|
2015-03-04 04:05:41 +03:00
|
|
|
|
++ blob :: fs blob
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$delta p/lobe q/{p/mark q/lobe} r/page} :: delta on q
|
|
|
|
|
{$direct p/lobe q/page} :: immediate
|
2014-07-17 19:40:52 +04:00
|
|
|
|
== ::
|
2015-05-28 05:00:53 +03:00
|
|
|
|
++ boat (map (pair bone wire) (trel bean ship path)) :: outgoing subs
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ boon :: fort output
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$beer p/ship q/@uvG} :: gained ownership
|
|
|
|
|
{$cake p/sock q/soap r/coop s/duct} :: e2e message result
|
|
|
|
|
{$coke p/sock q/soap r/cape s/duct} :: message result
|
|
|
|
|
{$mead p/lane q/rock} :: accept packet
|
|
|
|
|
{$milk p/sock q/soap r/*} :: accept message
|
|
|
|
|
{$mulk p/sock q/soap r/*} :: e2e pass message
|
|
|
|
|
{$ouzo p/lane q/rock} :: transmit packet
|
|
|
|
|
{$wine p/sock q/tape} :: notify user
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-05-28 05:00:53 +03:00
|
|
|
|
++ bowl :: standard app state
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: $: our/ship :: host
|
|
|
|
|
src/ship :: guest
|
|
|
|
|
dap/term :: agent
|
2015-05-28 05:00:53 +03:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: wex/boat :: outgoing subs
|
|
|
|
|
sup/bitt :: incoming subs
|
2015-05-28 05:00:53 +03:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: ost/bone :: opaque cause
|
|
|
|
|
act/@ud :: change number
|
|
|
|
|
eny/@uvI :: entropy
|
|
|
|
|
now/@da :: current time
|
|
|
|
|
byk/beak :: load source
|
2015-05-28 05:00:53 +03:00
|
|
|
|
== == ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ bray {p/life q/(unit life) r/ship s/@da} :: our parent us now
|
|
|
|
|
++ brow {p/@da q/@tas} :: browser version
|
|
|
|
|
++ buck {p/mace q/will} :: all security data
|
|
|
|
|
++ cake {p/sock q/skin r/@} :: top level packet
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ cape :: end-to-end result
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$? $good :: delivered
|
|
|
|
|
$dead :: rejected
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ care ?($u $v $w $x $y $z) :: clay submode
|
2014-05-02 03:33:15 +04:00
|
|
|
|
++ case :: ship desk case spur
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$da p/@da} :: date
|
|
|
|
|
{$tas p/@tas} :: label
|
|
|
|
|
{$ud p/@ud} :: number
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ chum @uvI :: hashed passcode
|
2014-06-19 22:53:16 +04:00
|
|
|
|
++ clot :: symmetric record
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: yed/(unit {p/hand q/code}) :: outbound
|
|
|
|
|
heg/(map hand code) :: proposed
|
|
|
|
|
qim/(map hand code) :: inbound
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ coal * :: untyped vase
|
|
|
|
|
++ code @uvI :: symmetric key
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ cone :: reconfiguration
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/twig} :: transform
|
|
|
|
|
{$| p/(list @tas)} :: alter
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ chum @uvI :: hashed passcode
|
2014-07-29 02:46:03 +04:00
|
|
|
|
++ claw :: startup chain
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: joy/(unit coal) :: local context
|
|
|
|
|
ran/(unit coal) :: arguments
|
|
|
|
|
pux/(unit path) :: execution path
|
|
|
|
|
jiv/(unit coal) :: app configuration
|
|
|
|
|
kyq/(unit coal) :: app customization
|
|
|
|
|
gam/(unit coal) :: app image
|
|
|
|
|
== ::
|
|
|
|
|
++ clip (each @if @is) :: client IP
|
|
|
|
|
++ coal * :: untyped vase
|
|
|
|
|
++ code @uvI :: symmetric key
|
2014-07-23 22:25:53 +04:00
|
|
|
|
++ cone :: reconfiguration
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/twig} :: transform
|
|
|
|
|
{$| p/(list @tas)} :: alter
|
2014-07-23 22:25:53 +04:00
|
|
|
|
== ::
|
2014-07-24 06:02:50 +04:00
|
|
|
|
++ coop (unit ares) :: e2e ack
|
2014-07-23 22:25:53 +04:00
|
|
|
|
++ corn :: flow by server
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: hen/duct :: admin channel
|
|
|
|
|
nys/(map flap bait) :: packets incoming
|
|
|
|
|
olz/(map flap cape) :: packets completed
|
|
|
|
|
wab/(map ship bath) :: relationship
|
2014-07-23 22:25:53 +04:00
|
|
|
|
== ::
|
2014-03-20 05:05:42 +04:00
|
|
|
|
++ cred :: credential
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: hut/hart :: client host
|
|
|
|
|
aut/(jug @tas @t) :: client identities
|
|
|
|
|
orx/oryx :: CSRF secret
|
|
|
|
|
acl/(unit @t) :: accept-language
|
|
|
|
|
cip/(each @if @is) :: client IP
|
|
|
|
|
cum/(map @tas *) :: custom dirt
|
|
|
|
|
== ::
|
|
|
|
|
++ deed {p/@ q/step r/?} :: sig stage fake?
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ dome :: project state
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: ank/ankh :: state
|
|
|
|
|
let/@ud :: top id
|
|
|
|
|
hit/(map @ud tako) :: changes by id
|
|
|
|
|
lab/(map @tas @ud) :: labels
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2014-07-21 07:15:02 +04:00
|
|
|
|
++ dore :: foreign contact
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: wod/road :: connection to
|
|
|
|
|
wyl/will :: inferred mirror
|
|
|
|
|
caq/clot :: symmetric key state
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ dove {p/@ud q/(map @ud @)} :: count hash 13-blocks
|
2014-03-26 04:48:22 +04:00
|
|
|
|
++ epic :: FCGI parameters
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: qix/(map @t @t) :: query
|
|
|
|
|
ced/cred :: client credentials
|
|
|
|
|
bem/beam :: original path
|
|
|
|
|
but/path :: ending
|
2014-03-26 04:48:22 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ flap @uvH :: network packet id
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ flow :: packet connection
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: rtt/@dr :: decaying avg rtt
|
|
|
|
|
wid/@ud :: logical wdow msgs
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2014-06-27 08:02:05 +04:00
|
|
|
|
++ fort :: formal state
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: $0 :: version
|
|
|
|
|
gad/duct :: client interface
|
|
|
|
|
hop/@da :: network boot date
|
|
|
|
|
ton/town :: security
|
|
|
|
|
zac/(map ship corn) :: flows by server
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2014-03-12 23:50:39 +04:00
|
|
|
|
++ gank (each vase (list tank)) :: abstract result
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ gilt {@tas *} :: presumed gift
|
|
|
|
|
++ gens {p/lang q/gcos} :: general identity
|
2015-09-11 03:25:27 +03:00
|
|
|
|
++ germ :: merge style
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$? $init :: new desk
|
|
|
|
|
$this :: ours with parents
|
|
|
|
|
$that :: hers with parents
|
|
|
|
|
$fine :: fast forward
|
|
|
|
|
$meet :: orthogonal files
|
|
|
|
|
$mate :: orthogonal changes
|
|
|
|
|
$meld :: force merge
|
2015-09-11 03:25:27 +03:00
|
|
|
|
== ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ gcos :: id description
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$czar $~} :: 8-bit ship
|
|
|
|
|
{$duke p/what} :: 32-bit ship
|
|
|
|
|
{$earl p/@t} :: 64-bit ship
|
|
|
|
|
{$king p/@t} :: 16-bit ship
|
|
|
|
|
{$pawn p/(unit @t)} :: 128-bit ship
|
|
|
|
|
== ::
|
|
|
|
|
++ govt path :: country+postcode
|
|
|
|
|
++ hand @uvH :: hash of code
|
|
|
|
|
++ hart {p/? q/(unit @ud) r/host} :: http sec+port+host
|
|
|
|
|
++ hate {p/purl q/@p r/moth} :: semi-cooked request
|
|
|
|
|
++ heir {p/@ud q/mess r/(unit love)} :: status+headers+data
|
|
|
|
|
++ hiss {p/purl q/moth} :: outbound request
|
|
|
|
|
++ hist {p/@ud q/(list @t)} :: depth texts
|
|
|
|
|
++ hole @t :: session identity
|
|
|
|
|
++ hort {p/(unit @ud) q/host} :: http port+host
|
|
|
|
|
++ host (each (list @t) @if) :: http host
|
|
|
|
|
++ hoke %+ each {$localhost $~} :: local host
|
|
|
|
|
?($.0.0.0.0 $.127.0.0.1) ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ httq :: raw http request
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: p/meth :: method
|
|
|
|
|
q/@t :: unparsed url
|
|
|
|
|
r/(list {p/@t q/@t}) :: headers
|
|
|
|
|
s/(unit octs) :: body
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ httr {p/@ud q/mess r/(unit octs)} :: raw http response
|
2014-03-22 01:46:14 +04:00
|
|
|
|
++ httx :: encapsulated http
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: p/? :: https?
|
|
|
|
|
q/clip :: source IP
|
|
|
|
|
r/httq ::
|
2014-03-22 01:46:14 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ kite {p/care q/case r/ship s/desk t/spur} :: parsed global name
|
2014-06-19 07:27:36 +04:00
|
|
|
|
++ json :: normal json value
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$@ $~ :: null
|
|
|
|
|
$% {$a p/(list json)} :: array
|
|
|
|
|
{$b p/?} :: boolean
|
|
|
|
|
{$o p/(map @t json)} :: object
|
|
|
|
|
{$n p/@ta} :: number
|
|
|
|
|
{$s p/@t} :: string
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
++ lamb :: short path
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/@tas} :: auto
|
|
|
|
|
{$| p/twig} :: manual
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
++ lane :: packet route
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$if p/@da q/@ud r/@if} :: IP4/public UDP/addr
|
|
|
|
|
{$is p/@ud q/(unit lane) r/@is} :: IPv6 w+alternates
|
|
|
|
|
{$ix p/@da q/@ud r/@if} :: IPv4 provisional
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ lang @ta :: IETF lang as code
|
|
|
|
|
++ lark {p/(unit @tas) q/lawn} :: parsed command
|
|
|
|
|
++ lass ?($0 $1 $2) :: power increment
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ lath $% :: pipeline stage
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$0 p/lass q/lamb r/(list cone) s/twig} :: command
|
|
|
|
|
{$1 p/twig} :: generator
|
|
|
|
|
{$2 p/twig} :: filter
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
++ lawn (list lath) ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ lice {p/ship q/buck} :: full license
|
|
|
|
|
++ life @ud :: regime number
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ lint (list rock) :: fragment array
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ lobe @uvI :: blob ref
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ love $% :: http response
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$ham p/manx} :: html node
|
|
|
|
|
{$mid p/mite q/octs} :: mime-typed data
|
|
|
|
|
{$raw p/httr} :: raw http response
|
|
|
|
|
{$wan p/wain} :: text lines
|
|
|
|
|
{$zap p/@ud q/(list tank)} :: status+error
|
|
|
|
|
== ::
|
|
|
|
|
++ maki {p/@ta q/@ta r/@ta s/path} ::
|
|
|
|
|
++ mace (list {p/life q/ring}) :: private secrets
|
|
|
|
|
++ math (map @t (list @t)) :: semiparsed headers
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ meal :: payload
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$back p/cape q/flap r/@dr} :: acknowledgment
|
|
|
|
|
{$buck p/coop q/flap r/@dr} :: e2e ack
|
|
|
|
|
{$bond p/life q/path r/@ud s/*} :: message
|
|
|
|
|
{$bund p/life q/path r/@ud s/*} :: e2e message
|
|
|
|
|
{$carp p/@ q/@ud r/@ud s/flap t/@} :: skin+inx+cnt+hash
|
|
|
|
|
{$fore p/ship q/(unit lane) r/@} :: forwarded packet
|
|
|
|
|
== ::
|
|
|
|
|
++ mess (list {p/@t q/@t}) :: raw http headers
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ meta :: path metadata
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& q/@uvI} :: hash
|
|
|
|
|
{$| q/(list @ta)} :: dir
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2014-03-12 23:50:39 +04:00
|
|
|
|
++ meth :: http methods
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$? $conn :: CONNECT
|
|
|
|
|
$delt :: DELETE
|
|
|
|
|
$get :: GET
|
|
|
|
|
$head :: HEAD
|
|
|
|
|
$opts :: OPTIONS
|
|
|
|
|
$post :: POST
|
|
|
|
|
$put :: PUT
|
|
|
|
|
$trac :: TRACE
|
|
|
|
|
== ::
|
|
|
|
|
++ mime {p/mite q/octs} :: mimetyped data
|
|
|
|
|
++ mite (list @ta) :: mime type
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ miso :: ankh delta
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$del $~} :: delete
|
|
|
|
|
{$ins p/cage} :: insert
|
|
|
|
|
{$dif p/cage} :: mutate from diff
|
|
|
|
|
{$mut p/cage} :: mutate from raw
|
2015-02-27 09:35:41 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ misu :: computed delta
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$del $~} :: delete
|
|
|
|
|
{$ins p/cage} :: insert
|
|
|
|
|
{$dif p/lobe q/cage} :: mutate from diff
|
|
|
|
|
== ::
|
|
|
|
|
++ mizu {p/@u q/(map @ud tako) r/rang} :: new state
|
|
|
|
|
++ moar {p/@ud q/@ud} :: normal change range
|
|
|
|
|
++ moat {p/case q/case r/path} :: change range
|
|
|
|
|
++ mood {p/care q/case r/path} :: request in desk
|
|
|
|
|
++ moth {p/meth q/math r/(unit octs)} :: http operation
|
|
|
|
|
++ name {p/@t q/(unit @t) r/(unit @t) s/@t} :: first mid+nick last
|
|
|
|
|
++ newt ?($boot $kick $mess $slay $wake) :: lifecycle events
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ nori :: repository action
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/soba} :: delta
|
|
|
|
|
{$| p/@tas} :: label
|
2015-02-27 09:35:41 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ nuri :: repository action
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/suba} :: delta
|
|
|
|
|
{$| p/@tas} :: label
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ octs {p/@ud q/@t} :: octet-stream
|
|
|
|
|
++ oryx @t :: CSRF secret
|
2016-02-15 15:47:41 +03:00
|
|
|
|
++ page (cask *) :: untyped cage
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ pail ?($none $warm $cold) :: connection status
|
|
|
|
|
++ plan (trel view (pair @da (unit @dr)) path) :: subscription
|
|
|
|
|
++ plea {p/@ud q/{p/? q/@t}} :: live prompt
|
2015-03-11 00:11:48 +03:00
|
|
|
|
++ plop blob :: unvalidated blob
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ pork {p/(unit @ta) q/(list @t)} :: fully parsed url
|
|
|
|
|
++ pred {p/@ta q/@tas r/@ta $~} :: proto-path
|
|
|
|
|
++ prod {p/prom q/tape r/tape} :: prompt
|
|
|
|
|
++ prom ?($text $pass $none) :: format type
|
|
|
|
|
++ purf (pair purl (unit @t)) :: url with fragment
|
|
|
|
|
++ purl {p/hart q/pork r/quay} :: parsed url
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ putt :: outgoing message
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: ski/snow :: sequence acked+sent
|
|
|
|
|
wyv/(list rock) :: packet list XX gear
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
++ pyre :: cascade stash
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: p/(map {p/path q/path r/coal} coal) :: by path
|
|
|
|
|
q/(map {p/path q/@uvI r/coal} coal) :: by source hash
|
|
|
|
|
r/(map {p/* q/coal} coal) :: by (soft) twig
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ quay (list {p/@t q/@t}) :: parsed url query
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ quri :: request-uri
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/purl} :: absolute
|
|
|
|
|
{$| p/pork q/quay} :: relative
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
++ race :: inbound stream
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: did/@ud :: filled sequence
|
|
|
|
|
dod/? :: not processing
|
|
|
|
|
bum/(map @ud ares) :: nacks
|
|
|
|
|
mis/(map @ud {p/cape q/lane r/flap s/(unit)}) :: misordered
|
2013-12-09 01:23:03 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ rank ?($czar $king $duke $earl $pawn) :: ship width class
|
|
|
|
|
++ rang $: hut/(map tako yaki) ::
|
|
|
|
|
lat/(map lobe blob) ::
|
2014-07-22 22:56:04 +04:00
|
|
|
|
== ::
|
2015-03-14 00:47:29 +03:00
|
|
|
|
++ rand :: unvalidated rant
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: p/{p/care q/case r/@tas} :: clade release book
|
|
|
|
|
q/path :: spur
|
|
|
|
|
r/page :: data
|
2015-03-14 00:47:29 +03:00
|
|
|
|
== ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ rant :: namespace binding
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: p/{p/care q/case r/@tas} :: clade release book
|
|
|
|
|
q/path :: spur
|
|
|
|
|
r/cage :: data
|
2013-12-09 01:23:03 +04:00
|
|
|
|
== ::
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ rave :: general request
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$sing p/mood} :: single request
|
|
|
|
|
{$next p/mood} :: next version
|
|
|
|
|
{$many p/? q/moat} :: change range
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
++ rill :: outbound stream
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: sed/@ud :: sent
|
|
|
|
|
san/(map @ud duct) :: outstanding
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ riot (unit rant) :: response+complete
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ road :: secured oneway route
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: exp/@da :: expiration date
|
|
|
|
|
lun/(unit lane) :: route to friend
|
|
|
|
|
lew/will :: will of friend
|
|
|
|
|
== ::
|
|
|
|
|
++ rock @uvO :: packet
|
|
|
|
|
++ rout {p/(list host) q/path r/oryx s/path} :: http route (new)
|
|
|
|
|
++ rump {p/care q/case r/@tas s/path} :: relative path
|
|
|
|
|
++ saba {p/ship q/@tas r/moar s/dome} :: patch+merge
|
|
|
|
|
++ sack {p/ship q/ship} :: incoming [our his}
|
2014-04-10 04:28:22 +04:00
|
|
|
|
++ sufi :: domestic host
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: hoy/(list ship) :: hierarchy
|
|
|
|
|
val/wund :: private keys
|
|
|
|
|
law/will :: server will
|
|
|
|
|
seh/(map hand {p/ship q/@da}) :: key cache
|
|
|
|
|
hoc/(map ship dore) :: neighborhood
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ salt @uv :: entropy
|
2014-04-25 21:37:54 +04:00
|
|
|
|
++ seal :: auth conversation
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: whu/(unit ship) :: client identity
|
|
|
|
|
pul/purl :: destination url
|
|
|
|
|
wit/? :: wait for partner
|
|
|
|
|
foy/(unit {p/ship q/hole}) :: partner to notify
|
|
|
|
|
pus/(unit @ta) :: password
|
2014-04-25 21:37:54 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ sect ?($black $blue $red $orange $white) :: banner
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ shed :: packet flow
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: $: rtt/@dr :: smoothed rtt
|
|
|
|
|
rto/@dr :: retransmit timeout
|
|
|
|
|
rtn/(unit @da) :: next timeout
|
|
|
|
|
rue/(unit @da) :: last heard from
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: nus/@ud :: number sent
|
|
|
|
|
nif/@ud :: number live
|
|
|
|
|
nep/@ud :: next expected
|
|
|
|
|
caw/@ud :: logical window
|
|
|
|
|
cag/@ud :: congest thresh
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: diq/(map flap @ud) :: packets sent
|
|
|
|
|
pyz/(map soup @ud) :: message+unacked
|
|
|
|
|
puq/(qeu {p/@ud q/soul}) :: packet queue
|
2013-09-29 00:21:18 +04:00
|
|
|
|
== ::
|
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ skit {p/(unit @ta) q/(list @ta) r/(list @ta)} :: tracking path
|
|
|
|
|
++ skin ?($none $open $fast $full) :: encoding stem
|
|
|
|
|
++ snow {p/@ud q/@ud r/(set @ud)} :: window exceptions
|
|
|
|
|
++ soap {p/{p/life q/life} q/path r/@ud} :: statement id
|
|
|
|
|
++ soup {p/path q/@ud} :: new statement id
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ soul :: packet in travel
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: gom/soup :: message identity
|
|
|
|
|
nux/@ud :: xmission count
|
|
|
|
|
liv/? :: deemed live
|
|
|
|
|
lys/@da :: last sent
|
|
|
|
|
pac/rock :: packet data
|
|
|
|
|
== ::
|
|
|
|
|
++ soba (list {p/path q/miso}) :: delta
|
|
|
|
|
++ sock {p/ship q/ship} :: outgoing [from to]
|
2014-05-02 03:33:15 +04:00
|
|
|
|
++ spur path :: ship desk case spur
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ step {p/bray q/gens r/pass} :: identity stage
|
|
|
|
|
++ suba (list {p/path q/misu}) :: delta
|
|
|
|
|
++ tako @ :: yaki ref
|
|
|
|
|
++ tick @ud :: process id
|
|
|
|
|
++ toro {p/@ta q/nori} :: general change
|
2014-06-27 08:02:05 +04:00
|
|
|
|
++ town :: all security state
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: lit/@ud :: imperial modulus
|
|
|
|
|
any/@ :: entropy
|
|
|
|
|
urb/(map ship sufi) :: all keys and routes
|
|
|
|
|
fak/? ::
|
|
|
|
|
== ::
|
|
|
|
|
++ tube {p/@ta q/@ta r/@ta s/path} :: canonical path
|
|
|
|
|
++ tutu * :: presumed type
|
|
|
|
|
++ yaki {p/(list tako) q/(map path lobe) r/tako t/@da} :: commit
|
|
|
|
|
++ view ?($u $v $w $x $y $z) :: view mode
|
2014-06-05 19:39:55 +04:00
|
|
|
|
++ waks (map path woof) :: list file states
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ what :: logical identity
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$anon $~} :: anonymous
|
|
|
|
|
{$lady p/whom} :: female person ()
|
|
|
|
|
{$lord p/whom} :: male person []
|
|
|
|
|
{$punk p/sect q/@t} :: opaque handle ""
|
|
|
|
|
== ::
|
|
|
|
|
++ whom {p/@ud q/govt r/sect s/name} :: year+govt+id
|
|
|
|
|
++ woof $@ $know :: udon transform
|
|
|
|
|
{$chan (list {$@(@ud {p/@ud q/@ud})})} ::
|
|
|
|
|
++ wund (list {p/life q/ring r/acru}) :: mace in action
|
2013-09-29 00:21:18 +04:00
|
|
|
|
++ will (list deed) :: certificate
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ zuse %310 :: hoon+zuse kelvin
|
2015-05-09 23:38:33 +03:00
|
|
|
|
:: ::
|
2015-05-12 23:10:22 +03:00
|
|
|
|
:::: :::: this will become `%york`, vane structures.
|
|
|
|
|
:: ::
|
|
|
|
|
++ gift-ames :: out result <-$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$hear p/lane q/@} :: receive packet
|
|
|
|
|
{$init p/@p} :: report install
|
|
|
|
|
{$mass p/mass} :: memory usage
|
|
|
|
|
{$send p/lane q/@} :: transmit packet
|
|
|
|
|
{$waft p/sock q/*} :: response message
|
|
|
|
|
{$wart p/sock q/@tas r/path s/*} :: network request
|
|
|
|
|
{$went p/ship q/cape} :: reaction message
|
|
|
|
|
{$woot p/ship q/coop} :: e2e reaction message
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ kiss-ames :: in request ->$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$barn $~} :: new unix process
|
|
|
|
|
{$crud p/@tas q/(list tank)} :: error with trace
|
|
|
|
|
{$cash p/@p q/buck} :: civil license
|
|
|
|
|
{$hear p/lane q/@} :: receive packet
|
|
|
|
|
{$hole p/lane q/@} :: packet failed
|
|
|
|
|
{$junk p/@} :: entropy
|
|
|
|
|
{$kick p/@da} :: wake up
|
|
|
|
|
{$make p/(unit @t) q/@ud r/@ s/?} :: wild license
|
|
|
|
|
{$sith p/@p q/@uw r/?} :: imperial generator
|
|
|
|
|
{$wake $~} :: timer activate
|
|
|
|
|
{$want p/sock q/path r/*} :: send message
|
|
|
|
|
{$wegh $~} :: report memory
|
|
|
|
|
{$west p/sack q/path r/*} :: network request
|
|
|
|
|
{$wont p/sock q/path r/*} :: e2e send message
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
2015-06-24 22:50:30 +03:00
|
|
|
|
:::: %behn
|
|
|
|
|
::
|
|
|
|
|
++ gift-behn :: out result <-$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$mass p/mass} :: memory usage
|
|
|
|
|
{$wake $~} :: wakey-wakey
|
2015-06-24 22:50:30 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ kiss-behn :: in request ->$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$rest p/@da} :: cancel alarm
|
|
|
|
|
{$wait p/@da} :: set alarm
|
|
|
|
|
{$wake $~} :: timer activate
|
|
|
|
|
{$wegh $~} :: report memory
|
2015-06-24 22:50:30 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
2015-05-12 23:10:22 +03:00
|
|
|
|
:::: %clay
|
|
|
|
|
::
|
|
|
|
|
++ khan ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: fil/(unit (unit cage)) :: XX see khan-to-soba
|
|
|
|
|
dir/(unit (map @ta (unit khan))) ::
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ mode (list {path (unit mime)}) ::
|
|
|
|
|
++ riff {p/desk q/(unit rave)} :: request+desist
|
2015-05-12 23:10:22 +03:00
|
|
|
|
:::: ::
|
|
|
|
|
++ gift-clay :: out result <-$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$ergo p/@tas q/mode} :: version update
|
|
|
|
|
{$hill p/(list @tas)} :: mount points
|
|
|
|
|
{$mack p/(unit tang)} :: ack
|
|
|
|
|
{$mass p/mass} :: memory usage
|
|
|
|
|
{$mere p/(each (set path) (pair term tang))} :: merge result
|
|
|
|
|
{$note p/@tD q/tank} :: debug message
|
|
|
|
|
{$ogre p/@tas} :: delete mount point
|
|
|
|
|
{$writ p/riot} :: response
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ kiss-clay :: in request ->$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$boat $~} :: pier rebooted
|
|
|
|
|
{$drop p/@p q/@tas} :: cancel pending merge
|
|
|
|
|
{$info p/@p q/@tas r/nori} :: internal edit
|
|
|
|
|
{$init p/@p} :: report install
|
|
|
|
|
{$into p/@tas q/? r/mode} :: external edit
|
|
|
|
|
{$merg p/@p q/@tas r/@p s/@tas t/case u/germ} :: merge desks
|
|
|
|
|
{$mont p/@tas q/@p r/@tas s/path} :: mount to unix
|
|
|
|
|
{$ogre p/$@(@tas beam)} :: delete mount point
|
|
|
|
|
{$warp p/sock q/riff} :: file request
|
|
|
|
|
{$wegh $~} :: report memory
|
|
|
|
|
{$west p/sack q/path r/*} :: network request
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
|
|
|
|
::::
|
|
|
|
|
::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ blew {p/@ud q/@ud} :: columns rows
|
2015-05-12 23:10:22 +03:00
|
|
|
|
++ belt :: old belt
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$aro p/?($d $l $r $u)} :: arrow key
|
|
|
|
|
{$bac $~} :: true backspace
|
|
|
|
|
{$ctl p/@c} :: control-key
|
|
|
|
|
{$del $~} :: true delete
|
|
|
|
|
{$met p/@c} :: meta-key
|
|
|
|
|
{$ret $~} :: return
|
|
|
|
|
{$txt p/(list @c)} :: utf32 text
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ blit :: old blit
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$bel $~} :: make a noise
|
|
|
|
|
{$clr $~} :: clear the screen
|
|
|
|
|
{$hop p/@ud} :: set cursor position
|
|
|
|
|
{$lin p/(list @c)} :: set current line
|
|
|
|
|
{$mor $~} :: newline
|
|
|
|
|
{$sag p/path q/*} :: save to jamfile
|
|
|
|
|
{$sav p/path q/@} :: save to file
|
|
|
|
|
{$url p/@t} :: activate url
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ dill-belt :: new belt
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$aro p/?($d $l $r $u)} :: arrow key
|
|
|
|
|
{$bac $~} :: true backspace
|
|
|
|
|
{$cru p/@tas q/(list tank)} :: echo error
|
|
|
|
|
{$ctl p/@} :: control-key
|
|
|
|
|
{$del $~} :: true delete
|
|
|
|
|
{$hey $~} :: refresh
|
|
|
|
|
{$met p/@} :: meta-key
|
|
|
|
|
{$ret $~} :: return
|
|
|
|
|
{$rez p/@ud q/@ud} :: resize, cols, rows
|
|
|
|
|
{$txt p/(list @c)} :: utf32 text
|
|
|
|
|
{$yow p/gill} :: connect to app
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ dill-blit :: new blit
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$bel $~} :: make a noise
|
|
|
|
|
{$clr $~} :: clear the screen
|
|
|
|
|
{$hop p/@ud} :: set cursor position
|
|
|
|
|
{$mor p/(list dill-blit)} :: multiple blits
|
|
|
|
|
{$pro p/(list @c)} :: show as cursor+line
|
|
|
|
|
{$qit $~} :: close console
|
|
|
|
|
{$out p/(list @c)} :: send output line
|
|
|
|
|
{$sag p/path q/*} :: save to jamfile
|
|
|
|
|
{$sav p/path q/@} :: save to file
|
|
|
|
|
{$url p/@t} :: activate url
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ flog :: sent to %dill
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$crud p/@tas q/(list tank)} ::
|
|
|
|
|
{$heft $~} ::
|
|
|
|
|
{$text p/tape} ::
|
|
|
|
|
{$veer p/@ta q/path r/@t} :: install vane
|
|
|
|
|
{$vega p/path} :: reboot by path
|
|
|
|
|
{$verb $~} :: verbose mode
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ gill (pair ship term) :: general contact
|
|
|
|
|
::::
|
|
|
|
|
++ gift-dill :: out result <-$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$bbye $~} :: reset prompt
|
|
|
|
|
{$blit p/(list blit)} :: terminal output
|
|
|
|
|
{$burl p/@t} :: activate url
|
|
|
|
|
{$init p/@p} :: set owner
|
|
|
|
|
{$logo $~} :: logout
|
|
|
|
|
{$mass p/mass} :: memory usage
|
|
|
|
|
{$veer p/@ta q/path r/@t} :: install vane
|
|
|
|
|
{$vega p/path} :: reboot by path
|
|
|
|
|
{$verb $~} :: verbose mode
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ kiss-dill :: in request ->$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$belt p/belt} :: terminal input
|
|
|
|
|
{$blew p/blew} :: terminal config
|
|
|
|
|
{$boot p/*} :: weird %dill boot
|
|
|
|
|
{$crud p/@tas q/(list tank)} :: error with trace
|
|
|
|
|
{$flog p/flog} :: wrapped error
|
|
|
|
|
{$flow p/@tas q/(list gill)} :: terminal config
|
|
|
|
|
{$hail $~} :: terminal refresh
|
|
|
|
|
{$heft $~} :: memory report
|
|
|
|
|
{$hook $~} :: this term hung up
|
|
|
|
|
{$harm $~} :: all terms hung up
|
|
|
|
|
{$init p/ship} :: after gall ready
|
|
|
|
|
{$tick p/@p q/@p} :: initial ticket
|
|
|
|
|
{$noop $~} :: no operation
|
|
|
|
|
{$talk p/tank} ::
|
|
|
|
|
{$text p/tape} ::
|
|
|
|
|
{$veer p/@ta q/path r/@t} :: install vane
|
|
|
|
|
{$vega p/path} :: reboot by path
|
|
|
|
|
{$verb $~} :: verbose mode
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
|
|
|
|
:::: %eyre
|
|
|
|
|
::
|
|
|
|
|
++ gram :: inter-ship message
|
2015-12-23 10:18:53 +03:00
|
|
|
|
=+ fuz={path *} :: ames format
|
|
|
|
|
$? {{$lon $~} p/hole} :: login request
|
|
|
|
|
{{$aut $~} p/hole} :: login reply
|
|
|
|
|
{{$hat $~} p/hole q/hart} :: login redirect
|
|
|
|
|
{{$get $~} p/@uvH q/{? clip httq}} :: remote request
|
|
|
|
|
{{$got $~} p/@uvH q/httr} :: remote response
|
|
|
|
|
{{$gib $~} p/@uvH} :: remote cancel
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
:::: ::
|
|
|
|
|
++ kiss-eyre :: in request ->$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$born $~} :: new unix process
|
|
|
|
|
{$crud p/@tas q/(list tank)} :: XX rethink
|
|
|
|
|
{$hiss p/mark q/cage} :: outbound user req
|
|
|
|
|
{$init p/@p} :: report install
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$serv p/$@(desk beam)} :: set serving root
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$them p/(unit hiss)} :: outbound request
|
|
|
|
|
{$they p/@ud q/httr} :: inbound response
|
|
|
|
|
{$this p/? q/clip r/httq} :: inbound request
|
|
|
|
|
{$thud $~} :: inbound cancel
|
|
|
|
|
{$wegh $~} :: report memory
|
|
|
|
|
{$west p/sack q/fuz:gram} :: network request
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ gift-eyre :: out result <-$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$mass p/mass} :: memory usage
|
|
|
|
|
{$mack p/(unit tang)} :: message ack
|
|
|
|
|
{$sigh p/cage} :: marked http response
|
|
|
|
|
{$thou p/httr} :: raw http response
|
|
|
|
|
{$thus p/@ud q/(unit hiss)} :: http request+cancel
|
|
|
|
|
{$veer p/@ta q/path r/@t} :: drop-through
|
|
|
|
|
{$vega p/path} :: drop-through
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
|
|
|
|
:::: %ford
|
|
|
|
|
::
|
|
|
|
|
++ hood :: assembly plan
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$: zus/@ud :: zuse kelvin
|
|
|
|
|
sur/(list hoof) :: structures
|
|
|
|
|
lib/(list hoof) :: libraries
|
|
|
|
|
fan/(list horn) :: resources
|
|
|
|
|
src/(list hoop) :: program
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ hoof (pair term (unit (pair case ship))) :: resource reference
|
|
|
|
|
++ hoop :: source in hood
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$& p/twig} :: direct twig
|
|
|
|
|
{$| p/beam} :: resource location
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ horn :: resource tree
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$ape p/twig} :: /~ twig by hand
|
|
|
|
|
{$arg p/twig} :: /$ argument
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$alt p/(list horn)} :: /| options
|
2016-02-11 06:00:04 +03:00
|
|
|
|
{$dep p/horn} :: /# insert dephash
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$dub p/term q/horn} :: /= apply face
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$fan p/(list horn)} :: /. list
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$for p/(list (pair path:spur horn))} :: /, switch by path
|
|
|
|
|
{$hel p/horn} :: /% propagate args
|
|
|
|
|
{$lin p/(list mark) q/horn} :: /& translates
|
2015-12-26 12:37:06 +03:00
|
|
|
|
{$man p/(map knot horn)} :: /* hetero map
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$nap p/horn} :: /_ homo map
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$now p/horn} :: /@ list by @da
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$saw p/twig q/horn} :: /; operate on
|
|
|
|
|
{$see p/beam q/horn} :: /: relative to
|
|
|
|
|
{$sic p/twig q/horn} :: /^ cast
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$toy p/? q/mark} :: /mark/ static/hook
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ milk (trel ship desk silk) :: sourced silk
|
|
|
|
|
++ silk :: construction layer
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$^ {p/silk q/silk} :: cons
|
|
|
|
|
$% {$$ p/cage} :: literal
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$alts p/(list silk)} :: options
|
|
|
|
|
{$bake p/mark q/coin r/beam} :: local synthesis
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$bunt p/mark} :: example of mark
|
|
|
|
|
{$call p/silk q/silk} :: slam
|
|
|
|
|
{$cast p/mark q/silk} :: translate
|
|
|
|
|
{$core p/beam} :: build program
|
|
|
|
|
{$diff p/silk q/silk} :: diff
|
|
|
|
|
{$dude p/(trap tank) q/silk} :: error wrap
|
|
|
|
|
{$file p/beam} :: from clay
|
|
|
|
|
{$flag p/(set $@(@uvH beam)) q/silk} :: add dependencies
|
|
|
|
|
{$join p/mark q/silk r/silk} :: merge
|
|
|
|
|
{$mash p/mark q/milk r/milk} :: annotate
|
|
|
|
|
{$mute p/silk q/(list (pair wing silk))} :: mutant
|
|
|
|
|
{$pact p/silk q/silk} :: patch
|
2016-02-10 22:03:28 +03:00
|
|
|
|
{$plan p/beam q/coin r/hood} :: structured assembly
|
2016-01-07 10:08:09 +03:00
|
|
|
|
{$reef $~} :: kernel reef
|
|
|
|
|
{$ride p/twig q/silk} :: silk thru twig
|
|
|
|
|
{$tabl p/(list (pair silk silk))} :: list
|
|
|
|
|
{$vale p/mark q/*} :: validate
|
2015-12-23 10:18:53 +03:00
|
|
|
|
{$volt p/(cask *)} :: unsafe add type
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::::
|
2015-07-10 21:49:03 +03:00
|
|
|
|
++ bilk (pair beak silk) :: sourced request
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ gage :: recursive cage+tang
|
|
|
|
|
$% {$& p/cage} :: success
|
|
|
|
|
{$| p/tang} :: error
|
|
|
|
|
{$tabl p/(list (pair gage gage))} :: table of results
|
2015-05-26 04:17:59 +03:00
|
|
|
|
==
|
2015-05-12 23:10:22 +03:00
|
|
|
|
++ gift-ford :: out result <-$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$made p/@uvH q/gage} :: computed result
|
|
|
|
|
{$mass p/mass} :: memory usage
|
|
|
|
|
{$news p/@uvH} :: fresh depends
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ kiss-ford :: in request ->$
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$exec p/@p q/(unit bilk)} :: make / kill
|
|
|
|
|
{$wasp p/@p q/{@uvH ?}} :: depends ask / kill
|
|
|
|
|
{$wegh $~} :: report memory
|
2016-02-11 02:12:24 +03:00
|
|
|
|
{$wipe p/@p $~} :: clear cache
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
|
|
|
|
:::: %gall
|
|
|
|
|
::
|
|
|
|
|
++ club :: agent action
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$peel p/mark q/path} :: translated peer
|
|
|
|
|
{$peer p/path} :: subscribe
|
|
|
|
|
{$poke p/cage} :: apply
|
|
|
|
|
{$puff p/mark q/noun} :: unchecked poke
|
|
|
|
|
{$pull $~} :: unsubscribe
|
|
|
|
|
{$punk p/mark q/cage} :: translated poke
|
|
|
|
|
{$pump $~} :: pump yes+no
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ cuft :: internal gift
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$coup p/(unit tang)} :: poke result
|
|
|
|
|
{$diff p/cage} :: subscription output
|
|
|
|
|
{$doff p/mark q/noun} :: untyped diff
|
|
|
|
|
{$quit $~} :: close subscription
|
|
|
|
|
{$reap p/(unit tang)} :: peer result
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ culm :: config action
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$load p/scup} :: load+reload
|
|
|
|
|
:: {$kick $~} :: restart everything
|
|
|
|
|
:: {$stop $~} :: toggle suspend
|
|
|
|
|
:: {$wipe $~} :: destroy all state
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ cush (pair term club) :: internal kiss
|
|
|
|
|
++ dude term :: server identity
|
|
|
|
|
++ scup (pair ship desk) :: autoupdate
|
2015-05-19 04:16:32 +03:00
|
|
|
|
++ well (pair desk term) ::
|
2015-12-23 10:18:53 +03:00
|
|
|
|
++ suss (trel dude @tas @da) :: config report
|
2015-05-12 23:10:22 +03:00
|
|
|
|
:::: ::
|
|
|
|
|
++ kiss-gall :: incoming request
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$conf p/dock q/culm} :: configure app
|
|
|
|
|
{$init p/ship} :: set owner
|
|
|
|
|
{$deal p/sock q/cush} :: full transmission
|
|
|
|
|
{$west p/sack q/path r/*} :: network request
|
|
|
|
|
{$wegh $~} :: report memory
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
++ gift-gall :: outgoing result
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$mass p/mass} :: memory usage
|
|
|
|
|
{$onto p/(each suss tang)} :: about agent
|
|
|
|
|
{$unto p/cuft} :: within agent
|
|
|
|
|
{$mack p/(unit tang)} :: message ack
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ::
|
|
|
|
|
::
|
|
|
|
|
:::: %arvo
|
|
|
|
|
::
|
|
|
|
|
++ gift-arvo :: out result <-$
|
|
|
|
|
$? gift-ames
|
|
|
|
|
gift-clay
|
|
|
|
|
gift-dill
|
|
|
|
|
gift-eyre
|
|
|
|
|
gift-ford
|
|
|
|
|
gift-gall
|
2015-06-24 22:50:30 +03:00
|
|
|
|
gift-behn
|
2015-05-12 23:10:22 +03:00
|
|
|
|
==
|
|
|
|
|
++ kiss-arvo :: in request ->$
|
|
|
|
|
$? kiss-ames
|
|
|
|
|
kiss-clay
|
|
|
|
|
kiss-dill
|
|
|
|
|
kiss-eyre
|
|
|
|
|
kiss-ford
|
|
|
|
|
kiss-gall
|
2015-06-24 22:50:30 +03:00
|
|
|
|
kiss-behn
|
2015-05-12 23:10:22 +03:00
|
|
|
|
==
|
|
|
|
|
++ note-arvo :: out request $->
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$? {@tas $meta vase}
|
|
|
|
|
$% {$a kiss-ames}
|
|
|
|
|
{$b kiss-behn}
|
|
|
|
|
{$c kiss-clay}
|
|
|
|
|
{$d kiss-dill}
|
|
|
|
|
{$e kiss-eyre}
|
|
|
|
|
{$f kiss-ford}
|
|
|
|
|
{$g kiss-gall}
|
2015-05-12 23:10:22 +03:00
|
|
|
|
== ==
|
|
|
|
|
++ sign-arvo :: in result $<-
|
2015-12-23 10:18:53 +03:00
|
|
|
|
$% {$a gift-ames}
|
|
|
|
|
{$b gift-behn}
|
|
|
|
|
{$c gift-clay}
|
|
|
|
|
{$d gift-dill}
|
|
|
|
|
{$e gift-eyre}
|
|
|
|
|
{$f gift-ford}
|
|
|
|
|
{$g gift-gall}
|
2015-05-12 23:10:22 +03:00
|
|
|
|
==
|
2013-09-29 00:21:18 +04:00
|
|
|
|
--
|