From b5377d196b020a0b46784fde74655fe329238bcb Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Mon, 26 May 2014 13:43:40 -0700 Subject: [PATCH] %meta ready to test. --- arvo/ames.hoon | 4 +++- arvo/batz.hoon | 2 +- arvo/clay.hoon | 4 ++-- arvo/dill.hoon | 2 +- arvo/eyre.hoon | 2 +- arvo/ford.hoon | 2 +- arvo/hoon.hoon | 60 ++++++++++++++++++++++++++++++-------------------- arvo/zuse.hoon | 9 +++++--- 8 files changed, 51 insertions(+), 34 deletions(-) diff --git a/arvo/ames.hoon b/arvo/ames.hoon index 803da66089..41bf68b32c 100644 --- a/arvo/ames.hoon +++ b/arvo/ames.hoon @@ -1477,8 +1477,10 @@ ..$(fox *furt) :: ++ scry - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) + ?. ?=([~ [[& @] ~ ~]] fur) ~ :: XX lame + =+ our=`ship`p.n.u.fur =- ?~ old ~ [~ ~ u.old] ^= old diff --git a/arvo/batz.hoon b/arvo/batz.hoon index 43d6511172..858ec57f84 100644 --- a/arvo/batz.hoon +++ b/arvo/batz.hoon @@ -1285,7 +1285,7 @@ ..$(dez ~) :: ++ scry - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/clay.hoon b/arvo/clay.hoon index fe89d5f164..f0e06e3470 100644 --- a/arvo/clay.hoon +++ b/arvo/clay.hoon @@ -471,7 +471,7 @@ ..$(ruf *raft) :: ++ scry :: inspect - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) =+ ^= whu ^- (unit ,@p) :: XX HEINOUS! ?: (~(has by fat.ruf) his) @@ -482,7 +482,7 @@ ?: (~(has by rid.q.i.foo) his) `p.i.foo $(foo t.foo) ?~ whu ~ - =. our u.whu + =+ our=u.whu :: ~? !=(`our whu) [%clay-scry whu our ren his syd lot tyl] =+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot)) ?~ luk [~ ~] diff --git a/arvo/dill.hoon b/arvo/dill.hoon index 7800d272e9..af20a027f2 100644 --- a/arvo/dill.hoon +++ b/arvo/dill.hoon @@ -461,7 +461,7 @@ ..$(dug ~) :: ++ scry - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/eyre.hoon b/arvo/eyre.hoon index 00d7a5c124..7b6b5d99a0 100644 --- a/arvo/eyre.hoon +++ b/arvo/eyre.hoon @@ -1853,7 +1853,7 @@ ..$(+>- *bolo) :: ++ scry - |= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path] + |= [our=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/ford.hoon b/arvo/ford.hoon index 369905a03f..3f98451a51 100644 --- a/arvo/ford.hoon +++ b/arvo/ford.hoon @@ -612,7 +612,7 @@ ..$(+>- *axle) :: ++ scry - |= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index cc89f0aebf..7449fa3fce 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -8807,9 +8807,9 @@ [%sick p=b] :: lame refactoring [%give p=b] :: retreat == :: -++ muse ,[p=@tas q=duct r=(mold herd herd)] :: sourced move +++ muse ,[p=@tas q=duct r=(mold mill mill)] :: sourced move ++ mosh ,[p=duct q=(mold curd curd)] :: old move -++ move ,[p=duct q=(mold herd herd)] :: raw action +++ move ,[p=duct q=(mold mill mill)] :: raw action ++ ovum ,[p=wire q=curd] :: typeless ovum ++ pane (list ,[p=@tas q=vase]) :: kernel modules ++ pone (list ,[p=@tas q=vise]) :: kernel modules, old @@ -8866,18 +8866,31 @@ ++ song :: reduce metacard |= mex=vase :: mex: vase of card ^- mill :: - ?. (sunk p.mex) !! :: a card is a cell + ?. (sunk p.mex) :: a card is a cell + ~& %song-a !! ?. ?=(%meta -.q.mex) [%& mex] :: ordinary card + ~& %song-meta =+ tiv=(slot 3 mex) :: tiv: vase of vase - ?. (sunk p.tiv) !! :: a vase is a cell - ?. (souk -:!>(*type) p:(slot 2 tiv)) !! :: vase head is type + ?. (sunk p.tiv) :: a vase is a cell + ~& (,@tas -.p.tiv) + ~_ `tank`~(duck ut p.tiv) + ~& %song-b !! + ?. (souk -:!>(*type) p:(slot 2 tiv)) :: vase head is type + ~& %song-c !! :: =+ mut=(,[p=* q=*] q.tiv) :: card type, value :- %| :: metacard |- ^- [p=* q=*] :: + ~& %song-meta-loop :: ?. ?=([%meta p=* q=[p=* q=*]] q.mut) mut :: ordinary metacard - ?. (sike -:!>([%meta vase]) p.mut) !! :: meta-metacard + ?. (sike -:!>([%meta vase]) p.mut) :: meta-metacard + ~& %song-d !! :: $(mut q.mut) :: descend into meta :: + ++ sung + |= mex=vase + ^- mill + [%& mex] + :: ++ sump |= wec=vase ^- move @@ -8888,17 +8901,16 @@ [%call p=@tas q=* r=[p=@tas q=*]] :^ %call (need ((sand %tas) ((hard ,@) p.q.caq))) ((hard path) q.q.caq) - [%noun r.q.caq] - :: (song (slot 15 caq)) + (song (slot 15 caq)) :: [%give p=[p=@tas q=*]] - [%give %noun p.q.caq] + [%give (song (slot 3 caq))] :: [%sick p=[p=@tas q=*]] - [%sick %noun p.q.caq] + [%sick (song (slot 3 caq))] :: [%slip p=@tas q=[p=@tas q=*]] - [%slip (need ((sand %tas) ((hard ,@) p.q.caq))) %noun q.q.caq] + [%slip (need ((sand %tas) ((hard ,@) p.q.caq))) (song (slot 7 caq))] == :: ++ said @@ -8909,7 +8921,7 @@ [(sump (slot 2 vud)) $(vud (slot 3 vud))] :: ++ scry - |= $: our=ship + |= $: fur=(unit (set monk)) ren=@tas his=ship syd=@tas @@ -8930,13 +8942,13 @@ ++ swim |= $: pux=(unit wire) hen=duct - hud=herd + hil=mill == ^- [p=(list move) q=vase] =+ ^= pro ?~ pux - (slym (slap rig [%cnzy %call]) [hen hud]) - (slym (slap rig [%cnzy %beat]) [u.pux hen hud]) + (slym (slap rig [%cnzy %call]) [hen +.hil]) + (slym (slap rig [%cnzy %beat]) [u.pux hen +.hil]) :- (said (slap pro [%cnzy %p])) (soar (slap pro [%cnzy %q])) -- @@ -8950,7 +8962,7 @@ |= [eny=@ bud=vase fan=(list ,[p=@tas q=vase])] |_ now=@da ++ beck - |= wru=(unit writ) + |= fur=(unit (set monk)) |+ hap=* ^- (unit (unit)) => .(hap ((hard path) hap)) @@ -8966,14 +8978,14 @@ ?. ?=([~ %$ %tas @] dyc) ~ ?. ?=(^ ved) ~ =+ his=`@p`q.p.u.fal - => .(wru ?^(wru wru [~ u=[p=[%lead his] q=his]])) :: XX dubious + => .(fur ?^(fur fur `[[%& his] ~ ~])) :: XX heinous =+ dis=(end 3 1 q.p.u.hyr) =+ rem=(rsh 3 1 q.p.u.hyr) |- ^- (unit (unit)) ?~ fan ~ ?. =(dis p.i.fan) $(fan t.fan) %- scry:(wink:(vent bud q.i.fan) now (shax now) ..^$) - [q.u.wru rem his q.p.u.dyc u.ved tyl] + [fur rem his q.p.u.dyc u.ved tyl] :: ++ dink :: vase by char |= din=@tas ^- vase @@ -8998,26 +9010,26 @@ |= ovo=ovum ^- [p=(list ovum) q=(list ,[p=@tas q=vase])] ?> ?=(^ p.ovo) - (kick [i.p.ovo ~ [%call (dint p.ovo) t.p.ovo [%noun q.ovo]]]~) + (kick [i.p.ovo ~ [%call (dint p.ovo) t.p.ovo [%& %noun q.ovo]]]~) :: ++ race :: beat - |= [pux=(unit wire) hen=duct hud=herd ves=vase] + |= [pux=(unit wire) hen=duct hil=mill ves=vase] ^- [p=(list move) q=vase] =+ ven=(vent bud ves) =+ win=(wink:ven now (shax now) (beck ~)) - (swim:win pux hen hud) + (swim:win pux hen hil) :: ++ fire :: execute - |= [lal=term pux=(unit wire) hen=duct hud=herd] + |= [lal=term pux=(unit wire) hen=duct hil=mill] ?: &(?=(^ pux) ?=(~ hen)) - [[[[lal u.pux] q.hud]~ ~] fan] + [[[[lal u.pux] (curd +>.hil)]~ ~] fan] =+ naf=fan |- ^- [[p=(list ovum) q=(list muse)] _fan] ?~ naf [[~ ~] ~] ?. =(lal p.i.naf) =+ tuh=$(naf t.naf) [-.tuh [i.naf +.tuh]] - =+ fiq=(race pux hen hud q.i.naf) + =+ fiq=(race pux hen hil q.i.naf) [[~ (turn p.fiq |=(a=move [lal a]))] [[p.i.naf q.fiq] t.naf]] :: ++ jack :: dispatch card diff --git a/arvo/zuse.hoon b/arvo/zuse.hoon index b6cb06a1d6..4f9e3c56f5 100644 --- a/arvo/zuse.hoon +++ b/arvo/zuse.hoon @@ -2023,7 +2023,7 @@ [%loot p=@tas q=path] :: request directory [%make p=(unit ,@t) q=@ud r=@] :: wild license [%mean p=ship q=term r=chop s=vase] :: application event - [%meta p=ship q=vase] :: abstract app action + [%meta p=vase] :: meta-card [%meat p=ship q=card] :: concrete app action [%mine p=@ud q=@t] :: query matched line [%noop ~] :: no operation @@ -2521,7 +2521,10 @@ ++ tube ,[p=@ta q=@ta r=@ta s=path] :: canonical path ++ tutu ,* :: presumed type ++ vane $_ :: kernel actor - |+ [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate + |+ $: now=@da :: + eny=@ :: + ska=$+(* (unit (unit))) :: activate + == :: ^? |% :: ++ beat :: update |= $: pax=wire :: pretext @@ -2549,7 +2552,7 @@ *vane :: ++ raze *vane :: erase all state ++ scry :: inspect - |= $: our=ship :: observer + |= $: fur=(unit (set monk)) :: observers ren=@tas :: submode his=ship :: target syd=@tas :: project