mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-09-21 15:38:59 +03:00
Revert "some hoon.hoon edits"
This reverts commit c9670e2a48eaf2a089bd4dd2d9f47f5f38d42a91.
This commit is contained in:
parent
f7f359fa6c
commit
91b1d718a3
247
arvo/hoon.hoon
247
arvo/hoon.hoon
@ -50,22 +50,28 @@
|
|||||||
[ven=term pro=term kel=@] :: vendor and product
|
[ven=term pro=term kel=@] :: vendor and product
|
||||||
[ven=term pro=term ver=@ kel=@] :: all of the above
|
[ven=term pro=term ver=@ kel=@] :: all of the above
|
||||||
== ::
|
== ::
|
||||||
|
++ claw $% [%ash p=twig] :: XX not used
|
||||||
|
[%elm p=twig] ::
|
||||||
|
[%oak ~] ::
|
||||||
|
[%yew p=(map term claw)] ::
|
||||||
|
== ::
|
||||||
++ clue ,[p=axis q=chum r=tyre] :: battery definition
|
++ clue ,[p=axis q=chum r=tyre] :: battery definition
|
||||||
++ coil $: p=?(%gold %iron %lead %zinc) :: core type
|
++ coat ,[p=path q=vase] ::
|
||||||
|
++ coil $: p=?(%gold %iron %lead %zinc) ::
|
||||||
q=type ::
|
q=type ::
|
||||||
r=[p=?(~ ^) q=(map term foot)] ::
|
r=[p=?(~ ^) q=(map term foot)] ::
|
||||||
== ::
|
== ::
|
||||||
++ coin $% [%$ p=dime] ::
|
++ coin $% [%$ p=dime] ::
|
||||||
[%blob p=*] ::
|
[%blob p=*] ::
|
||||||
[%many p=(list coin)] ::
|
[%many p=(list coin)] ::
|
||||||
== ::
|
== ::
|
||||||
++ cord ,@t :: text atom (UTF-8)
|
++ cord ,@t :: text atom (UTF-8)
|
||||||
++ date ,[[a=? y=@ud] m=@ud t=tarp] :: parsed date
|
++ date ,[[a=? y=@ud] m=@ud t=tarp] :: parsed date
|
||||||
++ dime ,[p=@ta q=@] ::
|
++ dime ,[p=@ta q=@] ::
|
||||||
++ dram $% [| p=(map ,@tas dram)] :: simple unix dir
|
++ dram $% [| p=(map ,@tas dram)] :: simple unix dir
|
||||||
[& p=@ud q=@] ::
|
[& p=@ud q=@] ::
|
||||||
== ::
|
== ::
|
||||||
++ each |*([a=$+(* *) b=$+(* *)] $%([& p=a] [| p=b])) :: either a or b
|
++ each |*([a=$+(* *) b=$+(* *)] $%([& p=a] [| p=b])) ::
|
||||||
++ edge ,[p=hair q=(unit ,[p=* q=nail])] :: parsing output
|
++ edge ,[p=hair q=(unit ,[p=* q=nail])] :: parsing output
|
||||||
++ foot $% [%ash p=twig] :: dry arm, geometric
|
++ foot $% [%ash p=twig] :: dry arm, geometric
|
||||||
[%elm p=twig] :: wet arm, generic
|
[%elm p=twig] :: wet arm, generic
|
||||||
@ -73,7 +79,15 @@
|
|||||||
[%yew p=(map term foot)] :: XX not used
|
[%yew p=(map term foot)] :: XX not used
|
||||||
== ::
|
== ::
|
||||||
++ gate $+(* *) :: general gate
|
++ gate $+(* *) :: general gate
|
||||||
|
++ gear |* a=_,* :: XX list generator
|
||||||
|
$_ ::
|
||||||
|
=| b=* ::
|
||||||
|
|? ::
|
||||||
|
?@ b ::
|
||||||
|
~ ::
|
||||||
|
[i=(a -.b) t=^?(..$(b +.b))] ::
|
||||||
++ hair ,[p=@ud q=@ud] :: parsing trace
|
++ hair ,[p=@ud q=@ud] :: parsing trace
|
||||||
|
++ hapt (list ,@ta) :: XX not used
|
||||||
++ like |* a=_,* :: generic edge
|
++ like |* a=_,* :: generic edge
|
||||||
|= b=_`*`[(hair) ~] ::
|
|= b=_`*`[(hair) ~] ::
|
||||||
:- p=(hair -.b) ::
|
:- p=(hair -.b) ::
|
||||||
@ -108,7 +122,7 @@
|
|||||||
++ pint ,[p=[p=@ q=@] q=[p=@ q=@]] :: line/column range
|
++ pint ,[p=[p=@ q=@] q=[p=@ q=@]] :: line/column range
|
||||||
++ pole |* a=_,* :: nameless list
|
++ pole |* a=_,* :: nameless list
|
||||||
$|(~ [a (pole a)]) ::
|
$|(~ [a (pole a)]) ::
|
||||||
++ port $: p=axis ::
|
++ port $: p=axis ::
|
||||||
$= q ::
|
$= q ::
|
||||||
$% [%& p=type] ::
|
$% [%& p=type] ::
|
||||||
[%| p=axis q=(list ,[p=type q=foot])] ::
|
[%| p=axis q=(list ,[p=type q=foot])] ::
|
||||||
@ -127,6 +141,7 @@
|
|||||||
== ::
|
== ::
|
||||||
++ qual |* [a=$+(* *) b=$+(* *) c=$+(* *) d=$+(* *)] :: just a quadruple
|
++ qual |* [a=$+(* *) b=$+(* *) c=$+(* *) d=$+(* *)] :: just a quadruple
|
||||||
,[p=a q=b r=c s=d] ::
|
,[p=a q=b r=c s=d] ::
|
||||||
|
::
|
||||||
++ rege $| ?(%dote %ende %sart %empt %boun %bout) :: parsed regex
|
++ rege $| ?(%dote %ende %sart %empt %boun %bout) :: parsed regex
|
||||||
$% [%lite p=char] :: literal
|
$% [%lite p=char] :: literal
|
||||||
[%pair p=rege q=rege] :: ordering
|
[%pair p=rege q=rege] :: ordering
|
||||||
@ -149,14 +164,8 @@
|
|||||||
++ spot ,[p=path q=pint] :: range in file
|
++ spot ,[p=path q=pint] :: range in file
|
||||||
++ tang (list tank) :: general error
|
++ tang (list tank) :: general error
|
||||||
++ tank $% [%leaf p=tape] :: printing formats
|
++ tank $% [%leaf p=tape] :: printing formats
|
||||||
$: %palm ::
|
[%palm p=[p=tape q=tape r=tape s=tape] q=(list tank)]
|
||||||
p=[p=tape q=tape r=tape s=tape] ::
|
[%rose p=[p=tape q=tape r=tape] q=(list tank)]
|
||||||
q=(list tank) ::
|
|
||||||
== ::
|
|
||||||
$: %rose ::
|
|
||||||
p=[p=tape q=tape r=tape] ::
|
|
||||||
q=(list tank) ::
|
|
||||||
== ::
|
|
||||||
== ::
|
== ::
|
||||||
++ tape (list char) :: like a string
|
++ tape (list char) :: like a string
|
||||||
++ term ,@tas :: Hoon ASCII subset
|
++ term ,@tas :: Hoon ASCII subset
|
||||||
@ -195,17 +204,17 @@
|
|||||||
++ twig $& [p=twig q=twig] ::
|
++ twig $& [p=twig q=twig] ::
|
||||||
$% ::
|
$% ::
|
||||||
[%$ p=axis] :: simple leg
|
[%$ p=axis] :: simple leg
|
||||||
:: :::::: tiling
|
:: ::
|
||||||
[%bccb p=tile] :: bunt a tile
|
[%bccb p=tile] :: bunt a tile
|
||||||
[%bccm p=tile] :: clam a tile
|
[%bccm p=tile] :: clam a tile
|
||||||
[%bcpt p=wing q=tile] :: whip p into q
|
[%bcpt p=wing q=tile] :: whip p into q
|
||||||
[%bctr p=tile] :: static bunt w/ ^~
|
[%bctr p=tile] :: static bunt w/ ^~
|
||||||
[%bczp p=base] :: bunt an axil
|
[%bczp p=base] :: bunt an axil
|
||||||
:: :::::: cores
|
:: ::
|
||||||
[%brcb p=tile q=(map term foot)] :: %gold door, sample p
|
[%brcb p=tile q=(map term foot)] :: %gold tray, sample p
|
||||||
[%brcn p=(map term foot)] :: %gold core, natural
|
[%brcn p=(map term foot)] :: %gold core, natural
|
||||||
[%brdt p=twig] :: dry %gold trap
|
[%brdt p=twig] :: dry %gold trap
|
||||||
[%brfs p=tile q=(map term foot)] :: vulcan. %gold door
|
[%brfs p=tile q=(map term foot)] :: vulcan. %gold tray
|
||||||
[%brkt p=twig q=(map term foot)] :: %gold book
|
[%brkt p=twig q=(map term foot)] :: %gold book
|
||||||
[%brhp p=twig] :: kick dry %gold trap
|
[%brhp p=twig] :: kick dry %gold trap
|
||||||
[%brls p=tile q=twig] :: dry %iron gate
|
[%brls p=tile q=twig] :: dry %iron gate
|
||||||
@ -213,7 +222,7 @@
|
|||||||
[%brtr p=tile q=twig] :: vulcan. wet gate
|
[%brtr p=tile q=twig] :: vulcan. wet gate
|
||||||
[%brts p=tile q=twig] :: dry %gold gate
|
[%brts p=tile q=twig] :: dry %gold gate
|
||||||
[%brwt p=twig] :: dry %lead trap
|
[%brwt p=twig] :: dry %lead trap
|
||||||
:: :::::: tuples
|
:: ::
|
||||||
[%clcb p=twig q=twig] :: [q p]
|
[%clcb p=twig q=twig] :: [q p]
|
||||||
[%clcn p=tusk] :: [[p ~] ~]
|
[%clcn p=tusk] :: [[p ~] ~]
|
||||||
[%clfs p=twig] :: [%$ [%$ p ~] ~]
|
[%clfs p=twig] :: [%$ [%$ p ~] ~]
|
||||||
@ -222,19 +231,20 @@
|
|||||||
[%clls p=twig q=twig r=twig] :: [p q r]
|
[%clls p=twig q=twig r=twig] :: [p q r]
|
||||||
[%clsg p=tusk] :: [p ~]
|
[%clsg p=tusk] :: [p ~]
|
||||||
[%cltr p=tusk] :: p as a tuple
|
[%cltr p=tusk] :: p as a tuple
|
||||||
:: :::::: invocations
|
[%clzz p=tusk] :: macro
|
||||||
|
:: ::
|
||||||
[%cncb p=wing q=tram] :: %=, then cast to p
|
[%cncb p=wing q=tram] :: %=, then cast to p
|
||||||
[%cncl p=twig q=twig] :: pull $.p w/ sample q
|
[%cncl p=twig q=twig] :: pull $.p w/ sample q
|
||||||
[%cndt p=twig q=twig] :: %-(q p)
|
[%cndt p=twig q=twig] :: %-(q p)
|
||||||
[%cnhp p=twig q=tusk] :: slam p w/ sample q
|
[%cnhp p=twig q=tusk] :: slam p w/ sample q
|
||||||
[%cntr p=wing q=twig r=tram] :: pull p.q w/ changes
|
[%cntr p=wing q=twig r=tram] ::
|
||||||
[%cnkt p=twig q=twig r=twig s=twig] :: slam p w/ %*(q r s)
|
[%cnkt p=twig q=twig r=twig s=twig] :: slam p w/ %*(q r s)
|
||||||
[%cnls p=twig q=twig r=twig] :: slam p w/ %*(q r)
|
[%cnls p=twig q=twig r=twig] :: slam p w/ %*(q r)
|
||||||
[%cnsg p=wing q=twig r=twig] :: pull p from q with r
|
[%cnsg p=wing q=twig r=twig] :: pull p from q with r
|
||||||
[%cnts p=wing q=tram] :: eval. p w/ q changes
|
[%cnts p=wing q=tram] :: eval. p w/ q changes
|
||||||
[%cnzy p=term] :: pulls limb p
|
[%cnzy p=term] :: pulls limb p
|
||||||
[%cnzz p=wing] :: pulls p
|
[%cnzz p=wing] :: pulls p
|
||||||
:: :::::: nock
|
:: ::
|
||||||
[%dtkt p=twig] :: nock 11 data skyhook
|
[%dtkt p=twig] :: nock 11 data skyhook
|
||||||
[%dtls p=twig] :: nock 4 increment
|
[%dtls p=twig] :: nock 4 increment
|
||||||
[%dtzy p=term q=@] :: atom constant
|
[%dtzy p=term q=@] :: atom constant
|
||||||
@ -242,9 +252,9 @@
|
|||||||
[%dttr p=twig q=twig] :: nock p w/ formula q
|
[%dttr p=twig q=twig] :: nock p w/ formula q
|
||||||
[%dtts p=twig q=twig] :: nock 5 equality test
|
[%dtts p=twig q=twig] :: nock 5 equality test
|
||||||
[%dtwt p=twig] :: nock 3 cell test
|
[%dtwt p=twig] :: nock 3 cell test
|
||||||
:: :::::: prettyprinting
|
:: ::
|
||||||
[%hxgl p=tusk] :: prettyprint tape
|
[%hxgl p=tusk] :: slam noah w/ !>:*(p)
|
||||||
[%hxgr p=tusk] :: prettyprint tank
|
[%hxgr p=tusk] :: slam cain w/ !>:*(p)
|
||||||
:: :::::: type conversion
|
:: :::::: type conversion
|
||||||
[%ktbr p=twig] :: %gold core to %iron
|
[%ktbr p=twig] :: %gold core to %iron
|
||||||
[%ktdt p=twig q=twig] :: cast q to type (p q)
|
[%ktdt p=twig q=twig] :: cast q to type (p q)
|
||||||
@ -268,13 +278,13 @@
|
|||||||
[%sgts p=twig q=twig] :: avoid duplication
|
[%sgts p=twig q=twig] :: avoid duplication
|
||||||
[%sgwt p=@ud q=twig r=twig s=twig] :: hint iff q is yes
|
[%sgwt p=@ud q=twig r=twig s=twig] :: hint iff q is yes
|
||||||
[%sgzp p=twig q=twig] :: type in stacktrace
|
[%sgzp p=twig q=twig] :: type in stacktrace
|
||||||
:: :::::: miscellaneous
|
:: :: miscellaneous
|
||||||
[%smcl p=twig q=tusk] :: binary to n-ary
|
[%smcl p=twig q=tusk] :: binary to n-ary
|
||||||
[%smdt p=twig q=tusk] ::
|
[%smdt p=twig q=tusk] ::
|
||||||
[%smdq p=(list beer)] :: assemble string
|
[%smdq p=(list beer)] :: assemble string
|
||||||
[%smsg p=twig q=tusk] :: gonads
|
[%smsg p=twig q=tusk] :: gonads
|
||||||
[%smsm p=twig q=twig] :: make sure q is a p
|
[%smsm p=twig q=twig] :: make sure q is a p
|
||||||
:: :::::: compositions
|
:: :: compositions
|
||||||
[%tsbr p=tile q=twig] :: push bunt: =+(_p q)
|
[%tsbr p=tile q=twig] :: push bunt: =+(_p q)
|
||||||
[%tscl p=tram q=twig] :: p changes, then q
|
[%tscl p=tram q=twig] :: p changes, then q
|
||||||
[%tscn p=twig q=twig] :: XX not used
|
[%tscn p=twig q=twig] :: XX not used
|
||||||
@ -295,7 +305,7 @@
|
|||||||
[%wthz p=tiki q=tine] :: tiki %wthp
|
[%wthz p=tiki q=tine] :: tiki %wthp
|
||||||
[%wtcl p=twig q=twig r=twig] :: if p, then q, else r
|
[%wtcl p=twig q=twig r=twig] :: if p, then q, else r
|
||||||
[%wtdt p=twig q=twig r=twig] :: unless, ?:(p r q)
|
[%wtdt p=twig q=twig r=twig] :: unless, ?:(p r q)
|
||||||
[%wtkt p=wing q=twig r=twig] :: if p is a cell
|
[%wtkt p=wing q=twig r=twig] :: if p is not its bunt
|
||||||
[%wtkz p=tiki q=twig r=twig] :: tiki %wtkt
|
[%wtkz p=tiki q=twig r=twig] :: tiki %wtkt
|
||||||
[%wtgl p=twig q=twig] :: assert |, ?:(p !! q)
|
[%wtgl p=twig q=twig] :: assert |, ?:(p !! q)
|
||||||
[%wtgr p=twig q=twig] :: assert &, ?:(p q !!)
|
[%wtgr p=twig q=twig] :: assert &, ?:(p q !!)
|
||||||
@ -400,7 +410,7 @@
|
|||||||
++ vise ,[p=typo q=*] :: old vase
|
++ vise ,[p=typo q=*] :: old vase
|
||||||
++ wall (list tape) :: text lines (no \n)
|
++ wall (list tape) :: text lines (no \n)
|
||||||
++ wain (list cord) :: text lines (no \n)
|
++ wain (list cord) :: text lines (no \n)
|
||||||
++ wing (list limb) :: namespace address
|
++ wing (list limb) ::
|
||||||
++ wine $| ?(%noun %path %tank %void %wall %wool %yarn)
|
++ wine $| ?(%noun %path %tank %void %wall %wool %yarn)
|
||||||
$% [%atom p=term] ::
|
$% [%atom p=term] ::
|
||||||
[%core p=(list ,@ta) q=wine] ::
|
[%core p=(list ,@ta) q=wine] ::
|
||||||
@ -513,12 +523,7 @@
|
|||||||
~/ %lth
|
~/ %lth
|
||||||
|= [a=@ b=@]
|
|= [a=@ b=@]
|
||||||
^- ?
|
^- ?
|
||||||
?& !=(a b)
|
&(!=(a b) |-(|(=(0 a) &(!=(0 b) $(a (dec a), b (dec b))))))
|
||||||
|-
|
|
||||||
?| =(0 a)
|
|
||||||
?& !=(0 b)
|
|
||||||
$(a (dec a), b (dec b))
|
|
||||||
== == ==
|
|
||||||
::
|
::
|
||||||
++ mas :: tree body
|
++ mas :: tree body
|
||||||
~/ %mas
|
~/ %mas
|
||||||
@ -745,47 +750,52 @@
|
|||||||
|- ^+ [p=a q=a]
|
|- ^+ [p=a q=a]
|
||||||
?~ a [~ ~]
|
?~ a [~ ~]
|
||||||
=+ c=$(a t.a)
|
=+ c=$(a t.a)
|
||||||
?: (b i.a)
|
?:((b i.a) [[i.a p.c] q.c] [p.c [i.a q.c]])
|
||||||
[[i.a p.c] q.c]
|
|
||||||
[p.c [i.a q.c]]
|
|
||||||
::
|
::
|
||||||
++ skim :: only
|
++ skim :: only
|
||||||
~/ %skim
|
~/ %skim
|
||||||
|* [a=(list) b=_|=(p=* .?(p))]
|
|* [a=(list) b=_|=(p=* .?(p))]
|
||||||
|- ^+ a
|
|-
|
||||||
?~ a ~
|
^+ a
|
||||||
?. (b i.a) $(a t.a)
|
?~ a
|
||||||
[i.a $(a t.a)]
|
~
|
||||||
|
?:((b i.a) [i.a $(a t.a)] $(a t.a))
|
||||||
::
|
::
|
||||||
++ skip :: except
|
++ skip :: except
|
||||||
~/ %skip
|
~/ %skip
|
||||||
|* [a=(list) b=_|=(p=* .?(p))]
|
|* [a=(list) b=_|=(p=* .?(p))]
|
||||||
|- ^+ a
|
|-
|
||||||
?~ a ~
|
^+ a
|
||||||
?: (b i.a) $(a t.a)
|
?~ a
|
||||||
[i.a $(a t.a)]
|
~
|
||||||
|
?:((b i.a) $(a t.a) [i.a $(a t.a)])
|
||||||
::
|
::
|
||||||
++ scag :: prefix
|
++ scag :: prefix
|
||||||
~/ %scag
|
~/ %scag
|
||||||
|* [a=@ b=(list)]
|
|* [a=@ b=(list)]
|
||||||
|- ^+ b
|
|- ^+ b
|
||||||
?: |(?=(~ b) =(0 a)) ~
|
?: |(?=(~ b) =(0 a))
|
||||||
|
~
|
||||||
[i.b $(b t.b, a (dec a))]
|
[i.b $(b t.b, a (dec a))]
|
||||||
::
|
::
|
||||||
++ slag :: suffix
|
++ slag :: suffix
|
||||||
~/ %slag
|
~/ %slag
|
||||||
|* [a=@ b=(list)]
|
|* [a=@ b=(list)]
|
||||||
|- ^+ b
|
|- ^+ b
|
||||||
?: =(0 a) b
|
?: =(0 a)
|
||||||
?~ b ~
|
b
|
||||||
|
?~ b
|
||||||
|
~
|
||||||
$(b t.b, a (dec a))
|
$(b t.b, a (dec a))
|
||||||
::
|
::
|
||||||
++ snag :: index
|
++ snag :: index
|
||||||
~/ %snag
|
~/ %snag
|
||||||
|* [a=@ b=(list)]
|
|* [a=@ b=(list)]
|
||||||
|-
|
|-
|
||||||
?~ b ~|('snag-fail' !!)
|
?~ b
|
||||||
?: =(0 a) i.b
|
~|('snag-fail' !!)
|
||||||
|
?: =(0 a)
|
||||||
|
i.b
|
||||||
$(b t.b, a (dec a))
|
$(b t.b, a (dec a))
|
||||||
::
|
::
|
||||||
++ sort :: quicksort
|
++ sort :: quicksort
|
||||||
@ -807,7 +817,8 @@
|
|||||||
~/ %turn
|
~/ %turn
|
||||||
|* [a=(list) b=_,*]
|
|* [a=(list) b=_,*]
|
||||||
|-
|
|-
|
||||||
?~ a ~
|
?~ a
|
||||||
|
~
|
||||||
[i=(b i.a) t=$(a t.a)]
|
[i=(b i.a) t=$(a t.a)]
|
||||||
::
|
::
|
||||||
++ weld :: concatenate
|
++ weld :: concatenate
|
||||||
@ -865,7 +876,8 @@
|
|||||||
~/ %can
|
~/ %can
|
||||||
|= [a=bloq b=(list ,[p=@ q=@])]
|
|= [a=bloq b=(list ,[p=@ q=@])]
|
||||||
^- @
|
^- @
|
||||||
?~ b 0
|
?~ b
|
||||||
|
0
|
||||||
(mix (end a p.i.b q.i.b) (lsh a p.i.b $(b t.b)))
|
(mix (end a p.i.b q.i.b) (lsh a p.i.b $(b t.b)))
|
||||||
::
|
::
|
||||||
++ cat :: concatenate
|
++ cat :: concatenate
|
||||||
@ -903,7 +915,8 @@
|
|||||||
^- @
|
^- @
|
||||||
=+ c=0
|
=+ c=0
|
||||||
|-
|
|-
|
||||||
?: =(0 b) c
|
?: =(0 b)
|
||||||
|
c
|
||||||
$(b (rsh a 1 b), c +(c))
|
$(b (rsh a 1 b), c +(c))
|
||||||
::
|
::
|
||||||
++ rap :: assemble nonzero
|
++ rap :: assemble nonzero
|
||||||
@ -1062,7 +1075,7 @@
|
|||||||
:: section 2cD, insecure hashing ::
|
:: section 2cD, insecure hashing ::
|
||||||
::
|
::
|
||||||
++ fnv |=(a=@ (end 5 1 (mul 16.777.619 a))) :: FNV scrambler
|
++ fnv |=(a=@ (end 5 1 (mul 16.777.619 a))) :: FNV scrambler
|
||||||
++ mur :: murmurhash3
|
++ mur
|
||||||
~/ %mur
|
~/ %mur
|
||||||
|= [key=@ syd=@]
|
|= [key=@ syd=@]
|
||||||
?> (lte (met 5 syd) 1)
|
?> (lte (met 5 syd) 1)
|
||||||
@ -1115,24 +1128,24 @@
|
|||||||
::
|
::
|
||||||
++ po
|
++ po
|
||||||
~/ %po
|
~/ %po
|
||||||
=+ :- ^= sis :: prefix (left)
|
=+ :- ^= sis
|
||||||
'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
|
'dozmarbinwansamlitsighidfidlissogdirwacsabwissib\
|
||||||
/rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
|
/rigsoldopmodfoglidhopdardorlorhodfolrintogsilmir\
|
||||||
/holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
|
/holpaslacrovlivdalsatlibtabhanticpidtorbolfosdot\
|
||||||
/losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
|
/losdilforpilramtirwintadbicdifrocwidbisdasmidlop\
|
||||||
/rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
|
/rilnardapmolsanlocnovsitnidtipsicropwitnatpanmin\
|
||||||
/ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
|
/ritpodmottamtolsavposnapnopsomfinfonbanporworsip\
|
||||||
/ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
|
/ronnorbotwicsocwatdolmagpicdavbidbaltimtasmallig\
|
||||||
/sivtagpadsaldivdactansidfabtarmonranniswolmispal\
|
/sivtagpadsaldivdactansidfabtarmonranniswolmispal\
|
||||||
/lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
|
/lasdismaprabtobrollatlonnodnavfignomnibpagsopral\
|
||||||
/bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
|
/bilhaddocridmocpacravripfaltodtiltinhapmicfanpat\
|
||||||
/taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
|
/taclabmogsimsonpinlomrictapfirhasbosbatpochactid\
|
||||||
/havsaplindibhosdabbitbarracparloddosbortochilmac\
|
/havsaplindibhosdabbitbarracparloddosbortochilmac\
|
||||||
/tomdigfilfasmithobharmighinradmashalraglagfadtop\
|
/tomdigfilfasmithobharmighinradmashalraglagfadtop\
|
||||||
/mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
|
/mophabnilnosmilfopfamdatnoldinhatnacrisfotribhoc\
|
||||||
/nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
|
/nimlarfitwalrapsarnalmoslandondanladdovrivbacpol\
|
||||||
/laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
|
/laptalpitnambonrostonfodponsovnocsorlavmatmipfap'
|
||||||
^= dex :: suffix (right)
|
^= dex
|
||||||
'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
|
'zodnecbudwessevpersutletfulpensytdurwepserwylsun\
|
||||||
/rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
|
/rypsyxdyrnuphebpeglupdepdysputlughecryttyvsydnex\
|
||||||
/lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
|
/lunmeplutseppesdelsulpedtemledtulmetwenbynhexfeb\
|
||||||
@ -1150,28 +1163,18 @@
|
|||||||
/remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
|
/remlysfynwerrycsugnysnyllyndyndemluxfedsedbecmun\
|
||||||
/lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
|
/lyrtesmudnytbyrsenwegfyrmurtelreptegpecnelnevfes'
|
||||||
|%
|
|%
|
||||||
++ ind ~/ %ind :: prefix to number
|
++ ind ~/ %ind
|
||||||
|= a=@
|
|= a=@
|
||||||
=+ b=0
|
=+ b=0
|
||||||
|- ^- (unit ,@)
|
|- ^- (unit ,@)
|
||||||
?: =(256 b) ~
|
?:(=(256 b) ~ ?:(=(a (tod b)) [~ b] $(b +(b))))
|
||||||
?: =(a (tod b)) [~ b]
|
++ ins ~/ %ins
|
||||||
$(b +(b))
|
|
||||||
++ ins ~/ %ins :: suffix to number
|
|
||||||
|= a=@
|
|= a=@
|
||||||
=+ b=0
|
=+ b=0
|
||||||
|- ^- (unit ,@)
|
|- ^- (unit ,@)
|
||||||
?: =(256 b) ~
|
?:(=(256 b) ~ ?:(=(a (tos b)) [~ b] $(b +(b))))
|
||||||
?: =(a (tos b)) [~ b]
|
++ tod ~/(%tod |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] dex))))
|
||||||
$(b +(b))
|
++ tos ~/(%tos |=(a=@ ?>((lth a 256) (cut 3 [(mul 3 a) 3] sis))))
|
||||||
++ tod ~/ %tod :: number to prefix
|
|
||||||
|= a=@
|
|
||||||
?> (lth a 256)
|
|
||||||
(cut 3 [(mul 3 a) 3] dex)
|
|
||||||
++ tos ~/ %tos :: number to suffix
|
|
||||||
|= a=@
|
|
||||||
?> (lth a 256)
|
|
||||||
(cut 3 [(mul 3 a) 3] sis)
|
|
||||||
--
|
--
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:: section 2cF, signed and modular ints ::
|
:: section 2cF, signed and modular ints ::
|
||||||
@ -1207,27 +1210,21 @@
|
|||||||
(new | (add +.c +.d))
|
(new | (add +.c +.d))
|
||||||
++ sun |=(a=@u (mul 2 a)) :: @u to @s
|
++ sun |=(a=@u (mul 2 a)) :: @u to @s
|
||||||
++ syn |=(a=@s =(0 (end 0 1 a))) :: sign test
|
++ syn |=(a=@s =(0 (end 0 1 a))) :: sign test
|
||||||
++ lth |= [a=@s b=@s]
|
++ cmp |= [a=@s b=@s] :: compare
|
||||||
^- ?
|
^- @s
|
||||||
=+ [c=(old a) d=(old b)]
|
?: =(a b)
|
||||||
?. -.c
|
--0
|
||||||
(^lth +.d +.c)
|
?: (syn a)
|
||||||
?. -.d %.n
|
?: (syn b)
|
||||||
(^lth +.c +.d)
|
?: (gth a b)
|
||||||
++ lte |=([a=@s b=@s] |(=(a b) (lth a b)))
|
--1
|
||||||
++ gte |=([a=@s b=@s] !(lth a b))
|
-1
|
||||||
++ gth |=([a=@s b=@s] !(lte a b))
|
--1
|
||||||
++ cmp
|
?: (syn b)
|
||||||
|= [a=@s b=@s] :: compare
|
-1
|
||||||
^- @s
|
?: (gth a b)
|
||||||
?: =(a b) --0
|
-1
|
||||||
?. (syn a)
|
--1
|
||||||
?: (syn b) -1
|
|
||||||
?: (gth a b) -1
|
|
||||||
--1
|
|
||||||
?. (syn b) --1
|
|
||||||
?: (gth a b) --1
|
|
||||||
-1
|
|
||||||
--
|
--
|
||||||
++ fe :: modulo bloq
|
++ fe :: modulo bloq
|
||||||
|_ a=bloq
|
|_ a=bloq
|
||||||
@ -1258,28 +1255,14 @@
|
|||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
:: section 2cG, floating point ::
|
:: section 2cG, floating point ::
|
||||||
::
|
::
|
||||||
++ rlyd
|
++ rlyd |= red=@rd ^- [s=? h=@ f=@ e=(unit tape) n=?]
|
||||||
|= red=@rd
|
~& [%rlyd `@ux`red]
|
||||||
^- [s=? h=@ f=@ e=(unit tape) n=?]
|
=+ s=(sea:rd red)
|
||||||
~& [%rlyd `@ux`red]
|
=+ negexp==(1 (mod e.s 2))
|
||||||
=+ s=(sea:rd red)
|
[s=(sig:rd red) h=(hol:rd red) f=(fac:rd red) e=(err:rd red) n=negexp]
|
||||||
=+ negexp==(1 (mod e.s 2))
|
++ rlyh |=(reh=@rh ~|(%real-nyet ^-([s=? h=@ f=@ e=(unit tape) n=?] !!)))
|
||||||
[s=(sig:rd red) h=(hol:rd red) f=(fac:rd red) e=(err:rd red) n=negexp]
|
++ rlyq |=(req=@rq ~|(%real-nyet ^-([s=? h=@ f=@ e=(unit tape) n=?] !!)))
|
||||||
++ rlyh
|
++ rlys |=(res=@rs ~|(%real-nyet ^-([s=? h=@ f=@ e=(unit tape) n=?] !!)))
|
||||||
|= reh=@rh
|
|
||||||
~| %real-nyet
|
|
||||||
^- [s=? h=@ f=@ e=(unit tape) n=?]
|
|
||||||
!!
|
|
||||||
++ rlyq
|
|
||||||
|= req=@rq
|
|
||||||
~| %real-nyet
|
|
||||||
^- [s=? h=@ f=@ e=(unit tape) n=?]
|
|
||||||
!!
|
|
||||||
++ rlys
|
|
||||||
|= res=@rs
|
|
||||||
~| %real-nyet
|
|
||||||
^- [s=? h=@ f=@ e=(unit tape) n=?]
|
|
||||||
!!
|
|
||||||
++ ryld |= v=[syn=? hol=@ zer=@ fac=@ exp=(unit ,@)] ^- @rd
|
++ ryld |= v=[syn=? hol=@ zer=@ fac=@ exp=(unit ,@)] ^- @rd
|
||||||
?: &(=(hol.v 0) =(zer.v 0) =(fac.v 0))
|
?: &(=(hol.v 0) =(zer.v 0) =(fac.v 0))
|
||||||
(bit:rd (szer:vl:fl 1.023 52 syn.v))
|
(bit:rd (szer:vl:fl 1.023 52 syn.v))
|
||||||
|
Loading…
Reference in New Issue
Block a user