Add cache to ++song, etc.

This commit is contained in:
C. Guy Yarvin 2015-01-12 17:49:31 -08:00
parent d2be7d7585
commit 4247446cc3
4 changed files with 234 additions and 174 deletions

View File

@ -114,6 +114,8 @@
== :: == ::
++ calx :: concrete cache line ++ calx :: concrete cache line
$% [%hood p=calm q=(pair beam cage) r=hood] :: compile $% [%hood p=calm q=(pair beam cage) r=hood] :: compile
[%slit p=calm q=[p=type q=type] r=type] :: slam type
[%slim p=calm q=[p=type q=twig] r=(pair type nock)]:: mint
[%slap p=calm q=[p=vase q=twig] r=vase] :: compute [%slap p=calm q=[p=vase q=twig] r=vase] :: compute
[%slam p=calm q=[p=vase q=vase] r=vase] :: compute [%slam p=calm q=[p=vase q=vase] r=vase] :: compute
== :: == ::
@ -131,6 +133,8 @@
%hood ?>(?=(%hood -.cax) r.cax) %hood ?>(?=(%hood -.cax) r.cax)
%slap ?>(?=(%slap -.cax) r.cax) %slap ?>(?=(%slap -.cax) r.cax)
%slam ?>(?=(%slam -.cax) r.cax) %slam ?>(?=(%slam -.cax) r.cax)
%slim ?>(?=(%slim -.cax) r.cax)
%slit ?>(?=(%slit -.cax) r.cax)
== ==
:: ::
++ calk :: cache lookup ++ calk :: cache lookup
@ -189,6 +193,76 @@
=+ gib=(wox p.n.r.arc) =+ gib=(wox p.n.r.arc)
?~(gib rac [[u.gib p.n.r.arc] rac]) ?~(gib rac [[u.gib p.n.r.arc] rac])
:: ::
--
. ==
=| axle
=* lex -
|= [now=@da eny=@ ski=sled] :: activate
^? :: opaque core
~% %ford-d +>+>+>+>+>+> ~
|% ::
++ call :: request
~/ %call
|= [hen=duct hic=(hypo (hobo kiss))]
^- [p=(list move) q=_..^$]
=> .(q.hic ?.(?=(%soft -.q.hic) q.hic ((hard kiss) p.q.hic)))
=+ ska=(slod ski)
=+ ^= our ^- @p
?- -.q.hic
%exec p.q.hic
==
=+ ^= bay ^- baby
=+ buy=(~(get by pol.lex) our)
?~(buy *baby u.buy)
=^ mos bay
abet:(~(apex za [[our ~ hen] [now eny ska] ~] bay) q.q.hic)
[mos ..^$(pol (~(put by pol) our bay))]
::
++ doze
|= [now=@da hen=duct]
^- (unit ,@da)
~
::
++ load :: highly forgiving
|= old=*
=. old
?. ?=([%0 *] old) old :: remove at 1
:- %1
|- ^- *
?~ +.old ~
?> ?=([n=[p=* q=[tad=* dym=* jav=*]] l=* r=*] +.old)
:- [p.n.+.old [tad.q.n.+.old dym.q.n.+.old ~]]
[$(+.old l.+.old) $(+.old r.+.old)]
=+ lox=((soft axle) old)
^+ ..^$
?~ lox
~& %ford-reset
..^$
..^$(+>- u.lox)
::
++ scry
|= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]
^- (unit (unit (pair mark ,*)))
~
::
++ stay :: save w/o cache
`axle`+>-.$(pol (~(run by pol) |=(a=baby [tad.a dym.a ~])))
::
++ take :: response
~/ %take
|= [tea=wire hen=duct hin=(hypo sign)]
^- [p=(list move) q=_..^$]
=+ ska=(slod ski)
?> ?=([@ @ @ ~] tea)
=+ :* our=(need (slaw %p i.tea))
num=(need (slaw %ud i.t.tea))
tik=(need (slaw %ud i.t.t.tea))
==
=+ bay=(need (~(get by pol.lex) our))
=^ mos bay
abet:(~(axon za [[our tea hen] [now eny ska] ~] bay) num tik q.hin)
[mos ..^$(pol (~(put by pol) our bay))]
::
++ za :: per event ++ za :: per event
=| $: $: $: our=ship :: computation owner =| $: $: $: our=ship :: computation owner
tea=wire :: event place tea=wire :: event place
@ -202,6 +276,7 @@
== :: == ::
bay=baby :: all owned state bay=baby :: all owned state
== :: == ::
~% %za +> ~
|% |%
++ abet :: resolve ++ abet :: resolve
^- [(list move) baby] ^- [(list move) baby]
@ -237,6 +312,7 @@
== ==
:: ::
++ zo ++ zo
~% %zo +> ~
|_ [num=@ud task] |_ [num=@ud task]
++ abet %_(..zo q.tad.bay (~(put by q.tad.bay) num +<+)) ++ abet %_(..zo q.tad.bay (~(put by q.tad.bay) num +<+))
++ amok ++ amok
@ -581,6 +657,7 @@
-- --
:: ::
++ kale :: mutate ++ kale :: mutate
~/ %kale
|= [cof=cafe kas=silk muy=(list (pair wing silk))] |= [cof=cafe kas=silk muy=(list (pair wing silk))]
^- (bolt cage) ^- (bolt cage)
%+ cope %+ cope
@ -599,9 +676,10 @@
(fine cof p.cay vax) (fine cof p.cay vax)
:: ::
++ keel :: apply mutations ++ keel :: apply mutations
~/ %keel
|= [cof=cafe suh=vase yom=(list (pair wing vase))] |= [cof=cafe suh=vase yom=(list (pair wing vase))]
^- (bolt vase) ^- (bolt vase)
%^ maim cof %^ maim-a cof
%+ slop suh %+ slop suh
|- ^- vase |- ^- vase
?~ yom [[%atom %n] ~] ?~ yom [[%atom %n] ~]
@ -666,6 +744,7 @@
((lake for [our %main [%da now]]) cof [%noun som]) ((lake for [our %main [%da now]]) cof [%noun som])
:: ::
++ lane :: type infer ++ lane :: type infer
~/ %lane
|= [cof=cafe typ=type gen=twig] |= [cof=cafe typ=type gen=twig]
%+ (cowl cof) (mule |.((~(play ut typ) gen))) %+ (cowl cof) (mule |.((~(play ut typ) gen)))
|=(ref=type ref) |=(ref=type ref)
@ -754,7 +833,7 @@
?: &((slab %grow p.pro) (slab too p:(slap pro [%cnzy %grow]))) ?: &((slab %grow p.pro) (slab too p:(slap pro [%cnzy %grow])))
%+ cope (keel cof pro [[%& 6]~ vax]~) %+ cope (keel cof pro [[%& 6]~ vax]~)
|= [cof=cafe pox=vase] |= [cof=cafe pox=vase]
(maim cof pox [%tsgr [%cnzy %grow] [%cnzy too]]) (maim-b cof pox [%tsgr [%cnzy %grow] [%cnzy too]])
%+ cope (fang cof too bek) %+ cope (fang cof too bek)
|= [cof=cafe pro=vase] |= [cof=cafe pro=vase]
=+ ^= zat ^- (unit vase) =+ ^= zat ^- (unit vase)
@ -807,19 +886,37 @@
|= [cof=cafe yed=vase] |= [cof=cafe yed=vase]
^$(cof cof, for i.yaw, yaw t.yaw, vax yed) ^$(cof cof, for i.yaw, yaw t.yaw, vax yed)
:: ::
++ maim :: slap ++ mail :: cached mint
|= [cof=cafe vax=vase gen=twig] ~/ %mail
^- (bolt vase) |= [cof=cafe sut=type gen=twig]
%+ (clef %slap) (fine cof vax gen) ^- (bolt (pair type nock))
|= [cof=cafe vax=vase gen=twig] %+ (clef %slim) (fine cof sut gen)
=+ puz=(mule |.((~(mint ut p.vax) [%noun gen]))) |= [cof=cafe sut=type gen=twig]
=+ puz=(mule |.((~(mint ut sut) [%noun gen])))
?- -.puz ?- -.puz
| (flaw cof p.puz) | (flaw cof p.puz)
& %+ (coup cof) (mock [q.vax q.p.puz] (mole ska)) & (fine cof p.puz)
|= val=*
`vase`[p.p.puz val]
== ==
:: ::
++ maim :: slap
~/ %maim
|= [cof=cafe vax=vase gen=twig]
^- (bolt vase)
%+ cope (mail cof p.vax gen)
|= [cof=cafe typ=type fol=nock]
%+ (coup cof) (mock [q.vax fol] (mole ska))
|=(val=* `vase`[typ val])
::
++ maim-a ~/(%maim-a |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-b ~/(%maim-b |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-c ~/(%maim-c |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-d ~/(%maim-d |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-e ~/(%maim-e |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-f ~/(%maim-f |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-g ~/(%maim-g |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-h ~/(%maim-h |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
++ maim-i ~/(%maim-i |=([cof=cafe vax=vase gen=twig] (maim cof vax gen)))
::
++ make :: reduce silk ++ make :: reduce silk
|= [cof=cafe kas=silk] |= [cof=cafe kas=silk]
^- (bolt cage) ^- (bolt cage)
@ -894,7 +991,7 @@
%+ cool |.(leaf/"ford: ride {<`@p`(mug kas)>}") %+ cool |.(leaf/"ford: ride {<`@p`(mug kas)>}")
%+ cope $(kas q.kas) %+ cope $(kas q.kas)
|= [cof=cafe cay=cage] |= [cof=cafe cay=cage]
%+ cope (maim cof q.cay p.kas) %+ cope (maim-c cof q.cay p.kas)
|= [cof=cafe vax=vase] |= [cof=cafe vax=vase]
(fine cof %noun vax) (fine cof %noun vax)
:: ::
@ -905,19 +1002,27 @@
(fine cof `cage`[p.kas vax]) (fine cof `cage`[p.kas vax])
== ==
:: ::
++ maul :: slam ++ malt :: cached slit
|= [cof=cafe gat=vase sam=vase] ~/ %malt
^- (bolt vase) |= [cof=cafe gat=type sam=type]
%+ (clef %slam) (fine cof gat sam) ^- (bolt type)
|= [cof=cafe gat=vase sam=vase] %+ (clef %slit) (fine cof gat sam)
=+ top=(mule |.((slit p.gat p.sam))) |= [cof=cafe gat=type sam=type]
=+ top=(mule |.((slit gat sam)))
?- -.top ?- -.top
| (flaw cof p.top) | (flaw cof p.top)
& %+ (coup cof) (mong [q.gat q.sam] (mole ska)) & (fine cof p.top)
|= val=*
`vase`[p.top val]
== ==
:: ::
++ maul :: slam
~/ %maul
|= [cof=cafe gat=vase sam=vase]
^- (bolt vase)
%+ cope (malt cof p.gat p.sam)
|= [cof=cafe typ=type]
%+ (coup cof) (mong [q.gat q.sam] (mole ska))
|=(val=* `vase`[typ val])
::
++ meow :: assemble ++ meow :: assemble
|= [how=beam arg=heel] |= [how=beam arg=heel]
=| $: rop=(map term (pair hoof twig)) :: structure/complex =| $: rop=(map term (pair hoof twig)) :: structure/complex
@ -926,6 +1031,7 @@
zeg=(set term) :: library guard zeg=(set term) :: library guard
boy=(list twig) :: body stack boy=(list twig) :: body stack
== ==
~% %meow +>+> ~
|% |%
++ able :: assemble preamble ++ able :: assemble preamble
^- twig ^- twig
@ -949,16 +1055,17 @@
[%ash [%tssg (flop boy)]] [%ash [%tssg (flop boy)]]
:: ::
++ abut :: generate ++ abut :: generate
~/ %abut
|= [cof=cafe hyd=hood] |= [cof=cafe hyd=hood]
^- (bolt vase) ^- (bolt vase)
%+ cope (apex cof hyd) %+ cope (apex cof hyd)
|= [cof=cafe sel=_..abut] |= [cof=cafe sel=_..abut]
=. ..abut sel =. ..abut sel
%+ cope (maim cof pit able) %+ cope (maim-d cof pit able)
|= [cof=cafe bax=vase] |= [cof=cafe bax=vase]
%+ cope (chap cof bax [%fan fan.hyd]) %+ cope (chap cof bax [%fan fan.hyd])
|= [cof=cafe gox=vase] |= [cof=cafe gox=vase]
%+ cope (maim cof (slop gox bax) [%tssg (flop boy)]) %+ cope (maim-e cof (slop gox bax) [%tssg (flop boy)])
|= [cof=cafe fin=vase] |= [cof=cafe fin=vase]
(fine cof fin) (fine cof fin)
:: ~> %slog.[0 ~(duck ut p.q.cay)] :: ~> %slog.[0 ~(duck ut p.q.cay)]
@ -1030,12 +1137,13 @@
(slop $(doy l.doy) $(doy r.doy)) (slop $(doy l.doy) $(doy r.doy))
:: ::
++ chap :: produce resources ++ chap :: produce resources
~/ %chap
|= [cof=cafe bax=vase hon=horn] |= [cof=cafe bax=vase hon=horn]
^- (bolt vase) ^- (bolt vase)
?- -.hon ?- -.hon
%ape (maim cof bax p.hon) %ape (maim-f cof bax p.hon)
%arg %arg
%+ cope (maim cof bax p.hon) %+ cope (maim-g cof bax p.hon)
|= [cof=cafe gat=vase] |= [cof=cafe gat=vase]
(maul cof gat !>([how arg])) (maul cof gat !>([how arg]))
:: ::
@ -1082,14 +1190,14 @@
%saw %saw
%+ cope $(hon q.hon) %+ cope $(hon q.hon)
|= [cof=cafe sam=vase] |= [cof=cafe sam=vase]
%+ cope (maim cof bax p.hon) %+ cope (maim-h cof bax p.hon)
|= [cof=cafe gat=vase] |= [cof=cafe gat=vase]
(maul cof gat sam) (maul cof gat sam)
:: ::
%sic %sic
%+ cope $(hon q.hon) %+ cope $(hon q.hon)
|= [cof=cafe vax=vase] |= [cof=cafe vax=vase]
%+ cope (maim cof bax [%bctr p.hon]) %+ cope (maim-i cof bax [%bctr p.hon])
|= [cof=cafe tug=vase] |= [cof=cafe tug=vase]
?. (~(nest ut p.tug) | p.vax) ?. (~(nest ut p.tug) | p.vax)
(flaw cof [%leaf "type error: {<p.hon>} {<q.hon>}"]~) (flaw cof [%leaf "type error: {<p.hon>} {<q.hon>}"]~)
@ -1207,69 +1315,3 @@
-- --
-- --
-- --
. ==
=| axle
=* lex -
|= [now=@da eny=@ ski=sled] :: activate
^? :: opaque core
|% ::
++ call :: request
|= [hen=duct hic=(hypo (hobo kiss))]
^- [p=(list move) q=_..^$]
=> .(q.hic ?.(?=(%soft -.q.hic) q.hic ((hard kiss) p.q.hic)))
=+ ska=(slod ski)
=+ ^= our ^- @p
?- -.q.hic
%exec p.q.hic
==
=+ ^= bay ^- baby
=+ buy=(~(get by pol.lex) our)
?~(buy *baby u.buy)
=^ mos bay
abet:(~(apex za [[our ~ hen] [now eny ska] ~] bay) q.q.hic)
[mos ..^$(pol (~(put by pol) our bay))]
::
++ doze
|= [now=@da hen=duct]
^- (unit ,@da)
~
::
++ load :: highly forgiving
|= old=*
=. old
?. ?=([%0 *] old) old :: remove at 1
:- %1
|- ^- *
?~ +.old ~
?> ?=([n=[p=* q=[tad=* dym=* jav=*]] l=* r=*] +.old)
:- [p.n.+.old [tad.q.n.+.old dym.q.n.+.old ~]]
[$(+.old l.+.old) $(+.old r.+.old)]
=+ lox=((soft axle) old)
^+ ..^$
?~ lox
~& %ford-reset
..^$
..^$(+>- u.lox)
::
++ scry
|= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]
^- (unit (unit (pair mark ,*)))
~
::
++ stay :: save w/o cache
`axle`+>-.$(pol (~(run by pol) |=(a=baby [tad.a dym.a ~])))
::
++ take :: response
|= [tea=wire hen=duct hin=(hypo sign)]
^- [p=(list move) q=_..^$]
=+ ska=(slod ski)
?> ?=([@ @ @ ~] tea)
=+ :* our=(need (slaw %p i.tea))
num=(need (slaw %ud i.t.tea))
tik=(need (slaw %ud i.t.t.tea))
==
=+ bay=(need (~(get by pol.lex) our))
=^ mos bay
abet:(~(axon za [[our tea hen] [now eny ska] ~] bay) num tik q.hin)
[mos ..^$(pol (~(put by pol) our bay))]
--

View File

@ -9678,7 +9678,8 @@
++ sled $+ [(unit (set monk)) term beam] :: namespace function ++ sled $+ [(unit (set monk)) term beam] :: namespace function
(unit (unit cage)) :: (unit (unit cage)) ::
++ slut $+(* (unit (unit))) :: old namespace ++ slut $+(* (unit (unit))) :: old namespace
++ vile :: reflexive constants ++ veal (set ,^) :: actually pair type
++ vile :: reflexive constants
$: typ=type :: -:!>(*type) $: typ=type :: -:!>(*type)
duc=type :: -:!>(*duct) duc=type :: -:!>(*duct)
pah=type :: -:!>(*path) pah=type :: -:!>(*path)
@ -9713,21 +9714,21 @@
:: section 3bE, Arvo core :: :: section 3bE, Arvo core ::
:: ::
++ vent :: vane core ++ vent :: vane core
|= [lal=@tas vil=vile bud=vase ves=vase] |= [lal=@tas vil=vile bud=vase sew=(pair veal vase)]
~% %vent +>+ ~ ~% %vent +>+ ~
|% |%
++ ruck :: update vase ++ ruck :: update vase
|= [pax=path txt=@ta] |= [pax=path txt=@ta]
^+ +> ^+ +>
=+ arg=[~2000.1.1 0 =>(~ |+(* ~))] =+ arg=[~2000.1.1 0 =>(~ |+(* ~))]
=+ rig=(slym ves arg) =+ rig=(slym q.sew arg)
=+ rev=(slym (slap bud (rain pax txt)) bud) =+ rev=(slym (slap bud (rain pax txt)) bud)
=+ syg=(slym rev arg) =+ syg=(slym rev arg)
+>.$(ves (slam (slap syg [%cnzy %load]) (slap rig [%cnzy %stay]))) +>.$(q.sew (slam (slap syg [%cnzy %load]) (slap rig [%cnzy %stay])))
:: ::
++ wink :: deploy ++ wink :: deploy
|= [now=@da eny=@ ski=sled] |= [now=@da eny=@ ski=sled]
=+ rig=(slym ves +<) :: activate vane =+ rig=(slym q.sew +<) :: activate vane
~% %wink +>+> ~ ~% %wink +>+> ~
|% |%
++ doze ++ doze
@ -9738,10 +9739,13 @@
++ sike :: check metatype ++ sike :: check metatype
~/ %sike ~/ %sike
|= [sub=type ref=*] |= [sub=type ref=*]
^- ? ^- (pair ,? veal)
:: ?: =(~ ~) & ?: (~(has in p.sew) [sub ref]) [& p.sew]
=+ gat=|=([a=type b=type] (~(nest ut a) | b)) =+ ^= hip
(,? .*(gat(+< [sub ref]) -.gat)) =+ gat=|=([a=type b=type] (~(nest ut a) | b))
(,? .*(gat(+< [sub ref]) -.gat))
?. hip [| p.sew]
[& (~(put in p.sew) [sub ref])]
:: ::
++ slid ++ slid
|= [hed=mill tal=mill] |= [hed=mill tal=mill]
@ -9758,21 +9762,25 @@
| [%| [%cell typ.vil p.p.hil] p.hil] | [%| [%cell typ.vil p.p.hil] p.hil]
== ==
:: ::
++ slur ++ slur :: call gate on
|= [gat=vase hil=mill] |= [gat=vase hil=mill]
^- (unit vase) ^- (unit (pair vase veal))
=+ sam=(slot 6 gat) =+ sam=(slot 6 gat)
?. ?- -.hil =+ ^= hig
& (souk p.sam p.p.hil) ?- -.hil
| (sike p.sam p.p.hil) & (souk p.sam p.p.hil)
== ~ | (sike p.sam p.p.hil)
`(slym gat +>.hil) ==
?.(p.hig ~ `[(slym gat +>.hil) q.hig])
:: ::
++ souk :: check type ++ souk :: check type
~/ %souk ~/ %souk
|= [sub=type ref=type] |= [sub=type ref=type]
:: ?: =(~ ~) & ^- (pair ,? veal)
(~(nest ut sub) | ref) ?: (~(has in p.sew) [sub ref]) [& p.sew]
=+ hip=(~(nest ut sub) | ref)
?. hip [| p.sew]
[& (~(put in p.sew) [sub ref])]
:: ::
++ sunk :: type is cell ++ sunk :: type is cell
|= ref=type |= ref=type
@ -9782,31 +9790,35 @@
++ song :: reduce metacard ++ song :: reduce metacard
~/ %song :: ~/ %song ::
|= mex=vase :: mex: vase of card |= mex=vase :: mex: vase of card
^- (unit mill) :: ^- (unit (pair mill veal)) ::
?. (sunk p.mex) ~ :: a card is a cell =^ hip p.sew (sunk p.mex) ::
?. ?=(%meta -.q.mex) `[%& mex] :: ordinary card ?. hip ~ :: a card is a cell
?. ?=(%meta -.q.mex) `[[%& mex] p.sew] :: ordinary card
=+ tiv=(slot 3 mex) :: tiv: vase of vase =+ tiv=(slot 3 mex) :: tiv: vase of vase
?. (sunk p.tiv) ~ :: a vase is a cell =^ hip p.sew (sunk p.tiv) ::
?. (souk typ.vil p:(slot 2 tiv)) ~ :: vase head is type ?. hip ~ :: a vase is a cell
%- biff :_ |=(a=milt `[%| a]) :: milt to mill =^ hip p.sew (souk typ.vil p:(slot 2 tiv)) ::
?. hip ~ :: vase head is type
%- biff :_ |=(a=milt `[[%| a] p.sew]) :: milt to mill
=+ mut=(milt q.tiv) :: card type, value =+ mut=(milt q.tiv) :: card type, value
|- ^- (unit milt) :: |- ^- (unit milt) ::
?. ?=([%meta p=* q=milt] q.mut) `mut :: ordinary metacard ?. ?=([%meta p=* q=milt] q.mut) `mut :: ordinary metacard
?. (sike mev.vil p.mut) ~ :: meta-metacard =^ hip p.sew (sike mev.vil p.mut) ::
?. hip ~ :: meta-metacard
$(mut +.q.mut) :: descend into meta $(mut +.q.mut) :: descend into meta
:: ::
++ sump :: vase to move ++ sump :: vase to move
~/ %sump ~/ %sump
|= wec=vase |= wec=vase
^- (unit move) ^- (unit (pair move veal))
%+ biff ((soft duct) -.q.wec) %+ biff ((soft duct) -.q.wec)
|= a=duct |= a=duct
%- bind :_ |=(b=arvo `move`[a b]) %- bind :_ |=(b=(pair arvo veal) [`move`[a p.b] q.b])
=- ?- -.har =- ?- -.har
| ~& [%dead-card p.har] ~ :: XX properly log? | ~& [%dead-card p.har] ~ :: XX properly log?
& (some p.har) & (some p.har)
== ==
^= har ^- (each arvo term) ^= har ^- (each (pair arvo veal) term)
=+ caq=(spec (slot 3 wec)) =+ caq=(spec (slot 3 wec))
?+ q.caq [%| (cat 3 %funk (,@tas q.caq))] ?+ q.caq [%| (cat 3 %funk (,@tas q.caq))]
:: ::
@ -9818,20 +9830,20 @@
%+ biff ((soft path) p.q.caq) %+ biff ((soft path) p.q.caq)
|= pax=path |= pax=path
%+ bind (song (spec (slot 15 caq))) %+ bind (song (spec (slot 15 caq)))
|= hil=mill |= [hil=mill vel=veal]
[%& %pass pax lal hil] [%& [%pass pax lal hil] vel]
:: ::
[%give p=[p=@tas q=*]] [%give p=[p=@tas q=*]]
%- (bond |.([%| p.p.q.caq])) %- (bond |.([%| p.p.q.caq]))
%+ bind (song (spec (slot 3 caq))) %+ bind (song (spec (slot 3 caq)))
|= hil=mill |= [hil=mill vel=veal]
[%& %give hil] [%& [%give hil] vel]
:: ::
[%sick p=[p=@tas q=*]] [%sick p=[p=@tas q=*]]
%- (bond |.([%| p.p.q.caq])) %- (bond |.([%| p.p.q.caq]))
%+ bind (song (spec (slot 3 caq))) %+ bind (song (spec (slot 3 caq)))
|= hil=mill |= [hil=mill vel=veal]
[%& %sick hil] [%& [%sick hil] vel]
:: ::
[%slip p=@tas q=[p=@tas q=*]] [%slip p=@tas q=[p=@tas q=*]]
%- (bond |.([%| p.q.q.caq])) %- (bond |.([%| p.q.q.caq]))
@ -9839,15 +9851,17 @@
|= lal=@tas |= lal=@tas
?. ((sane %tas) lal) ~ ?. ((sane %tas) lal) ~
%+ bind (song (spec (slot 7 caq))) %+ bind (song (spec (slot 7 caq)))
|= hil=mill |= [hil=mill vel=veal]
[%& %slip lal hil] [%& [%slip lal hil] vel]
== ==
:: ::
++ said :: vase to (list move) ++ said :: vase to (list move)
|= vud=vase |= vud=vase
|- ^- (list move) |- ^- (pair (list move) veal)
?: =(~ q.vud) ~ ?: =(~ q.vud) [~ p.sew]
[(need (sump (slot 2 vud))) $(vud (slot 3 vud))] =^ mov p.sew (need (sump (slot 2 vud)))
=^ moz p.sew $(vud (slot 3 vud))
[[mov moz] p.sew]
:: ::
++ scry :: read namespace ++ scry :: read namespace
~/ %scry ~/ %scry
@ -9861,7 +9875,7 @@
:* fur :* fur
ren ren
p.bed p.bed
q.bed q.bed
`coin`[%$ r.bed] `coin`[%$ r.bed]
(flop s.bed) (flop s.bed)
== ==
@ -9875,8 +9889,8 @@
++ soar :: scrub vane ++ soar :: scrub vane
|= sev=vase |= sev=vase
^- vase ^- vase
?: &(=(-.q.ves -.q.sev) =(+>.q.ves +>.q.sev)) ?: &(=(-.q.q.sew -.q.sev) =(+>.q.q.sew +>.q.sev))
ves :: unchanged, use old q.sew :: unchanged, use old
sev(+<.q [*@da *@ =>(~ |+(* ~))]) :: clear to stop leak sev(+<.q [*@da *@ =>(~ |+(* ~))]) :: clear to stop leak
:: ::
++ swim ++ swim
@ -9886,7 +9900,7 @@
hen=duct hen=duct
hil=mill hil=mill
== ==
^- [p=(list move) q=vase] ^- [[p=(list move) q=veal] q=vase]
=+ ^= pru =+ ^= pru
?~ pux ?~ pux
~| [%swim-call-vane lal] ~| [%swim-call-vane lal]
@ -9901,8 +9915,8 @@
== ==
?~ pru ?~ pru
~& [%swim-lost lal (,@tas +>-.hil)] ~& [%swim-lost lal (,@tas +>-.hil)]
[~ ves] [[~ p.sew] q.sew]
=+ pro=(need pru) =^ pro p.sew (need pru)
:- (said (slap pro [%cnzy %p])) :- (said (slap pro [%cnzy %p]))
(soar (slap pro [%cnzy %q])) (soar (slap pro [%cnzy %q]))
-- --
@ -9910,7 +9924,7 @@
:: ::
++ vint :: create vane ++ vint :: create vane
|= [lal=@tas vil=vile bud=vase pax=path txt=@ta] :: |= [lal=@tas vil=vile bud=vase pax=path txt=@ta] ::
(vent lal vil bud (slym (slap bud (rain pax txt)) bud)) (vent lal vil bud ~ (slym (slap bud (rain pax txt)) bud))
:: ::
++ viol :: vane tools ++ viol :: vane tools
|= but=type |= but=type
@ -9923,7 +9937,7 @@
== ==
:: ::
++ is :: operate in time ++ is :: operate in time
|= [vil=vile eny=@ bud=vase fan=(list ,[p=@tas q=vase])] |= [vil=vile eny=@ bud=vase niz=(pair veal (list ,[p=@tas q=vase]))]
|_ now=@da |_ now=@da
++ beck ++ beck
^- sled ^- sled
@ -9933,14 +9947,14 @@
=+ lal=(end 3 1 ron) =+ lal=(end 3 1 ron)
=+ ren=(care (rsh 3 1 ron)) =+ ren=(care (rsh 3 1 ron))
|- ^- (unit (unit cage)) |- ^- (unit (unit cage))
?~ fan ~ ?~ q.niz ~
?. =(lal p.i.fan) $(fan t.fan) ?. =(lal p.i.q.niz) $(q.niz t.q.niz)
%- scry:(wink:(vent lal vil bud q.i.fan) now (shax now) ..^$) %- scry:(wink:(vent lal vil bud p.niz q.i.q.niz) now (shax now) ..^$)
[fur ren bed] [fur ren bed]
:: ::
++ dink :: vase by char ++ dink :: vase by char
|= din=@tas ^- vase |= din=@tas ^- vase
?~(fan !! ?:(=(din p.i.fan) q.i.fan $(fan t.fan))) ?~(q.niz !! ?:(=(din p.i.q.niz) q.i.q.niz $(q.niz t.q.niz)))
:: ::
++ dint :: input routing ++ dint :: input routing
|= hap=path ^- @tas |= hap=path ^- @tas
@ -9956,7 +9970,7 @@
++ doos :: sleep until ++ doos :: sleep until
|= hap=path ^- (unit ,@da) |= hap=path ^- (unit ,@da)
=+ lal=(dint hap) =+ lal=(dint hap)
(doze:(wink:(vent lal vil bud (dink lal)) now 0 beck) now [hap ~]) (doze:(wink:(vent lal vil bud p.niz (dink lal)) now 0 beck) now [hap ~])
:: ::
++ hurl :: start loop ++ hurl :: start loop
|= [lac=? ovo=ovum] |= [lac=? ovo=ovum]
@ -9976,27 +9990,27 @@
:: ::
++ race :: take ++ race :: take
|= [org=@tas lal=@tas pux=(unit wire) hen=duct hil=mill ves=vase] |= [org=@tas lal=@tas pux=(unit wire) hen=duct hil=mill ves=vase]
^- [p=(list move) q=vase] ^- [p=[p=(list move) q=veal] q=vase]
=+ ven=(vent lal vil bud ves) =+ ven=(vent lal vil bud [p.niz ves])
=+ win=(wink:ven now (shax now) beck) =+ win=(wink:ven now (shax now) beck)
(swim:win org pux hen hil) (swim:win org pux hen hil)
:: ::
++ fire :: execute ++ fire :: execute
|= [org=term lal=term pux=(unit wire) hen=duct hil=mill] |= [org=term lal=term pux=(unit wire) hen=duct hil=mill]
?: &(?=(^ pux) ?=(~ hen)) ?: &(?=(^ pux) ?=(~ hen))
[[[[lal u.pux] (curd +>.hil)]~ ~] fan] [[[[lal u.pux] (curd +>.hil)]~ ~] niz]
=+ naf=fan =+ naf=q.niz
|- ^- [[p=(list ovum) q=(list muse)] _fan] |- ^- [[p=(list ovum) q=(list muse)] _niz]
?~ naf [[~ ~] ~] ?~ naf [[~ ~] [p.niz ~]]
?. =(lal p.i.naf) ?. =(lal p.i.naf)
=+ tuh=$(naf t.naf) =+ tuh=$(naf t.naf)
[-.tuh [i.naf +.tuh]] [-.tuh [+<.tuh [i.naf +>.tuh]]]
=+ fiq=(race org lal pux hen hil q.i.naf) =+ fiq=(race org lal pux hen hil q.i.naf)
[[~ (turn p.fiq |=(a=move [lal a]))] [[p.i.naf q.fiq] t.naf]] [[~ (turn p.p.fiq |=(a=move [lal a]))] [q.p.fiq [[p.i.naf q.fiq] t.naf]]]
:: ::
++ jack :: dispatch card ++ jack :: dispatch card
|= [lac=? gum=muse] |= [lac=? gum=muse]
^- [[p=(list ovum) q=(list muse)] _fan] ^- [[p=(list ovum) q=(list muse)] _niz]
%+ fire %+ fire
p.gum p.gum
?- -.r.gum ?- -.r.gum
@ -10032,8 +10046,8 @@
|= [lac=? mor=(list muse)] |= [lac=? mor=(list muse)]
=| ova=(list ovum) =| ova=(list ovum)
|- ^- [p=(list ovum) q=(list ,[p=@tas q=vase])] |- ^- [p=(list ovum) q=(list ,[p=@tas q=vase])]
?~ mor [(flop ova) fan] ?~ mor [(flop ova) q.niz]
=^ nyx fan (jack lac i.mor) =^ nyx niz (jack lac i.mor)
$(ova (weld p.nyx ova), mor (weld q.nyx t.mor)) $(ova (weld p.nyx ova), mor (weld q.nyx t.mor))
-- --
-- --
@ -10047,7 +10061,7 @@
=+ vil=(viol p.bud) :: cached reflexives =+ vil=(viol p.bud) :: cached reflexives
=| $: lac=? :: laconic bit =| $: lac=? :: laconic bit
eny=@ :: entropy eny=@ :: entropy
fan=(list ,[p=@tas q=vase]) :: modules niz=(pair veal (list ,[p=@tas q=vase])) :: modules
== :: == ::
=< |% =< |%
++ come |= [@ (list ovum) pone] :: 11 ++ come |= [@ (list ovum) pone] :: 11
@ -10091,13 +10105,13 @@
++ keep :: wakeup delay ++ keep :: wakeup delay
|= [now=@da hap=path] |= [now=@da hap=path]
=> .(+< ((hard ,[now=@da hap=path]) +<)) => .(+< ((hard ,[now=@da hap=path]) +<))
(~(doos (is vil eny bud fan) now) hap) (~(doos (is vil eny bud niz) now) hap)
:: ::
++ load :: load compatible ++ load :: load compatible
|= [yen=@ ova=(list ovum) nyf=pane] |= [yen=@ ova=(list ovum) nyf=pane]
^+ [ova +>] ^+ [ova +>]
=: eny yen =: eny yen
fan nyf q.niz nyf
== ==
|- ^+ [ova +>.^$] |- ^+ [ova +>.^$]
?~ ova ?~ ova
@ -10112,7 +10126,7 @@
|= [now=@da hap=path] |= [now=@da hap=path]
^- (unit) ^- (unit)
?~ hap [~ hoon] ?~ hap [~ hoon]
=+ rob=((slod ~(beck (is vil eny bud fan) now)) hap) =+ rob=((slod ~(beck (is vil eny bud niz) now)) hap)
?~ rob ~ ?~ rob ~
?~ u.rob ~ ?~ u.rob ~
[~ u.u.rob] [~ u.u.rob]
@ -10122,8 +10136,8 @@
=. eny (mix eny (shax now)) =. eny (mix eny (shax now))
:: ~& [%poke -.q.ovo] :: ~& [%poke -.q.ovo]
^- [(list ovum) _+>] ^- [(list ovum) _+>]
=^ zef fan =^ zef q.niz
(~(hurl (is vil eny bud fan) now) lac ovo) (~(hurl (is vil eny bud niz) now) lac ovo)
[zef +>.$] [zef +>.$]
:: ::
++ vega :: reboot kernel ++ vega :: reboot kernel
@ -10142,7 +10156,7 @@
~& [%vega-compiled hoon nex] ~& [%vega-compiled hoon nex]
?> (lte nex hoon) ?> (lte nex hoon)
=+ gat=.*(ken .*(ken [0 ?:(=(nex hoon) 86 11)])) =+ gat=.*(ken .*(ken [0 ?:(=(nex hoon) 86 11)]))
=+ sam=[eny ova fan] =+ sam=[eny ova q.niz]
=+ raw=.*([-.gat [sam +>.gat]] -.gat) =+ raw=.*([-.gat [sam +>.gat]] -.gat)
[[[~ %vega hap] ((list ovum) -.raw)] +.raw] [[[~ %vega hap] ((list ovum) -.raw)] +.raw]
:: ::
@ -10155,15 +10169,17 @@
=+ vax=(slap pit gen) =+ vax=(slap pit gen)
+>.$(bud vax) +>.$(bud vax)
%_ +> %_ +>
fan q.niz
|- ^+ fan |- ^+ q.niz
?~ fan ?~ q.niz
~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)] ~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)]
[[lal.fav ves:(vint lal.fav vil bud pax.fav txt.fav)] fan] [[lal.fav q.sew:(vint lal.fav vil bud pax.fav txt.fav)] q.niz]
?. =(lal.fav p.i.fan) ?. =(lal.fav p.i.q.niz)
[i.fan $(fan t.fan)] [i.q.niz $(q.niz t.q.niz)]
~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)] ~& [%vane `@tas`lal.fav pax.fav `@p`(mug txt.fav)]
[[p.i.fan ves:(ruck:(vent lal.fav vil bud q.i.fan) pax.fav txt.fav)] t.fan] :_ t.q.niz
:- p.i.q.niz
q.sew:(ruck:(vent lal.fav vil bud [p.niz q.i.q.niz]) pax.fav txt.fav)
== ==
:: ::
++ wish :: external compute ++ wish :: external compute

View File

@ -62,7 +62,7 @@
=+ lox=((soft axle) old) =+ lox=((soft axle) old)
^+ ..^$ ^+ ..^$
?~ lox ?~ lox
~& %lunt-reset ~& %khan-reset
..^$ ..^$
..^$(+>- u.lox) ..^$(+>- u.lox)
:: ::

View File

@ -27,10 +27,12 @@
++ story :: persona ++ story :: persona
$: link=(grip bridge) :: connection $: link=(grip bridge) :: connection
count=@ud :: message counter count=@ud :: message counter
mike=(pair ,? (set station)) :: passive/voice mike=voice :: current audience
quiet=? :: !verbose quiet=? :: !verbose
past=(list station) :: past received auds past=(list station) :: past received auds
== :: == ::
++ voice :: speaking to
(pair (unit (set station)) (set station)) :: active/passive
++ bridge :: remote state ++ bridge :: remote state
$: xm=config :: configuration $: xm=config :: configuration
am=register :: presence am=register :: presence
@ -325,7 +327,7 @@
%_(+>.$ moz hy-abet:(hy-display:(hype moz) (flop tay))) %_(+>.$ moz hy-abet:(hy-display:(hype moz) (flop tay)))
:: ::
++ sy-prompt ++ sy-prompt
|= tou=(set station) |= [pas=? tou=(set station)]
^- tape ^- tape
;: welp ;: welp
(scow %p our.hid) (scow %p our.hid)
@ -630,7 +632,7 @@
:: ::
%time %time
:_ +>.$ :_ +>.$
~& [%talk-pour-time lat.hid `@da`(add ~s12 lat.hid)] :: ~& [%talk-pour-time lat.hid `@da`(add ~s12 lat.hid)]
:~ [0 %pass /time %t %wait (add ~s12 lat.hid)] :~ [0 %pass /time %t %wait (add ~s12 lat.hid)]
== ==
:: ::