2014-04-23 21:02:36 +04:00
|
|
|
!: :: %ford, new execution control
|
|
|
|
!? 164
|
|
|
|
::::
|
|
|
|
|= pit=vase
|
|
|
|
^- vane
|
|
|
|
=> =~
|
|
|
|
|% :: structures
|
|
|
|
++ axle :: all %ford state
|
2014-04-30 21:04:07 +04:00
|
|
|
$: ven=%0 :: version for update
|
2014-05-14 04:04:23 +04:00
|
|
|
pol=(map ship baby) ::
|
|
|
|
== ::
|
|
|
|
++ baby :: state by ship
|
|
|
|
$: tad=[p=@ud q=(map ,@ud task)] :: tasks by number
|
2014-04-30 21:04:07 +04:00
|
|
|
dym=(map duct ,@ud) :: duct to number
|
|
|
|
tiz=(map cash twig) :: file hash to twig
|
2014-04-23 21:02:36 +04:00
|
|
|
== ::
|
2014-05-07 21:42:31 +04:00
|
|
|
++ bolt :: gonadic edge
|
|
|
|
|* a=$+(* *) :: product clam
|
2014-05-14 04:04:23 +04:00
|
|
|
$: p=cafe :: cache
|
|
|
|
$= q ::
|
|
|
|
$% [%0 p=(set beam) q=a] :: depends/product
|
|
|
|
[%1 p=(set ,[p=beam q=(list tank)])] :: blocks
|
|
|
|
[%2 p=(list tank)] :: error
|
|
|
|
== ::
|
2014-04-23 21:02:36 +04:00
|
|
|
== ::
|
2014-05-07 21:42:31 +04:00
|
|
|
:: ::
|
2014-05-14 21:32:00 +04:00
|
|
|
++ borg :: sub-gonadic calx
|
|
|
|
|* [a=$+(* *)] :: from and to
|
|
|
|
$+(calx (bolt a)) ::
|
|
|
|
:: ::
|
2014-05-07 21:42:31 +04:00
|
|
|
++ burg :: gonadic rule
|
|
|
|
|* [a=$+(* *) b=$+(* *)] :: from and to
|
2014-05-14 21:32:00 +04:00
|
|
|
$+(b (bolt a)) ::
|
2014-05-07 21:42:31 +04:00
|
|
|
:: ::
|
2014-05-14 04:04:23 +04:00
|
|
|
++ cafe :: live cache
|
|
|
|
$: p=(set calx) :: used
|
|
|
|
q=(map ,* calx) :: cache
|
|
|
|
== ::
|
|
|
|
:: ::
|
|
|
|
++ calf :: abstract cache line
|
|
|
|
|* [a=@tas b=$+(* *) c=$+(* *)] :: key, value
|
|
|
|
,[_a p=b q=@da r=c] :: key and last used
|
|
|
|
:: ::
|
2014-05-14 21:32:00 +04:00
|
|
|
++ calm :: cache metadata
|
|
|
|
$: laz=@da :: last accessed
|
|
|
|
dep=(set beam) :: dependencies
|
|
|
|
== ::
|
2014-05-14 04:04:23 +04:00
|
|
|
++ calx :: concrete cache line
|
2014-05-14 06:44:44 +04:00
|
|
|
$% [%comp p=calm q=@t r=twig] :: compile by text
|
2014-05-14 21:32:00 +04:00
|
|
|
:: [%coop p=calm q=@uvI r=twig] :: compile by hash
|
2014-05-14 04:04:23 +04:00
|
|
|
== ::
|
|
|
|
:: ::
|
2014-05-07 21:42:31 +04:00
|
|
|
++ plan :: full construction
|
2014-05-14 04:25:59 +04:00
|
|
|
$: hov=@ud :: hoon version
|
2014-05-07 21:42:31 +04:00
|
|
|
bek=beak :: load context
|
2014-05-10 11:10:46 +04:00
|
|
|
kas=silk :: design
|
2014-04-23 21:02:36 +04:00
|
|
|
== ::
|
2014-04-30 21:04:07 +04:00
|
|
|
++ task :: problem in progress
|
2014-05-14 04:04:23 +04:00
|
|
|
$: nah=duct :: cause
|
2014-05-10 11:10:46 +04:00
|
|
|
kas=silk :: problem
|
2014-05-09 04:34:57 +04:00
|
|
|
kig=[p=@ud q=(map ,@ud beam)] :: blocks
|
2014-04-23 21:02:36 +04:00
|
|
|
== ::
|
2014-05-07 21:42:31 +04:00
|
|
|
-- ::
|
2014-04-30 21:04:07 +04:00
|
|
|
|% ::
|
2014-05-14 04:04:23 +04:00
|
|
|
++ calk :: cache lookup
|
|
|
|
|= a=cafe ::
|
2014-05-14 06:44:44 +04:00
|
|
|
|= [b=@tas c=*] ::
|
|
|
|
^- [(unit calx) cafe] ::
|
2014-05-14 04:04:23 +04:00
|
|
|
=+ d=(~(get by q.a) [b c]) ::
|
|
|
|
?~ d [~ a] ::
|
2014-05-14 06:44:44 +04:00
|
|
|
[d a(p (~(put in p.a) u.d))] ::
|
2014-05-14 04:04:23 +04:00
|
|
|
:: ::
|
2014-05-14 21:32:00 +04:00
|
|
|
++ came ::
|
2014-05-14 04:04:23 +04:00
|
|
|
|= [a=cafe b=calx] :: cache install
|
|
|
|
^- cafe ::
|
|
|
|
a(q (~(put by q.a) [-.b q.b] b)) ::
|
|
|
|
:: ::
|
|
|
|
++ chub :: cache merge
|
|
|
|
|= [a=cafe b=cafe] ::
|
|
|
|
^- cafe ::
|
|
|
|
[(grom p.a p.b) (grum q.a q.b)] ::
|
|
|
|
:: ::
|
2014-04-30 21:04:07 +04:00
|
|
|
++ colt :: reduce to save
|
2014-05-14 04:25:59 +04:00
|
|
|
|= lex=axle ::
|
2014-04-30 21:04:07 +04:00
|
|
|
lex
|
|
|
|
::
|
2014-05-14 04:04:23 +04:00
|
|
|
++ fine |*(a=* [p=*cafe q=[%0 p=*(set beam) q=a]])
|
|
|
|
++ flaw |=(a=(list tank) [p=*cafe q=[%2 p=a]])
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-05-14 04:04:23 +04:00
|
|
|
++ grom :: merge sets
|
|
|
|
|* [one=(set) two=(set)]
|
|
|
|
^+ one
|
2014-05-09 04:34:57 +04:00
|
|
|
(~(gas in one) (~(tap in two) ~)) :: XX ugh
|
|
|
|
::
|
2014-05-14 04:04:23 +04:00
|
|
|
++ grum :: merge maps
|
|
|
|
|* [one=(map) two=(map)]
|
|
|
|
^+ one
|
|
|
|
(~(gas by one) (~(tap by two) ~)) :: XX ugh
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-04-30 21:04:07 +04:00
|
|
|
++ za :: per event
|
2014-05-14 04:04:23 +04:00
|
|
|
=| $: $: $: our=ship :: computation owner
|
2014-04-25 21:37:54 +04:00
|
|
|
tea=wire :: event place
|
|
|
|
hen=duct :: event floor
|
|
|
|
fav=card :: event data
|
|
|
|
== ::
|
|
|
|
$: now=@da :: event date
|
|
|
|
eny=@ :: unique entropy
|
2014-05-07 21:42:31 +04:00
|
|
|
ska=$+(* (unit (unit))) :: system namespace
|
2014-04-25 21:37:54 +04:00
|
|
|
== ::
|
|
|
|
mow=(list move) :: pending actions
|
|
|
|
== ::
|
2014-05-14 04:04:23 +04:00
|
|
|
bay=baby :: all owned state
|
2014-04-25 21:37:54 +04:00
|
|
|
== ::
|
|
|
|
|%
|
2014-04-30 22:27:01 +04:00
|
|
|
++ abet
|
2014-05-14 04:04:23 +04:00
|
|
|
^- [(list move) baby]
|
|
|
|
[(flop mow) bay]
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
|
|
|
++ apex
|
2014-05-09 04:34:57 +04:00
|
|
|
|- ^+ +.$
|
2014-04-30 22:27:01 +04:00
|
|
|
?^ tea
|
2014-04-30 21:04:07 +04:00
|
|
|
?> ?=([@ @ ~] tea)
|
|
|
|
=+ num=(need (slaw %ud i.tea))
|
|
|
|
?> ?=([%writ *] fav)
|
2014-05-14 04:04:23 +04:00
|
|
|
=+ tus=(~(get by q.tad.bay) num)
|
2014-04-30 21:04:07 +04:00
|
|
|
?~ tus
|
|
|
|
~& [%ford-lost num]
|
|
|
|
+.$
|
|
|
|
(~(resp zo [num u.tus]) (need (slaw %ud i.t.tea)) p.fav)
|
|
|
|
::
|
2014-05-09 04:34:57 +04:00
|
|
|
?+ -.fav +.$
|
2014-04-30 21:04:07 +04:00
|
|
|
%exec
|
2014-05-14 04:04:23 +04:00
|
|
|
=+ num=p.tad.bay
|
|
|
|
?> !(~(has by dym.bay) hen)
|
|
|
|
=: p.tad.bay +(p.tad.bay)
|
|
|
|
dym.bay (~(put by dym.bay) hen num)
|
2014-04-30 21:04:07 +04:00
|
|
|
==
|
2014-05-14 04:04:23 +04:00
|
|
|
~(exec zo [num `task`[hen p.fav 0 ~]])
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
|
|
|
%kill
|
2014-05-14 04:04:23 +04:00
|
|
|
=+ num=(need (~(get by dym.bay) hen))
|
|
|
|
=+ tas=(need (~(get by q.tad.bay) num))
|
2014-05-09 04:34:57 +04:00
|
|
|
:: ~(kill zo [num tas])
|
|
|
|
!!
|
2014-04-30 21:04:07 +04:00
|
|
|
==
|
2014-04-30 22:27:01 +04:00
|
|
|
::
|
2014-04-30 21:04:07 +04:00
|
|
|
++ zo
|
|
|
|
|_ [num=@ud task]
|
2014-05-14 04:04:23 +04:00
|
|
|
++ abet %_(..zo q.tad.bay (~(put by q.tad.bay) num +<+))
|
|
|
|
++ amok %_(..zo q.tad.bay (~(del by q.tad.bay) num))
|
2014-04-30 21:04:07 +04:00
|
|
|
++ camp :: request a file
|
2014-05-07 21:42:31 +04:00
|
|
|
|= [ren=care bem=beam]
|
2014-04-30 21:04:07 +04:00
|
|
|
^+ +>
|
|
|
|
=+ tik=(scot %ud p.kig)
|
|
|
|
=: p.kig +(p.kig)
|
2014-05-09 04:34:57 +04:00
|
|
|
q.kig (~(put by q.kig) p.kig bem)
|
2014-04-30 21:04:07 +04:00
|
|
|
==
|
|
|
|
%= $
|
|
|
|
mow :_ mow
|
2014-05-14 04:04:23 +04:00
|
|
|
:+ [~ %iron our]
|
2014-05-09 04:34:57 +04:00
|
|
|
[/c [%f (scot %ud num) (scot %ud tik) ~] hen]
|
2014-05-07 21:42:31 +04:00
|
|
|
[%warp p.bem q.bem [~ %& %x r.bem s.bem]]
|
2014-04-30 21:04:07 +04:00
|
|
|
==
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-05-14 21:32:00 +04:00
|
|
|
++ clef :: cache a result
|
|
|
|
|* sem=@tas
|
|
|
|
|* [hoc=(bolt) fun=(burg)]
|
|
|
|
?- -.q.hoc
|
|
|
|
%2 hoc
|
|
|
|
%1 hoc
|
|
|
|
%0
|
|
|
|
=^ cux p.hoc ((calk p.hoc) sem q.q.hoc)
|
|
|
|
?~ cux
|
|
|
|
=+ nuf=(cope hoc fun)
|
|
|
|
?- -.q.nuf
|
|
|
|
%2 nuf
|
|
|
|
%1 nuf
|
|
|
|
%0
|
|
|
|
:- p=(came p.nuf `calx`[sem `calm`[now p.q.nuf] q.q.hoc q.q.nuf])
|
|
|
|
q=q.q.nuf
|
|
|
|
==
|
|
|
|
:- p=p.hoc
|
|
|
|
^= q
|
|
|
|
:+ %0 p.q.hoc
|
|
|
|
?+ sem !!
|
|
|
|
%comp ?>(?=(%comp -.u.cux) r.u.cux)
|
|
|
|
==
|
|
|
|
==
|
|
|
|
::
|
2014-05-07 21:42:31 +04:00
|
|
|
++ coax :: bolt across
|
|
|
|
|* [hoc=(bolt) fun=(burg)]
|
2014-05-14 04:04:23 +04:00
|
|
|
?- -.q.hoc
|
2014-05-07 21:42:31 +04:00
|
|
|
%0 =+ nuf=(fun)
|
2014-05-14 04:04:23 +04:00
|
|
|
:- p=(chub p.hoc p.nuf)
|
|
|
|
^= q
|
|
|
|
?- -.q.nuf
|
|
|
|
%0 [%0 p=(grom p.q.hoc p.q.nuf) q=[q.q.hoc q.q.nuf]]
|
|
|
|
%1 q.nuf
|
|
|
|
%2 q.nuf
|
2014-05-07 21:42:31 +04:00
|
|
|
==
|
|
|
|
%1 =+ nuf=(fun)
|
2014-05-14 04:04:23 +04:00
|
|
|
:- p=(chub p.hoc p.nuf)
|
|
|
|
^= q
|
|
|
|
?- -.q.nuf
|
|
|
|
%0 q.hoc
|
|
|
|
%1 [%1 p=(grom p.q.nuf p.q.hoc)]
|
|
|
|
%2 q.nuf
|
2014-05-07 21:42:31 +04:00
|
|
|
==
|
|
|
|
%2 hoc
|
|
|
|
==
|
|
|
|
::
|
|
|
|
++ cope :: bolt along
|
|
|
|
|* [hoc=(bolt) fun=(burg)]
|
2014-05-14 04:04:23 +04:00
|
|
|
?- -.q.hoc
|
2014-05-07 21:42:31 +04:00
|
|
|
%2 hoc
|
|
|
|
%1 hoc
|
2014-05-14 04:04:23 +04:00
|
|
|
%0 =+ nuf=(fun q.q.hoc)
|
|
|
|
:- p=(chub p.hoc p.nuf)
|
|
|
|
^= q
|
|
|
|
?- -.q.nuf
|
|
|
|
%2 q.nuf
|
|
|
|
%1 q.nuf
|
|
|
|
%0 [%0 p=(grom `_p.q.nuf`p.q.hoc p.q.nuf) q=q.q.nuf]
|
2014-05-14 04:25:59 +04:00
|
|
|
== ==
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
|
|
|
++ coup :: toon to bolt
|
|
|
|
|* [ton=toon fun=(burg)]
|
2014-05-14 04:04:23 +04:00
|
|
|
:- p=*cafe
|
|
|
|
^= q
|
2014-05-07 21:42:31 +04:00
|
|
|
?- -.ton
|
2014-05-09 04:34:57 +04:00
|
|
|
%2 [%2 p=p.ton]
|
|
|
|
%0 [%0 p=~ q=(fun p.ton)]
|
2014-05-14 04:04:23 +04:00
|
|
|
%1 =- :- p=*cafe
|
|
|
|
^= q
|
|
|
|
?- faw
|
2014-05-14 04:25:59 +04:00
|
|
|
& [%1 p=(turn p.faw |=(a=beam [a *(list tank)]))]
|
2014-05-09 04:34:57 +04:00
|
|
|
| [%2 p=p.faw]
|
2014-05-07 21:42:31 +04:00
|
|
|
==
|
2014-05-14 04:25:59 +04:00
|
|
|
^= faw
|
2014-05-07 21:42:31 +04:00
|
|
|
|- ^- (each (list beam) (list tank))
|
|
|
|
?~ p.ton [%& ~]
|
|
|
|
=+ nex=$(p.ton t.p.ton)
|
|
|
|
=+ pax=(path i.p.ton)
|
|
|
|
=+ zis=(tome (path i.p.ton))
|
|
|
|
?~ zis
|
|
|
|
[%| (smyt pax) ?:(?=(& -.nex) ~ p.nex)]
|
|
|
|
?- -.nex
|
2014-05-09 04:34:57 +04:00
|
|
|
& [%& u.zis p.nex]
|
2014-05-07 21:42:31 +04:00
|
|
|
| nex
|
|
|
|
==
|
2014-04-30 21:04:07 +04:00
|
|
|
==
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
|
|
|
++ exec :: execute app
|
2014-04-30 21:04:07 +04:00
|
|
|
^+ ..zo
|
2014-05-09 04:34:57 +04:00
|
|
|
?: !=(~ q.kig) ..zo
|
2014-04-30 21:04:07 +04:00
|
|
|
|- ^+ ..zo
|
2014-05-10 11:10:46 +04:00
|
|
|
=+ bot=(make kas)
|
2014-05-14 04:04:23 +04:00
|
|
|
?- -.q.bot
|
|
|
|
%0 amok:(expo [%made %& p.q.bot q.q.bot])
|
|
|
|
%2 amok:(expo [%made %| p.q.bot])
|
|
|
|
%1 =+ zuk=(~(tap by p.q.bot) ~)
|
2014-05-09 04:34:57 +04:00
|
|
|
=< abet
|
|
|
|
|- ^+ ..exec
|
|
|
|
?~ zuk ..exec
|
|
|
|
=+ foo=`_..exec`(camp %x `beam`p.i.zuk)
|
|
|
|
$(zuk t.zuk, ..exec foo)
|
2014-04-30 22:27:01 +04:00
|
|
|
==
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-05-09 04:34:57 +04:00
|
|
|
++ expo :: return card
|
|
|
|
|= fav=card
|
2014-05-14 04:04:23 +04:00
|
|
|
%_(+> mow :_(mow [[~ %iron our] hen fav]))
|
2014-05-09 04:34:57 +04:00
|
|
|
::
|
2014-05-14 21:32:00 +04:00
|
|
|
++ fade :: compile
|
|
|
|
|= cay=cage
|
|
|
|
^- (bolt twig)
|
|
|
|
?. ?=(@ q.q.cay)
|
|
|
|
(flaw (smyt (tope bem)) ~)
|
|
|
|
=+ vex=((full vest) [[1 1] (trip q.q.cay)])
|
|
|
|
=+ vex=((full vest) [[1 1] (trip src)])
|
|
|
|
?~ q.vex
|
|
|
|
(flaw [%leaf "syntax error: {<p.p.vex>} {<q.p.vex>}"] ~)
|
|
|
|
(fine p.u.q.vex)
|
|
|
|
::
|
2014-05-12 02:48:41 +04:00
|
|
|
++ krab :: load to twig
|
2014-05-14 04:04:23 +04:00
|
|
|
|= [for=logo how=logo rem=spur bem=beam]
|
2014-05-12 02:48:41 +04:00
|
|
|
^- (bolt vase)
|
2014-05-14 04:04:23 +04:00
|
|
|
%+ cope (make %bake how bem)
|
2014-05-07 21:42:31 +04:00
|
|
|
|= cay=cage
|
2014-05-14 04:04:23 +04:00
|
|
|
?. ?=(@ q.q.cay)
|
|
|
|
(flaw (smyt (tope bem)) ~)
|
2014-05-07 21:42:31 +04:00
|
|
|
=+ vex=((full vest) [[1 1] (trip q.q.cay)])
|
|
|
|
?~ q.vex
|
2014-05-14 04:04:23 +04:00
|
|
|
(flaw [%leaf "syntax error: {<p.p.vex>} {<q.p.vex>}"] ~)
|
2014-05-12 02:48:41 +04:00
|
|
|
%+ cope (maim pit p.u.q.vex)
|
|
|
|
|= gat=vase
|
2014-05-14 04:04:23 +04:00
|
|
|
(maul gat !>([`beak`[p.bem q.bem r.bem] for +:s.bem rem]))
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
|
|
|
++ lace :: load and check
|
|
|
|
|= [for=logo rem=spur bem=beam]
|
2014-05-09 04:34:57 +04:00
|
|
|
^- (bolt (unit vase))
|
2014-05-12 02:48:41 +04:00
|
|
|
=+ bek=`beak`[p.bem q.bem r.bem]
|
2014-05-14 04:25:59 +04:00
|
|
|
%+ cope (lend bem)
|
2014-05-07 21:42:31 +04:00
|
|
|
|= arc=arch
|
|
|
|
?^ q.arc
|
2014-05-12 02:48:41 +04:00
|
|
|
(cope (liar bem) (lake for bek))
|
|
|
|
?: (~(has by r.arc) %hoon)
|
2014-05-14 04:04:23 +04:00
|
|
|
%+ cope (krab for %hoon rem bem)
|
2014-05-12 02:48:41 +04:00
|
|
|
(lake for bek)
|
|
|
|
?: (~(has by r.arc) %hook)
|
2014-05-14 04:04:23 +04:00
|
|
|
%+ cope (krab for %hook rem bem)
|
2014-05-12 02:48:41 +04:00
|
|
|
|= vax=vase
|
|
|
|
%+ cope ((lair for bem) vax)
|
|
|
|
|= vax=vase
|
|
|
|
(fine ~ vax)
|
|
|
|
(fine ~)
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
|
|
|
++ lake :: check/coerce
|
|
|
|
|= [for=logo bek=beak]
|
|
|
|
|= sam=vase
|
2014-05-09 04:34:57 +04:00
|
|
|
^- (bolt (unit vase))
|
2014-05-12 02:48:41 +04:00
|
|
|
?: ?=(?(%gate %core %hoon %hook) for)
|
2014-05-09 04:34:57 +04:00
|
|
|
(fine ~ sam)
|
2014-05-14 04:04:23 +04:00
|
|
|
%+ cope (make %boil %gate p.bek q.bek r.bek /ref/[for]/sys)
|
2014-05-09 04:34:57 +04:00
|
|
|
|= cay=cage
|
|
|
|
%+ cope (lane p.q.cay [%cnzy %$])
|
2014-05-07 21:42:31 +04:00
|
|
|
|= ref=type
|
|
|
|
?: (~(nest ut ref) | p.sam)
|
2014-05-09 04:34:57 +04:00
|
|
|
(fine ~ sam)
|
|
|
|
%+ cope (maul q.cay sam)
|
2014-05-07 21:42:31 +04:00
|
|
|
|= pro=vase
|
2014-05-09 04:34:57 +04:00
|
|
|
(fine ~ pro)
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-05-12 02:48:41 +04:00
|
|
|
++ lair :: metaload
|
|
|
|
|= [for=logo bem=beam]
|
|
|
|
|= vax=vase
|
|
|
|
^- (bolt vase)
|
|
|
|
?. (~(nest ut -:!>(*silk)) | p.vax)
|
2014-05-14 04:04:23 +04:00
|
|
|
(flaw (smyt (tope bem)) ~)
|
2014-05-12 02:48:41 +04:00
|
|
|
%+ cope (make ((hard silk) q.vax))
|
|
|
|
|= cay=cage
|
|
|
|
=+ too=`logo`?@(p.cay p.cay %noun)
|
|
|
|
(link for too [p.bem q.bem r.bem] q.cay)
|
|
|
|
::
|
2014-05-07 21:42:31 +04:00
|
|
|
++ lane :: type infer
|
|
|
|
|= [typ=type gen=twig]
|
|
|
|
%+ coup (mule |.((~(play ut typ) gen)))
|
|
|
|
|=(ref=type ref)
|
|
|
|
::
|
|
|
|
++ lend :: load arch
|
|
|
|
|= bem=beam
|
|
|
|
^- (bolt arch)
|
|
|
|
=+ von=(ska %cy (tope bem))
|
2014-05-14 04:04:23 +04:00
|
|
|
?~ von [p=*cafe q=[%1 [bem ~] ~ ~]]
|
2014-05-07 21:42:31 +04:00
|
|
|
(fine ((hard arch) (need u.von)))
|
|
|
|
::
|
|
|
|
++ liar :: load vase
|
|
|
|
|= bem=beam
|
2014-05-14 04:25:59 +04:00
|
|
|
^- (bolt vase)
|
2014-05-07 21:42:31 +04:00
|
|
|
=+ von=(ska %cx (tope bem))
|
|
|
|
?~ von
|
2014-05-14 04:04:23 +04:00
|
|
|
[p=*cafe q=[%1 [[bem ~] ~ ~]]]
|
2014-05-07 21:42:31 +04:00
|
|
|
?~ u.von
|
2014-05-14 04:04:23 +04:00
|
|
|
(flaw (smyt (tope bem)) ~)
|
2014-05-07 21:42:31 +04:00
|
|
|
(fine ?^(u.u.von [%cell %noun %noun] [%atom %$]) u.u.von)
|
|
|
|
::
|
|
|
|
++ lily :: translation targets
|
|
|
|
|= [for=logo bek=beak]
|
|
|
|
^- (bolt (list ,@tas))
|
|
|
|
%+ cope
|
|
|
|
%+ cope (lend p.bek q.bek r.bek `path`~[%tan for %sys])
|
|
|
|
|= arc=arch
|
|
|
|
(fine (turn (~(tap by r.arc) ~) |=([a=@tas b=~] a)))
|
|
|
|
|= all=(list ,@tas)
|
|
|
|
(fine ?.(=(%hoon for) all [%hoot all]))
|
|
|
|
::
|
|
|
|
++ lima :: load at depth
|
|
|
|
|= [for=logo rem=spur bem=beam]
|
|
|
|
^- (bolt (unit vase))
|
|
|
|
%+ cope (lend bem)
|
|
|
|
|= arc=arch
|
2014-05-09 04:34:57 +04:00
|
|
|
^- (bolt (unit vase))
|
2014-05-07 21:42:31 +04:00
|
|
|
?: (~(has by r.arc) for)
|
|
|
|
(lace for rem bem(s [for s.bem]))
|
2014-05-09 04:34:57 +04:00
|
|
|
%+ cope
|
2014-05-14 04:25:59 +04:00
|
|
|
%^ lion for
|
2014-05-09 04:34:57 +04:00
|
|
|
[p.bem q.bem r.bem]
|
|
|
|
(turn (~(tap by r.arc) ~) |=([a=@tas b=~] a))
|
|
|
|
|= wuy=(unit (list ,@tas))
|
|
|
|
?~ wuy (fine ~)
|
2014-05-14 04:04:23 +04:00
|
|
|
?> ?=(^ u.wuy)
|
|
|
|
%+ cope (make %bake i.u.wuy bem)
|
2014-05-09 04:34:57 +04:00
|
|
|
|= hoc=cage
|
2014-05-14 04:04:23 +04:00
|
|
|
%+ cope (lope i.u.wuy t.u.wuy [p.bem q.bem r.bem] q.hoc)
|
2014-05-07 21:42:31 +04:00
|
|
|
|= vax=vase
|
|
|
|
(fine ~ vax)
|
|
|
|
::
|
|
|
|
++ lime :: load beam
|
|
|
|
|= [for=logo bem=beam]
|
2014-05-09 04:34:57 +04:00
|
|
|
=+ [mob=bem rem=*path]
|
2014-05-07 21:42:31 +04:00
|
|
|
|- ^- (bolt vase)
|
2014-05-09 04:34:57 +04:00
|
|
|
%+ cope (lima for rem bem)
|
|
|
|
|= vux=(unit vase)
|
|
|
|
?^ vux (fine u.vux)
|
2014-05-07 21:42:31 +04:00
|
|
|
?~ s.bem
|
2014-05-14 04:04:23 +04:00
|
|
|
(flaw (smyt (tope mob)) ~)
|
2014-05-12 02:48:41 +04:00
|
|
|
^$(s.bem t.s.bem, rem [i.s.bem rem])
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-05-14 04:25:59 +04:00
|
|
|
++ link :: translate
|
2014-05-07 21:42:31 +04:00
|
|
|
|= [too=logo for=logo bek=beak vax=vase]
|
|
|
|
^- (bolt vase)
|
2014-05-12 02:48:41 +04:00
|
|
|
?: =(too for) (fine vax)
|
2014-05-07 21:42:31 +04:00
|
|
|
?: &(=(%hoot too) =(%hoon for))
|
|
|
|
(fine !>(ream))
|
2014-05-14 04:04:23 +04:00
|
|
|
%+ cope (make %boil %gate p.bek q.bek r.bek /[too]/tan/[for]/sys)
|
2014-05-09 04:34:57 +04:00
|
|
|
|= cay=cage
|
|
|
|
(maul q.cay vax)
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
2014-05-09 04:34:57 +04:00
|
|
|
++ lion :: translation search
|
2014-05-07 21:42:31 +04:00
|
|
|
|= [too=@tas bek=beak fro=(list ,@tas)]
|
2014-05-09 04:34:57 +04:00
|
|
|
^- (bolt (unit (list ,@tas)))
|
2014-05-07 21:42:31 +04:00
|
|
|
=| war=(set ,@tas)
|
2014-05-09 04:34:57 +04:00
|
|
|
=< -:(apex (fine fro))
|
2014-05-14 04:04:23 +04:00
|
|
|
|% :: XX improve monads
|
2014-05-07 21:42:31 +04:00
|
|
|
++ apex
|
|
|
|
|= rof=(bolt (list ,@tas))
|
2014-05-09 04:34:57 +04:00
|
|
|
^- [(bolt (unit (list ,@tas))) _+>]
|
2014-05-14 04:04:23 +04:00
|
|
|
?. ?=(%0 -.q.rof) [rof +>.$]
|
|
|
|
?~ q.q.rof
|
|
|
|
[[p.rof [%0 p.q.rof ~]] +>.$]
|
|
|
|
=^ orf +>.$ (apse i.q.q.rof)
|
|
|
|
?. ?=(%0 -.q.orf)
|
|
|
|
[[(chub p.rof p.orf) q.orf] +>.$]
|
|
|
|
?~ q.q.orf
|
|
|
|
$(q.q.rof t.q.q.rof)
|
|
|
|
[[(chub p.rof p.orf) [%0 (grom p.q.rof p.q.orf) q.q.orf]] +>.$]
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
2014-05-07 21:42:31 +04:00
|
|
|
++ apse
|
|
|
|
|= for=@tas
|
2014-05-09 04:34:57 +04:00
|
|
|
^- [(bolt (unit (list ,@tas))) _+>]
|
2014-05-14 04:25:59 +04:00
|
|
|
?: =(for too)
|
2014-05-09 04:34:57 +04:00
|
|
|
[(fine [~ too ~]) +>.$]
|
|
|
|
?: (~(has in war) for) [(fine ~) +>]
|
2014-05-07 21:42:31 +04:00
|
|
|
=. war (~(put in war) for)
|
|
|
|
=^ orf +>.$ (apex (lily for bek))
|
|
|
|
:_ +>.$
|
2014-05-09 04:34:57 +04:00
|
|
|
%+ cope orf
|
|
|
|
|= ked=(unit (list ,@tas))
|
2014-05-14 04:25:59 +04:00
|
|
|
?~ ked
|
2014-05-09 04:34:57 +04:00
|
|
|
(fine ~)
|
|
|
|
(fine ~ [for u.ked])
|
2014-05-07 21:42:31 +04:00
|
|
|
--
|
|
|
|
::
|
|
|
|
++ lope
|
|
|
|
|= [for=logo yaw=(list logo) bek=beak vax=vase]
|
|
|
|
^- (bolt vase)
|
2014-05-09 04:34:57 +04:00
|
|
|
?~ yaw (fine vax)
|
2014-05-07 21:42:31 +04:00
|
|
|
%+ cope (link i.yaw for bek vax)
|
|
|
|
|= yed=vase
|
2014-05-09 04:34:57 +04:00
|
|
|
^$(yaw t.yaw, vax yed)
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
|
|
|
++ make :: reduce silk
|
|
|
|
|= kas=silk
|
|
|
|
^- (bolt cage)
|
|
|
|
?- -.kas
|
2014-04-30 21:04:07 +04:00
|
|
|
^
|
2014-05-07 21:42:31 +04:00
|
|
|
%. [p.kas q.kas]
|
|
|
|
;~ cope
|
|
|
|
;~ coax
|
|
|
|
|=([p=silk q=silk] ^$(kas p.kas))
|
|
|
|
|=([p=silk q=silk] ^$(kas q.kas))
|
|
|
|
==
|
|
|
|
::
|
|
|
|
|= [bor=cage heg=cage] ^- (bolt cage)
|
2014-05-14 04:04:23 +04:00
|
|
|
:- *cafe
|
2014-05-07 21:42:31 +04:00
|
|
|
:+ %0 ~
|
|
|
|
[[p.bor p.heg] (slop q.bor q.heg)]
|
|
|
|
==
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
2014-05-14 04:25:59 +04:00
|
|
|
%bake
|
|
|
|
%+ cope (lima p.kas ~ q.kas)
|
|
|
|
|= vux=(unit vase)
|
2014-05-09 04:34:57 +04:00
|
|
|
?~ vux
|
|
|
|
(flaw (smyt (tope q.kas)) ~)
|
|
|
|
(fine [p.kas u.vux])
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
2014-05-09 04:34:57 +04:00
|
|
|
%boil (cope (lime p.kas q.kas) |=(a=vase (fine [p.kas a])))
|
2014-04-30 21:04:07 +04:00
|
|
|
%call
|
2014-05-07 21:42:31 +04:00
|
|
|
%. [p.kas q.kas]
|
|
|
|
;~ cope
|
|
|
|
;~ coax
|
|
|
|
|=([p=silk q=silk] ^$(kas p))
|
|
|
|
|=([p=silk q=silk] ^$(kas q))
|
|
|
|
==
|
|
|
|
::
|
2014-05-09 04:34:57 +04:00
|
|
|
|= [gat=cage sam=cage]
|
|
|
|
(maul q.gat q.sam)
|
2014-05-07 21:42:31 +04:00
|
|
|
::
|
|
|
|
|= vax=vase
|
2014-05-09 04:34:57 +04:00
|
|
|
(fine %noun vax)
|
2014-05-07 21:42:31 +04:00
|
|
|
==
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
2014-05-10 11:10:46 +04:00
|
|
|
%cast
|
|
|
|
%+ cope $(kas r.kas)
|
|
|
|
|= cay=cage
|
|
|
|
=+ for=`logo`?@(p.cay p.cay %noun)
|
|
|
|
%+ cope (link p.kas ?@(p.cay p.cay %noun) q.kas q.cay)
|
|
|
|
|= vax=vase
|
|
|
|
(fine [p.kas vax])
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
2014-05-09 04:34:57 +04:00
|
|
|
%reef (fine %noun pit)
|
2014-04-30 21:04:07 +04:00
|
|
|
==
|
|
|
|
::
|
2014-04-30 22:27:01 +04:00
|
|
|
++ maim :: slap
|
2014-05-07 21:42:31 +04:00
|
|
|
|= [vax=vase gen=twig]
|
|
|
|
^- (bolt vase)
|
|
|
|
=+ puz=(mule |.((~(mint ut p.vax) [%noun gen])))
|
|
|
|
?- -.puz
|
2014-05-14 04:04:23 +04:00
|
|
|
| (flaw p.puz)
|
2014-05-09 04:34:57 +04:00
|
|
|
& %+ coup (mock [q.vax q.p.puz] (mole ska))
|
|
|
|
|= val=*
|
|
|
|
`vase`[p.p.puz val]
|
|
|
|
==
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
|
|
|
++ maul :: slam
|
2014-05-02 03:33:15 +04:00
|
|
|
|= [gat=vase sam=vase]
|
2014-05-07 21:42:31 +04:00
|
|
|
^- (bolt vase)
|
|
|
|
=+ top=(mule |.((slit p.gat p.sam)))
|
2014-05-14 04:25:59 +04:00
|
|
|
?- -.top
|
2014-05-14 04:04:23 +04:00
|
|
|
| (flaw p.top)
|
2014-05-09 04:34:57 +04:00
|
|
|
& %+ coup (mong [q.gat q.sam] (mole ska))
|
2014-05-14 04:25:59 +04:00
|
|
|
|= val=*
|
2014-05-09 04:34:57 +04:00
|
|
|
`vase`[p.top val]
|
|
|
|
==
|
2014-04-30 21:04:07 +04:00
|
|
|
::
|
|
|
|
++ resp
|
|
|
|
|= [tik=@ud rot=riot]
|
|
|
|
^+ ..zo
|
|
|
|
?> (~(has by q.kig) tik)
|
|
|
|
?~ rot
|
2014-05-09 04:34:57 +04:00
|
|
|
amok:(expo [%made %| (smyt (tope (need (~(get by q.kig) tik)))) ~])
|
2014-04-30 21:04:07 +04:00
|
|
|
exec(q.kig (~(del by q.kig) tik))
|
|
|
|
--
|
|
|
|
--
|
|
|
|
--
|
2014-04-23 21:02:36 +04:00
|
|
|
. ==
|
|
|
|
=| axle
|
|
|
|
=* lex -
|
2014-05-02 03:33:15 +04:00
|
|
|
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
|
2014-04-23 21:02:36 +04:00
|
|
|
^? :: opaque core
|
|
|
|
|% ::
|
|
|
|
++ beat :: process move
|
2014-05-09 04:47:34 +04:00
|
|
|
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|
2014-04-23 21:02:36 +04:00
|
|
|
^- [p=(list move) q=vane]
|
2014-04-30 21:04:07 +04:00
|
|
|
?~ wru ~|(%beat-whom !!)
|
2014-05-14 04:04:23 +04:00
|
|
|
=+ ^= bay ^- baby
|
|
|
|
=+ buy=(~(get by pol.lex) q.u.wru)
|
|
|
|
?~(buy *baby u.buy)
|
|
|
|
=^ mos bay
|
|
|
|
abet:~(apex za [[q.u.wru tea hen fav] [now eny ska] ~] bay)
|
|
|
|
[mos ..^$(pol (~(put by pol) q.u.wru bay))]
|
2014-04-23 21:02:36 +04:00
|
|
|
::
|
|
|
|
++ come
|
|
|
|
|= [sam=? old=vase]
|
|
|
|
^- vane
|
|
|
|
(load old)
|
|
|
|
::
|
|
|
|
++ doze
|
|
|
|
|= [now=@da hen=duct]
|
|
|
|
^- (unit ,@da)
|
|
|
|
~
|
|
|
|
::
|
|
|
|
++ load
|
|
|
|
|= old=vase
|
|
|
|
^- vane
|
2014-04-30 21:04:07 +04:00
|
|
|
?. (~(nest ut -:!>(`axle`+>-.^$)) | p.old)
|
2014-05-14 04:04:23 +04:00
|
|
|
~& %ford-reset
|
2014-04-23 21:02:36 +04:00
|
|
|
..^$
|
2014-04-30 21:04:07 +04:00
|
|
|
..^$(+>- (axle q.old))
|
2014-04-23 21:02:36 +04:00
|
|
|
::
|
|
|
|
++ raze
|
|
|
|
^- vane
|
2014-04-30 21:04:07 +04:00
|
|
|
..$(+>- *axle)
|
2014-04-23 21:02:36 +04:00
|
|
|
::
|
|
|
|
++ scry
|
2014-05-09 04:47:34 +04:00
|
|
|
|= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path]
|
2014-05-09 21:18:23 +04:00
|
|
|
^- (unit (unit))
|
2014-04-23 21:02:36 +04:00
|
|
|
~
|
|
|
|
::
|
|
|
|
++ stay
|
2014-04-30 21:04:07 +04:00
|
|
|
`vase`!>((colt `axle`+>-.$))
|
2014-04-23 21:02:36 +04:00
|
|
|
++ vern [164 0]
|
|
|
|
--
|