diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-07-11 22:50:55 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-07-11 22:50:55 -0700 |
commit | a5e757e1abefad8de527f3e7a6e8602cce62d468 (patch) | |
tree | 8dc604c2b57c4e00cf48156ab41c0075f6a247cc /mu.arc.t | |
parent | d17e8291efb5fb7c6f793ef925c6c262ce855581 (diff) | |
download | mu-a5e757e1abefad8de527f3e7a6e8602cce62d468.tar.gz |
21 - new boolean type
Diffstat (limited to 'mu.arc.t')
-rw-r--r-- | mu.arc.t | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/mu.arc.t b/mu.arc.t index 8150f4a1..4c24d0c5 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -165,6 +165,17 @@ (clear) (add-fns '((main + ((boolean 1) <- loadi t) + ((boolean 2) <- loadi nil) + ((boolean 3) <- and (boolean 1) (boolean 2))))) +(run function*!main) +;? (prn memory*) +(if (~iso memory* (obj 1 t 2 nil 3 nil)) + (prn "F - and works")) + +(clear) +(add-fns + '((main ((integer 1) <- loadi 8) (jmp (offset 1)) ((integer 2) <- loadi 3) @@ -190,36 +201,40 @@ (clear) (add-fns '((main - ((integer 1) <- loadi 0) - (jifz (integer 1) (offset 1)) + ((integer 1) <- loadi 1) + ((integer 2) <- loadi 1) + ((boolean 3) <- eq (integer 1) (integer 2)) + (jif (boolean 3) (offset 1)) ((integer 2) <- loadi 3) (reply) ((integer 3) <- loadi 34)))) (run function*!main) ;? (prn memory*) -(if (~iso memory* (obj 1 0)) - (prn "F - jifz works")) +(if (~iso memory* (obj 1 1 2 1 3 t)) + (prn "F - jif works")) (clear) (add-fns '((main ((integer 1) <- loadi 1) - (jifz (integer 1) (offset 1)) - ((integer 2) <- loadi 3) + ((integer 2) <- loadi 2) + ((boolean 3) <- eq (integer 1) (integer 2)) + (jif (boolean 3) (offset 1)) + ((integer 4) <- loadi 3) (reply) ((integer 3) <- loadi 34)))) (run function*!main) ;? (prn memory*) -(if (~iso memory* (obj 1 1 2 3)) - (prn "F - jifz works - 2")) +(if (~iso memory* (obj 1 1 2 2 3 nil 4 3)) + (prn "F - jif works - 2")) (clear) (add-fns '((add-fn ((integer 4) <- otype 0) ((integer 5) <- loadi 0) ; type index corresponding to 'integer' - ((integer 6) <- sub (integer 4) (integer 5)) - (jifz (integer 6) (offset 1)) + ((boolean 6) <- eq (integer 4) (integer 5)) + (jif (boolean 6) (offset 1)) (reply) ((integer 7) <- arg) ((integer 8) <- arg) @@ -233,5 +248,5 @@ ;? (prn memory*) (if (~iso memory* (obj 1 1 2 3 3 4 ; add-fn's temporaries - 4 0 5 0 6 0 7 1 8 3 9 4)) + 4 0 5 0 6 t 7 1 8 3 9 4)) (prn "F - user-defined function with clauses")) |