about summary refs log tree commit diff stats
path: root/mu.arc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-10-29 10:29:30 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-10-29 10:29:30 -0700
commit4ed7fd4b94a154df6ed65e15e64e3265b569116a (patch)
tree6b543db06a7e6684744ea60f3391261b11599026 /mu.arc
parent6857d6c824c672e441b5e94f52efbe352765860f (diff)
downloadmu-4ed7fd4b94a154df6ed65e15e64e3265b569116a.tar.gz
169
Diffstat (limited to 'mu.arc')
-rw-r--r--mu.arc21
1 files changed, 10 insertions, 11 deletions
diff --git a/mu.arc b/mu.arc
index 19952cac..612a210b 100644
--- a/mu.arc
+++ b/mu.arc
@@ -157,17 +157,16 @@
       (++ n))))
 
 (def m (loc)  ; read memory, respecting metadata
-;?   (if (~isa v.loc 'int) prn.loc)
-  (assert (or (isa v.loc 'int)
-              (is ty.loc 'literal)))
-  (trace "m" loc " " sz.loc)
-  (if (is 'literal ty.loc)
-        (v loc)
-      (is 1 sz.loc)
-        (memory* addr.loc)
-      :else
-        (annotate 'record
-                  (map memory* (addrs addr.loc sz.loc)))))
+  (point return
+    (if (is 'literal ty.loc)
+      (return v.loc))
+    (assert (isa v.loc 'int))
+    (trace "m" loc " " sz.loc)
+    (if (is 1 sz.loc)
+          (memory* addr.loc)
+        :else
+          (annotate 'record
+                    (map memory* (addrs addr.loc sz.loc))))))
 
 (def setm (loc val)  ; set memory, respecting metadata
   (assert (isa v.loc 'int))