mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-12 15:01:38 +03:00
Better tools for test kernels.
This commit is contained in:
parent
d13c0b3ddc
commit
f79aa14786
163
arvo/test.hoon
163
arvo/test.hoon
@ -1,165 +1,24 @@
|
||||
!::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: Preface ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
?> ?=(@ .) :: atom subject
|
||||
%. . :: fun with subject
|
||||
|= cud=@ :: call it cud
|
||||
=- (mul:all 2 cud) :: multiply by 2
|
||||
^= all :: assemble engine
|
||||
=~ :: volume stack
|
||||
%164 :: version constant
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: volume 0, version stub ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
~% %k.164 ~ ~ ::
|
||||
|% ::
|
||||
++ stub 164 :: version stub
|
||||
-- ::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: volume 1, Hoon models ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
~% %mood
|
||||
+
|
||||
~
|
||||
|% ::
|
||||
++ axis ,@ :: tree address
|
||||
-- ::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: volume 2, Hoon libraries and compiler ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
~% %hoon
|
||||
+
|
||||
==
|
||||
%dec dec
|
||||
==
|
||||
?> ?=([@ @] .)
|
||||
%. .
|
||||
|= [x=@ y=@]
|
||||
=- (add:all x y)
|
||||
^= all
|
||||
=> %164
|
||||
~% %k164 ~ ~
|
||||
|%
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::: ::
|
||||
:::: chapter 2a, basic unsigned math ::::
|
||||
:: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ add :: add
|
||||
++ add
|
||||
~/ %add
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?: =(0 a)
|
||||
b
|
||||
?: =(0 a) b
|
||||
$(a (dec a), b +(b))
|
||||
::
|
||||
++ cap :: tree head
|
||||
~/ %cap
|
||||
|= a=@
|
||||
^- ?(%2 %3)
|
||||
?- a
|
||||
%2 %2
|
||||
%3 %3
|
||||
?(%0 %1) !!
|
||||
* $(a (div a 2))
|
||||
==
|
||||
::
|
||||
++ dec :: decrement
|
||||
++ dec
|
||||
~/ %dec
|
||||
|= a=@
|
||||
?< =(0 a)
|
||||
=+ b=0
|
||||
|- ^- @
|
||||
?: =(a +(b))
|
||||
b
|
||||
?: =(a +(b)) b
|
||||
$(b +(b))
|
||||
::
|
||||
++ div :: divide
|
||||
~/ %div
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?< =(0 b)
|
||||
=+ c=0
|
||||
|-
|
||||
?: (lth a b)
|
||||
c
|
||||
$(a (sub a b), c +(c))
|
||||
::
|
||||
++ gte :: greater-equal
|
||||
~/ %gte
|
||||
|= [a=@ b=@]
|
||||
^- ?
|
||||
!(lth a b)
|
||||
::
|
||||
++ gth :: greater-than
|
||||
~/ %gth
|
||||
|= [a=@ b=@]
|
||||
^- ?
|
||||
!(lte a b)
|
||||
::
|
||||
++ lte :: less-equal
|
||||
~/ %lte
|
||||
|= [a=@ b=@]
|
||||
|(=(a b) (lth a b))
|
||||
::
|
||||
++ lth :: less-than
|
||||
~/ %lth
|
||||
|= [a=@ b=@]
|
||||
^- ?
|
||||
&(!=(a b) |-(|(=(0 a) &(!=(0 b) $(a (dec a), b (dec b))))))
|
||||
::
|
||||
++ mas :: tree body
|
||||
~/ %mas
|
||||
|= a=@
|
||||
^- @
|
||||
?- a
|
||||
1 !!
|
||||
2 1
|
||||
3 1
|
||||
* (add (mod a 2) (mul $(a (div a 2)) 2))
|
||||
==
|
||||
::
|
||||
++ max :: maximum
|
||||
~/ %max
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?: (gth a b)
|
||||
a
|
||||
b
|
||||
::
|
||||
++ min :: minimum
|
||||
~/ %min
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?: (lth a b)
|
||||
a
|
||||
b
|
||||
::
|
||||
++ mod :: remainder
|
||||
~/ %mod
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?< =(0 b)
|
||||
(sub a (mul b (div a b)))
|
||||
::
|
||||
++ mul :: multiply
|
||||
~/ %mul
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
=+ c=0
|
||||
|-
|
||||
?: =(0 a)
|
||||
c
|
||||
$(a (dec a), c (add b c))
|
||||
::
|
||||
++ peg :: tree connect
|
||||
~/ %peg
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?- b
|
||||
1 a
|
||||
2 (mul a 2)
|
||||
3 +((mul a 2))
|
||||
* (add (mod b 2) (mul $(b (div b 2)) 2))
|
||||
==
|
||||
::
|
||||
++ sub :: subtract
|
||||
~/ %sub
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?: =(0 b)
|
||||
a
|
||||
$(a (dec a), b (dec b))
|
||||
--
|
||||
. ==
|
||||
|
@ -1,27 +0,0 @@
|
||||
!:
|
||||
:: /=main=/bin/solid/hoon
|
||||
::
|
||||
=> .(- `[who=@p how=path]`-)
|
||||
|= [est=time eny=@uw]
|
||||
|= arg=~
|
||||
=+ ^= cor
|
||||
=< |= [x=@ y=@]
|
||||
(add x y)
|
||||
=> %164
|
||||
|%
|
||||
++ add
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?: =(0 a) b
|
||||
$(a (dec a), b +(b))
|
||||
::
|
||||
++ dec
|
||||
|= a=@
|
||||
?< =(0 a)
|
||||
=+ b=0
|
||||
|- ^- @
|
||||
?: =(a +(b)) b
|
||||
$(b +(b))
|
||||
--
|
||||
:_ ~ :_ ~
|
||||
[%xx %sage [%easy0 %pill ~] cor]
|
@ -1,31 +0,0 @@
|
||||
!:
|
||||
:: /=main=/bin/solid/hoon
|
||||
::
|
||||
=> .(- `[who=@p how=path]`-)
|
||||
|= [est=time eny=@uw]
|
||||
|= arg=~
|
||||
=+ ^= cor
|
||||
=< |= [x=@ y=@]
|
||||
(add x y)
|
||||
=> %164
|
||||
~% %k164 ~ ~
|
||||
|%
|
||||
++ add
|
||||
~/ %add
|
||||
|= [a=@ b=@]
|
||||
^- @
|
||||
?: =(0 a) b
|
||||
$(a (dec a), b +(b))
|
||||
::
|
||||
++ dec
|
||||
~/ %dec
|
||||
|= a=@
|
||||
~| %decrement-underflow
|
||||
?< =(0 a)
|
||||
=+ b=0
|
||||
|- ^- @
|
||||
?: =(a +(b)) b
|
||||
$(b +(b))
|
||||
--
|
||||
:_ ~ :_ ~
|
||||
[%xx %sage [%easy1 %pill ~] cor]
|
Loading…
Reference in New Issue
Block a user