diff options
Diffstat (limited to 'mu.arc.t')
-rw-r--r-- | mu.arc.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/mu.arc.t b/mu.arc.t index 829eb8ca..9f7365c9 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -411,6 +411,17 @@ (reset) (add-fns '((main + ((1 integer) <- literal 34) + ((2 integer) <- literal t) + ((3 integer-boolean-pair-address) <- get-address (1 integer-point-pair) (1 offset))))) +(run 'main) +;? (prn memory*) +(if (~iso memory* (obj 1 34 2 t 3 2)) + (prn "F - 'get-address' returns address of fields of records")) + +(reset) +(add-fns + '((main ((1 integer) <- literal 2) ((2 integer) <- literal 23) ((3 boolean) <- literal nil) @@ -430,6 +441,20 @@ ((3 boolean) <- literal nil) ((4 integer) <- literal 24) ((5 boolean) <- literal t) + ((6 integer-boolean-pair-address) <- get-address (1 integer-boolean-pair-array) (1 offset))))) +(run 'main) +;? (prn memory*) +(if (~iso memory* (obj 1 2 2 23 3 nil 4 24 5 t 6 4)) + (prn "F - 'get-address' returns addresses of indices of arrays")) + +(reset) +(add-fns + '((main + ((1 integer) <- literal 2) + ((2 integer) <- literal 23) + ((3 boolean) <- literal nil) + ((4 integer) <- literal 24) + ((5 boolean) <- literal t) ((6 integer) <- len (1 integer-boolean-pair-array))))) (run 'main) ;? (prn memory*) |