diff options
-rw-r--r-- | mu.arc | 8 | ||||
-rw-r--r-- | mu.arc.t | 13 | ||||
-rw-r--r-- | x.mu | 1 |
3 files changed, 18 insertions, 4 deletions
diff --git a/mu.arc b/mu.arc index 6990d35c..204d0b74 100644 --- a/mu.arc +++ b/mu.arc @@ -19,9 +19,11 @@ add (= memory*.oarg1 (+ memory*.arg1 memory*.arg2)) - ; else - (prn "aaa") ; user-defined functions go here - )))) + ; else user-defined function + (run function*.op) + ))) +;? (prn "return") + ) (awhen cdr.argv (each file it diff --git a/mu.arc.t b/mu.arc.t index 85dd1cc5..be4075ec 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -8,3 +8,16 @@ (run function*!test1) (if (~iso memory* (obj 1 1 2 3 3 4)) (prn "F - load and add instructions work")) + +(clear) +(add-fns + '((add-fn + (3 <- add 1 2)) + (main + (1 <- loadi 1) + (2 <- loadi 3) + (_ <- add-fn)))) +(run function*!main) +;? (prn memory*) +(if (~iso memory* (obj 1 1 2 3 3 4)) + (prn "F - compound functions work")) diff --git a/x.mu b/x.mu index 6fbfaec0..98a75608 100644 --- a/x.mu +++ b/x.mu @@ -2,5 +2,4 @@ (1 <- loadi 1) (2 <- loadi 3) (3 <- add 1 2) - (x <- prn a) ) |