22 - better org'n for fn clauses
This commit is contained in:
parent
a5e757e1ab
commit
96ebe1423b
4
mu.arc
4
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
|
||||
|
|
11
mu.arc.t
11
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"))
|
||||
|
|
Loading…
Reference in New Issue