22 - better org'n for fn clauses

This commit is contained in:
Kartik K. Agaram 2014-07-11 22:53:51 -07:00
parent a5e757e1ab
commit 96ebe1423b
2 changed files with 9 additions and 6 deletions

4
mu.arc
View File

@ -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

View File

@ -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"))