diff options
-rw-r--r-- | Lisp/lisp-value-wrapping.lisp | 10 | ||||
-rw-r--r-- | Lisp/type-conversion-policy.lisp | 9 | ||||
-rw-r--r-- | objective-cl.asd | 3 |
3 files changed, 10 insertions, 12 deletions
diff --git a/Lisp/lisp-value-wrapping.lisp b/Lisp/lisp-value-wrapping.lisp index a25cb2d..dbc9c6e 100644 --- a/Lisp/lisp-value-wrapping.lisp +++ b/Lisp/lisp-value-wrapping.lisp @@ -40,16 +40,6 @@ (:metaclass ns::+ns-object)) -(defcoercion id ((x list)) - (intern-lisp-value x)) - -(defcoercion id ((x string)) - (intern-lisp-value x)) - -(defcoercion id ((x t)) - (intern-lisp-value x)) - - (defvar *lisp-value-wrappers* (make-weak-value-hash-table)) diff --git a/Lisp/type-conversion-policy.lisp b/Lisp/type-conversion-policy.lisp index ba1ae34..43c3cf3 100644 --- a/Lisp/type-conversion-policy.lisp +++ b/Lisp/type-conversion-policy.lisp @@ -79,7 +79,14 @@ (defcoercion :id ((x null)) +nil+) -;; (defcoercion id ((x {list, string, t})) ...): See lisp-value-wrapping.lisp. +(defcoercion :id ((x list)) + (intern-lisp-value x)) + +(defcoercion :id ((x string)) + (intern-lisp-value x)) + +(defcoercion :id ((x t)) + (intern-lisp-value x)) (defcoercion :class ((x id)) diff --git a/objective-cl.asd b/objective-cl.asd index 82d1731..ec74687 100644 --- a/objective-cl.asd +++ b/objective-cl.asd @@ -63,7 +63,8 @@ "type-handling" "policy" "data-types" - "method-invocation")) + "method-invocation" + "lisp-value-wrapping")) (:file "type-handling" :depends-on ("defpackage" "libobjcl" "init")) |