forked from urbit/archaeology
-
Notifications
You must be signed in to change notification settings - Fork 0
Hoon vast
Adam Bliss edited this page Oct 25, 2013
·
1 revision
++ vast
=+ [bug=`?`| was=*(set path) wer=*path]
|%
++ gash %+ cook
|= a=(list goon) ^- goon
?~(a ~ (weld i.a $(a t.a)))
(more fas gasp)
++ gasp ;~ pose
%+ cook
|=([a=goon b=goon c=goon] :(weld a b c))
;~ plug
(cook |=(a=(list) (turn a |=(b=* ~))) (star tis))
(cook |=(a=gene [[~ a] ~]) hasp)
(cook |=(a=(list) (turn a |=(b=* ~))) (star tis))
==
(cook |=(a=(list) (turn a |=(b=* ~))) (plus tis))
==
++ glam ~+((glue ace))
++ hasp ;~ pose
(ifix [sel ser] wide)
(stag %cnhp (ifix [pel per] (most ace wide)))
%+ cook
|=(a=coin [%dtpt ?:(?=([~ %tas *] a) %tas %ta) ~(rent co a)])
nuck:so
==
++ mota %+ cook
|=([a=tape b=tape] (rap 3 (weld a b)))
;~(plug (star low) (star hig))
::
++ plex
|= gen=gene ~| [%plex gen] ^- path
?: ?=([%zpcb *] gen)
$(gen q.gen)
?> ?=([%clsg *] gen)
(turn p.gen |=(a=gene ?>(?=(%dtpt -.a) q.a)))
::
++ pray
|= gen=gene ~| %pray ^- gene
=+ rev=(plex gen)
?: (~(has in was) rev)
~|(%pray-loop !!)
=+ txt=(,@ta .^(%cx (weld rev `path`[%hoon ~])))
%+ rash txt
(ifix [gay gay] tall(was (~(put in was) rev), wer rev))
::
++ prey
|= gun=(list gene) ^- gene
?~ gun [~ 1]
?~ t.gun (pray i.gun)
[%tsgr (pray i.gun) $(gun t.gun)]
::
++ phax
|= ruw=(list (list beer))
=+ [yun=*(list gene) cah=*(list ,@)]
=+ wod=|=([a=tape b=(list gene)] ^+(b ?~(a b [[%clfs %smdq (flop a)] b])))
|- ^+ yun
?~ ruw
(flop (wod cah yun))
?~ i.ruw $(ruw t.ruw)
?@ i.i.ruw
$(i.ruw t.i.ruw, cah [i.i.ruw cah])
$(i.ruw t.i.ruw, cah ~, yun [p.i.i.ruw (wod cah yun)])
::
++ posh
|= [pre=(unit goon) pof=(unit ,[p=@ud q=goon])]
^- (list gene)
~| %posh-fail
=+ wom=(poof wer)
=+ ^= yez
?~ pre wom
=+ moz=(poon wom u.pre)
?~(pof moz (weld moz (slag (lent u.pre) wom)))
?~ pof yez
=+ zey=(flop yez)
=+ [moz=(scag p.u.pof zey) gul=(slag p.u.pof zey)]
(weld (flop gul) (poon (flop moz) q.u.pof))
::
++ poof |=(pax=path ^-(gens (turn pax |=(a=@ta [%dtpt %ta a]))))
++ poon
|= [pag=gens goo=goon]
^- gens
?~ goo ~
:- ?^(i.goo u.i.goo ?>(?=(^ pag) i.pag))
$(goo t.goo, pag ?~(pag ~ t.pag))
::
++ poor
%+ cook posh
;~ plug
(stag ~ gash)
;~(pose (stag ~ ;~(pfix cen porc)) (easy ~))
==
::
++ porc
;~ plug
(cook |=(a=(list) (lent a)) (star cen))
;~(pfix fas gash)
==
::
++ rood
;~ pfix fas
(stag %clsg poor)
==
++ scat
%+ knee *gene |. ~+
%- stew :~
:- '!'
;~ pose
(stag %wtzp ;~(pfix zap wide))
(stag %zpzp (cold ~ ;~(plug zap zap)))
(stag %zpcn (cold ~ ;~(plug zap cen)))
==
:- '$'
(cook |=(a=wing [%cnts a ~]) rope)
:- '%'
;~ pfix cen
;~ pose
(cook |=([a=@ud b=goon] [%clsg (posh ~ ~ a b)]) porc)
(stag %dtsg (stag %ta (cold %$ buc)))
(stag %dtsg (stag %f (cold & pam)))
(stag %dtsg (stag %f (cold | bar)))
(stag %dtsg (stag %ta qut))
(stag %clcn (ifix [sel ser] (most ace wide)))
(cook (jock &) nuck:so)
(cook |=(a=(list) [%clsg (posh ~ ~ (lent a) ~)]) (star cen))
:: (easy [%clsg (poof wer)])
==
==
:- '&'
;~ pose
(cook |=(a=wing [%cnts a ~]) rope)
(stag %wtpm ;~(pfix pam (ifix [pel per] (most ace wide))))
:: (stag %bccb (stag %ktpm ;~(pfix pam wide)))
(stag %dtpt (stag %f (cold & pam)))
==
:- '\''
(stag %dtpt (stag %ta qut))
:- '('
(stag %cnhp (ifix [pel per] (most ace wide)))
:- '*'
;~ pose
(stag %bctr ;~(pfix tar wide))
(stag %bcts (cold %noun tar))
==
:- '+'
;~ pose
(stag %dtls ;~(pfix lus (ifix [pel per] wide)))
::
%+ cook
|= a=(list (list beer))
:- %clfs
[%smdq |-(?~(a ~ (weld i.a $(a t.a))))]
(most dog ;~(pfix lus soil))
::
(cook |=(a=wing [%cnts a ~]) rope)
==
:- '-'
;~ pose
(stag %dtpt tash:so)
::
%+ cook
|= a=(list (list beer))
[%clzp (phax a)]
:: [%smhx |-(?~(a ~ (weld i.a $(a t.a))))]
(most dog ;~(pfix hep soil))
::
(cook |=(a=wing [%cnts a ~]) rope)
==
:- '.'
;~ pose
(stag %dtpt ;~(pfix dot zust:so))
(cook |=(a=wing [%cnts a ~]) rope)
==
:- ['0' '9']
(stag %dtpt bisk:so)
:- ':'
(stag %smcl ;~(pfix col (ifix [pel per] (most ace wide))))
:- '='
(stag %dtts ;~(pfix tis (ifix [pel per] ;~(glam wide wide))))
:- '?'
;~ pose
(stag %bcwt ;~(pfix wut (ifix [pel per] (most ace wide))))
(stag %bcts (cold %bean wut))
==
:- '@'
;~(pfix pat (stag %bcts (stag %atom mota)))
:- '['
%+ stag
%cltr
;~ pfix sel
%+ cook
|= [a=(list gene) b=?(~ [~ ~])]
?~(b a (weld a `_a`[[%bcts %null] ~]))
;~ plug
;~ pose
(ifix [ace gap] (most gap tall))
(most ace wide)
==
;~ pose
(cold [~ ~] ;~(plug (just ']') (just '~')))
(cold ~ (just ']'))
==
==
==
:- ','
(stag %bccm ;~(pfix com wide))
:- '^'
;~ pose
;~ pfix ket
;~ pose
;~ pfix col
%+ cook
|= [a=gene b=gene] :: XX shd be static
=+ rev=(plex b)
:+ %smsm ~(clam al ~(bore ap a))
[%dtkt %dtsg %$ %cx rev]
;~(plug wide rood)
==
(cook prey (most ket rood))
==
==
(stag %cnhx rope)
(stag %bcts (cold %cell ket))
==
:- '_'
(stag %bccb ;~(pfix cab wide))
:- '`'
;~ pfix tec
;~ pose
%+ cook
|=([a=@ta b=gene] [%ktls [%dtpt a 0] [%ktls [%dtpt %$ 0] b]])
;~(pfix pat ;~(plug mota ;~(pfix tec wide)))
(stag %kthp ;~(plug wide ;~(pfix tec wide)))
==
==
:- '"'
%+ cook
|= a=(list (list beer))
[%smdq |-(?~(a ~ (weld i.a $(a t.a))))]
(most dog soil)
:- ['a' 'z']
%+ sear
|= [a=wing b=(unit gene)] ^- (unit gene)
?~(b [~ %cnhx a] ?.(?=([@ ~] a) ~ [~ [%dtsg %tas i.a] u.b]))
;~(plug rope ;~(pose (stag ~ ;~(pfix fas wide)) (easy ~)))
:- '|'
;~ pose
(cook |=(a=wing [%cnts a ~]) rope)
(stag %wtbr ;~(pfix bar (ifix [pel per] (most ace wide))))
(stag %dtpt (stag %f (cold | bar)))
==
:- '~'
;~ pose
%+ cook
|= a=(list (list beer))
:_ [%bcts %null]
:- %clfs
[%smdq |-(?~(a ~ (weld i.a $(a t.a))))]
(most dog ;~(pfix sig soil))
::
;~ pfix sig
;~ pose
(stag %clsg (ifix [sel ser] (most ace wide)))
::
%+ stag %cnsg
%+ ifix
[pel per]
;~(glam rope wide (stag %cltr (most ace wide)))
::
(cook (jock |) twid:so)
(easy [%bcts %null])
==
==
==
:- '/'
rood
:- '<'
(ifix [gal gar] (stag %hxgl (most ace wide)))
:- '>'
(ifix [gar gal] (stag %hxgr (most ace wide)))
==
++ soil
%+ ifix
[doq doq]
%- star
;~ pose
;~(pfix bas ;~(pose bas doq kel bix:ab))
;~ pose
(shim 32 33)
(shim 35 91)
(shim 93 122)
(shim 124 126)
(shim 128 255)
==
(stag ~ (ifix [kel ker] (stag %cltr (most ace wide))))
==
++ norm
|= tol=?
=< %- stew
:~ :- '|'
;~ pfix bar
%- stew :~
['|' (rune bar %brbr expb)]
['_' (rune cab %brcb expr)]
['%' (rune cen %brcn expe)]
[':' (rune col %brcl expr)]
['.' (rune dot %brdt expa)]
['-' (rune hep %brhp expa)]
['^' (rune ket %brkt expr)]
['+' (rune lus %brls expb)]
['*' (rune tar %brtr expb)]
['=' (rune tis %brts expb)]
['?' (rune wut %brwt expa)]
==
==
:- '%'
;~ pfix cen
%- stew :~
['_' (rune cab %cncb expj)]
[':' (rune col %cncl expb)]
['.' (rune dot %cndt expb)]
['^' (rune ket %cnkt expf)]
['+' (rune lus %cnls expc)]
['-' (rune hep %cnhp expk)]
['~' (rune sig %cnsg expq)]
['*' (rune tar %cntr expp)]
['=' (rune tis %cnts expj)]
==
==
:- '$'
;~ pfix buc
%- stew :~
['|' (rune bar %bcbr expb)]
['_' (rune cab %bccb expa)]
[':' (rune col %bccl exps)]
['%' (rune cen %bccn exps)]
[',' (rune com %bccm expa)]
['&' (rune pam %bcpm expb)]
['?' (rune wut %bcwt exps)]
==
==
:- ':'
;~ pfix col
%- stew :~
['_' (rune cab %clcb expb)]
['~' (rune cen %clcn exps)]
['/' (rune fas %clfs expa)]
['^' (rune ket %clkt expf)]
['+' (rune lus %clls expc)]
['-' (rune hep %clhp expb)]
['~' (rune sig %clsg exps)]
['*' (rune tar %cltr exps)]
==
==
:- '.'
;~ pfix dot
%- stew :~
['+' (rune lus %dtls expa)]
['*' (rune tar %dttr expb)]
['=' (rune tis %dtts expb)]
['?' (rune wut %dtwt expa)]
['^' (rune ket %dtkt expn)]
==
==
:- '#'
;~ pfix hax
%- stew :~
['<' (rune gal %hxgl exps)]
['>' (rune gar %hxgr exps)]
==
==
:- '^'
;~ pfix ket
%- stew :~
['|' (rune bar %ktbr expa)]
['.' (rune dot %ktdt expb)]
['-' (rune hep %kthp expb)]
['+' (rune lus %ktls expb)]
['&' (rune pam %ktpm expa)]
['~' (rune sig %ktsg expa)]
['=' (rune tis %ktts expg)]
['?' (rune wut %ktwt expa)]
==
==
:- '~'
;~ pfix sig
%- stew :~
['|' (rune bar %sgbr expb)]
['$' (rune buc %sgbc expg)]
['%' (rune cen %sgcn hind)]
[':' (rune col %sgcl hina)]
['/' (rune fas %sgfs hine)]
['<' (rune gal %sggl hinb)]
['>' (rune gar %sggr hinb)]
['#' (rune hax %sghx expg)]
['^' (rune ket %sgkt expb)]
['+' (rune lus %sgls hinc)]
['&' (rune pam %sgpm hinf)]
['=' (rune tis %sgts expb)]
['!' (rune zap %sgzp expb)]
==
==
:- ';'
;~ pfix sem
%- stew :~
['_' (rune cab %smcb expb)]
[',' (rune com %smcm expi)]
['%' (rune cen %smcn exps)]
[':' (rune col %smcl expi)]
['.' (rune dot %smdt expi)]
['<' (rune gal %smgl expc)]
['>' (rune gar %smgr expc)]
['-' (rune hep %smhp expb)]
['+' (rune lus %smls expb)]
['&' (rune pam %smpm expi)]
['~' (rune sig %smsg expi)]
[';' (rune sem %smsm expb)]
['*' (rune tar %smtr expb)]
['=' (rune tis %smts expb)]
['?' (rune wut %smwt expb)]
==
==
:- '='
;~ pfix tis
%- stew :~
['|' (rune bar %tsbr expb)]
['.' (rune dot %tsdt expc)]
['^' (rune ket %tskt expd)]
[':' (rune col %tscl expl)]
['<' (rune gal %tsgl expb)]
['>' (rune gar %tsgr expb)]
['-' (rune hep %tshp expb)]
['+' (rune lus %tsls expb)]
['~' (rune sig %tssg expi)]
==
==
:- '?'
;~ pfix wut
%- stew :~
['|' (rune bar %wtbr exps)]
[':' (rune col %wtcl expc)]
['.' (rune dot %wtdt expc)]
['<' (rune gal %wtgl expb)]
['>' (rune gar %wtgr expb)]
['-' (rune hep %wthp exph)]
['^' (rune ket %wtkt expc)]
['=' (rune tis %wtts expb)]
['+' (rune lus %wtls expm)]
['&' (rune pam %wtpm exps)]
['@' (rune pat %wtpt expc)]
['~' (rune sig %wtsg expc)]
['!' (rune zap %wtzp expa)]
==
==
:- '!'
;~ pfix zap
%- stew :~
[':' ;~(pfix col (toad expz))]
[',' (rune com %zpcm expb)]
[';' (rune sem %zpsm expb)]
['^' ;~(pfix ket (cook prey (toad exps)))]
['>' (rune gar %zpgr expa)]
['=' (rune tis %zpts expa)]
==
==
==
|%
::
++ boog
%+ knee [p=*term q=*foot] |. ~+
;~ pfix lus
;~ pose
%+ cook
|=([a=%ash b=term c=gene] [b a c])
;~ gunk
(cold %ash (just '+'))
;~(pose (cold %$ buc) sym)
loaf
==
::
%+ cook
|=([a=%elm b=term c=gene] [b a c])
;~ gunk
(cold %elm (just '-'))
;~(pose (cold %$ buc) sym)
loaf
==
::
%+ cook
|=([a=%oak b=term] [b a ~])
;~ gunk
(cold %oak (just '|'))
;~(pose (cold %$ buc) sym)
==
==
==
::
++ wisp
%- ulva
%+ cook
|=(a=(list ,[p=term q=foot]) (~(gas by *(map term foot)) a))
(most muck boog)
::
++ toad
|* har=_expa
=+ dur=(ifix [pel per] $:har(tol |))
?:(tol ;~(pose ;~(pfix gap $:har(tol &)) dur) dur)
::
++ rune
|* [dif=_rule tuq=* har=_expa]
;~(pfix dif (stag tuq (toad har)))
::
++ glop ~+((glue mash))
++ gunk ~+((glue muck))
++ butt |*(zor=_rule ?:(tol ;~(sfix zor ;~(plug gap duz)) zor))
++ ulva |*(zor=_rule ?.(tol fail ;~(sfix zor ;~(plug gap dun))))
++ neck ;~(pose duz ;~(pfix ;~(plug duq gap) wisp))
++ hank (most muck loaf)
++ loaf ?:(tol tall wide)
++ mash ?:(tol gap ;~(plug com ace))
++ muck ?:(tol gap ace)
++ rack (most mash ;~(gunk loaf loaf))
++ expa |.(loaf)
++ expb |.(;~(gunk loaf loaf))
++ expc |.(;~(gunk loaf loaf loaf))
++ expd |.(;~(gunk loaf loaf loaf loaf))
++ exps |.((butt hank))
++ expl |.(;~(gunk (butt rack) loaf))
++ expe |.(wisp)
++ expf |.(;~(gunk loaf loaf loaf loaf))
++ expg |.(;~(gunk sym loaf))
++ exph |.((butt ;~(gunk loaf rack)))
++ expi |.((butt ;~(gunk loaf hank)))
++ expj |.((butt ;~(gunk rope rack)))
++ expk |.(;~(gunk loaf ;~(plug loaf (easy ~))))
++ expm |.((butt ;~(gunk loaf loaf rack)))
++ expn |.((stag %cltr (butt hank)))
++ expp |.((butt ;~(gunk rope loaf rack)))
++ expq |.(;~(gunk rope loaf loaf))
++ expr |.(;~(gunk loaf wisp))
++ expz |.(loaf(bug &))
++ hina |.(;~(gunk (ifix [sel ser] ;~(gunk dem dem)) loaf))
++ hinb |.(;~(gunk bont loaf))
++ hinc |.(;~(pose ;~(gunk bony loaf) ;~(plug (easy ~) loaf)))
++ hind |.(;~(gunk bonk loaf bonz loaf))
++ hine |.(;~(gunk bonk loaf))
++ hinf |.
;~ pose
;~(gunk (cook lent (stun [1 3] gar)) loaf loaf)
(stag 0 ;~(gunk loaf loaf))
==
++ bonk
;~ pfix cen
;~ pose
;~(plug sym ;~(pfix col ;~(plug sym ;~(pfix dot ;~(pfix dot dem)))))
;~(plug sym ;~(pfix col ;~(plug sym ;~(pfix dot dem))))
;~(plug sym ;~(pfix dot dem))
sym
==
==
++ bont ;~((bend) sym ;~(pfix dot ;~(pose wide ;~(pfix muck loaf))))
++ bony (cook |=(a=(list) (lent a)) (plus tis))
++ bonz
;~ pose
(cold ~ sig)
%+ ifix
?:(tol [p=;~(plug duz gap) q=;~(plug gap duz)] [p=pel q=per])
(more mash ;~(gunk ;~(pfix cen sym) loaf))
==
--
::
++ lung
~+
%- bend
|= :- ros=gene
^= vil
$% [%tis p=gene]
[%col p=gene]
[%ket p=gene]
[%pel p=(list ,[p=gene q=gene])]
==
^- (unit gene)
?- -.vil
%tis
?- ros
[%cnbc @] [~ %ktts p.ros p.vil]
[%cnhx [@ ~]] [~ %ktts i.p.ros p.vil]
[%cnts [@ ~] ~] [~ %ktts i.p.ros p.vil]
[%zpcb *] $(ros q.ros)
* ~
==
%col [~ %tsgl ros p.vil]
%pel [~ %cnts ~(rake ap ros) p.vil]
%ket [~ ros p.vil]
==
::
++ long
%+ knee *gene |. ~+
;~ lung
scat
;~ pose
;~(plug (cold %tis tis) wide)
;~(plug (cold %col col) wide)
;~(plug (cold %ket ket) wide)
;~ plug
(easy %pel)
(ifix [pel per] loon)
==
==
==
::
++ loon (most ;~(plug com ace) ;~(glam wide wide))
++ rope
%+ knee
*wing
|. ~+
%+ (slug `wing`~ |=([a=wing b=wing] (weld a b)))
dot
;~ pose
%+ cook
|=([a=(list) b=term] [?~(a b [%| (lent a) b]) ~])
;~(plug (star ket) ;~(pose sym (cold %$ buc)))
::
%+ cook
|=(a=limb [a ~])
%+ cook
|=(a=axis [%& a])
;~ pose
;~(pfix lus dim:ag)
;~(pfix pam (cook |=(a=@ ?:(=(0 a) 0 (mul 2 +($(a (dec a)))))) dim:ag))
;~(pfix bar (cook |=(a=@ ?:(=(0 a) 1 +((mul 2 $(a (dec a)))))) dim:ag))
ven
(cold 1 dot)
==
==
::
++ tall (knee *gene |.(~+((wart ;~(pose (norm &) long)))))
++ wide (knee *gene |.(~+((wart ;~(pose (norm |) long)))))
++ wart
|* zor=_rule
%+ here
|= [a=pint b=gene]
?:(bug [%zpcb [wer a] b] b)
zor
--
Parts of this document are generated automatically. Edits within the comments section will be preserved.