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-10 20:20:55 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-10-10 20:25:31 -0700
commit526d5d3f13fa57c6a5658f119cdf43757f40eebe (patch)
tree9b369cb7ed53725a6650d940c0005ed5c7255b20 /mu.arc
parentcf2358f43277ed4215e169c59e66f77def6e18b2 (diff)
downloadmu-526d5d3f13fa57c6a5658f119cdf43757f40eebe.tar.gz
127 - tagged values for dynamic typing
This is almost certainly wrong.
Diffstat (limited to 'mu.arc')
-rw-r--r--mu.arc16
1 files changed, 16 insertions, 0 deletions
diff --git a/mu.arc b/mu.arc
index 2f1fadf7..68f5807d 100644
--- a/mu.arc
+++ b/mu.arc
@@ -353,6 +353,22 @@
                       array-len.base
                       -1))
 
+                ; dynamic types
+                maybe-coerce
+;?                 (do (prn "AAA " arg.0 " " arg.1)
+;?                   (prn (m arg.0))
+;?                   (prn `(,(v arg.0) type))
+;?                   (prn "DDD " (m `(,(v arg.0) type)))
+;?                   (prn (+ 1 (v arg.0)))
+;?                   (prn `(,(+ 1 (v arg.0)) ,(m arg.1)))
+;?                   (prn (m `(,(+ 1 (v arg.0)) ,(m arg.1))))
+                  (if (is (m arg.1) (m `(,(v arg.0) type)))
+                    (list (m `(,(+ 1 (v arg.0)) ,(m arg.1)))
+                          t)
+                    (list 0
+                          nil))
+;?                   )
+
                 ; multiprocessing
                 run
                   (run (v arg.0))