diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index 732e0b69e..cda1049d4 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -1179,7 +1179,7 @@ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 2cF, signed and modular ints :: :: -++ si !: :: signed integer +++ si :: signed integer |% ++ abs |=(a=@s (add (end 0 1 a) (rsh 0 1 a))) :: absolute value ++ dif |= [a=@s b=@s] :: subtraction @@ -1254,7 +1254,6 @@ -- :: ++ stat :: positive counter - !: |* a=$+(* *) |= (trel ,? a (map a ,@ud)) ^+ r @@ -4940,7 +4939,7 @@ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 2eW, lite number theory :: :: -++ egcd !: :: schneier's egcd +++ egcd :: schneier's egcd |= [a=@ b=@] =+ si =+ [c=(sun a) d=(sun b)] @@ -6601,7 +6600,6 @@ (~(win re tac) tab edg) :: ++ wa :: cached compile - !: |_ worm ++ nell |=(ref=type (nest [%cell %noun %noun] ref)) :: nest in cell ++ nest :: nest:ut @@ -6668,11 +6666,17 @@ =^ typ +>+<.$ (play p.vax [%wtgr gen [%$ 1]]) [[typ q.vax] +>+<.$] :: - ++ spot :: slot and spec + ++ spot :: slot then spec |= [axe=@ vax=vase] ^- [vase worm] =^ xav +>+< (slot axe vax) (spec xav) + :: + ++ stop :: spec then slot + |= [axe=@ vax=vase] + ^- [vase worm] + =^ xav +>+< (spec vax) + (slot axe xav) -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 2fB, macro expansion :: @@ -9023,7 +9027,7 @@ $(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 !: + ++ posh |= [pre=(unit tyke) pof=(unit ,[p=@ud q=tyke])] ^- (unit (list twig)) =- ?^(- - ~&(%posh-fail -)) @@ -9331,7 +9335,7 @@ == -- :: - ++ scat !: + ++ scat %+ knee *twig |. ~+ %- stew ^. stet ^. limo @@ -10345,14 +10349,14 @@ == ?.(-.hig ~ `[(slym gat +>.hil) +.hig]) :: - ++ slur-a ~/(%slur-a |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-b ~/(%slur-b |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-c ~/(%slur-c |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-d ~/(%slur-d |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-e ~/(%slur-e |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-f ~/(%slur-f |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-g ~/(%slur-g |=([gat=vase hil=mill] (slur gat hil))) - ++ slur-z ~/(%slur-z |=([gat=vase hil=mill] (slur gat hil))) + ++ slur-a ~/(%slur-a |=([gat=vase hil=mill] =+(%a (slur gat hil)))) + ++ slur-b ~/(%slur-b |=([gat=vase hil=mill] =+(%b (slur gat hil)))) + ++ slur-c ~/(%slur-c |=([gat=vase hil=mill] =+(%c (slur gat hil)))) + ++ slur-d ~/(%slur-d |=([gat=vase hil=mill] =+(%d (slur gat hil)))) + ++ slur-e ~/(%slur-e |=([gat=vase hil=mill] =+(%e (slur gat hil)))) + ++ slur-f ~/(%slur-f |=([gat=vase hil=mill] =+(%f (slur gat hil)))) + ++ slur-g ~/(%slur-g |=([gat=vase hil=mill] =+(%g (slur gat hil)))) + ++ slur-z ~/(%slur-z |=([gat=vase hil=mill] =+(%z (slur gat hil)))) :: ++ slur-pro :: profiling slur ~/ %slur-pro