From 96ebe1423b427c47d15517373cb26ead057b64c6 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Fri, 11 Jul 2014 22:53:51 -0700 Subject: 22 - better org'n for fn clauses --- mu.arc | 4 ++++ mu.arc.t | 11 +++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mu.arc b/mu.arc index d556e30a..1953e7c6 100644 --- a/mu.arc +++ b/mu.arc @@ -3,6 +3,7 @@ (def clear () (= types* (obj integer (obj size 1) + type (obj size 1) location (obj size 1) address (obj size 1) boolean (obj size 1))) @@ -71,6 +72,9 @@ eq (= (memory* oarg.0.1) (iso (memory* arg.0.1) (memory* arg.1.1))) + neq + (= (memory* oarg.0.1) + (~iso (memory* arg.0.1) (memory* arg.1.1))) arg (let idx (if arg arg.0 diff --git a/mu.arc.t b/mu.arc.t index 4c24d0c5..dc4abf0f 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -231,11 +231,10 @@ (clear) (add-fns '((add-fn - ((integer 4) <- otype 0) - ((integer 5) <- loadi 0) ; type index corresponding to 'integer' - ((boolean 6) <- eq (integer 4) (integer 5)) - (jif (boolean 6) (offset 1)) - (reply) + ((type 4) <- otype 0) + ((type 5) <- loadi 0) ; type index corresponding to 'integer' + ((boolean 6) <- neq (type 4) (type 5)) + (jif (boolean 6) (offset 3)) ((integer 7) <- arg) ((integer 8) <- arg) ((integer 9) <- add (integer 7) (integer 8)) @@ -248,5 +247,5 @@ ;? (prn memory*) (if (~iso memory* (obj 1 1 2 3 3 4 ; add-fn's temporaries - 4 0 5 0 6 t 7 1 8 3 9 4)) + 4 0 5 0 6 nil 7 1 8 3 9 4)) (prn "F - user-defined function with clauses")) -- cgit 1.4.1-2-gfad0