about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-11-28 16:55:47 -0800
committerKartik K. Agaram <vc@akkartik.com>2014-11-28 16:55:47 -0800
commit307dd5b8e7cbb5c20f831b9d948f68bc77acc83a (patch)
treeb1717c2c492433bc2454a25760594f8bb4c11eab
parent1b4131ff40cc46db75552917a851f8ea0655b8e5 (diff)
downloadmu-307dd5b8e7cbb5c20f831b9d948f68bc77acc83a.tar.gz
362
Gaining confidence..
-rw-r--r--mu.arc1
-rw-r--r--mu.arc.t3
2 files changed, 4 insertions, 0 deletions
diff --git a/mu.arc b/mu.arc
index 397dd145..21e03a0e 100644
--- a/mu.arc
+++ b/mu.arc
@@ -112,6 +112,7 @@
               integer-array (obj array t  elem 'integer)
               integer-array-address (obj size 1  address t  elem 'integer-array)
               integer-address (obj size 1  address t  elem 'integer)  ; pointer to int
+              integer-address-address (obj size 1  address t  elem 'integer-address)
               ; records consist of a series of elems, corresponding to a list of types
               integer-boolean-pair (obj size 2  record t  elems '(integer boolean)  fields '(int bool))
               integer-boolean-pair-address (obj size 1  address t  elem 'integer-boolean-pair)
diff --git a/mu.arc.t b/mu.arc.t
index 5deecb96..bb08c583 100644
--- a/mu.arc.t
+++ b/mu.arc.t
@@ -750,6 +750,9 @@
   (prn "F - 'deref' handles simple addresses"))
 (if (~iso '(4 integer deref) (deref '(3 integer-address deref deref)))
   (prn "F - 'deref' deletes just one deref"))
+(= memory*.4 5)
+(if (~iso '(5 integer) (deref:deref '(3 integer-address-address deref deref)))
+  (prn "F - 'deref' can be chained"))
 
 ; unit tests for 'sizeof' helper
 (reset)