[Bug-openmcl] cacheable-ctype-p

bryan o'connor bryan-openmcl at lunch.org
Sat Feb 28 13:51:12 MST 2004


first of all, thank you for coding this.  it would have taken me
10x as long.  just one minor fix and one addition for it:

negation-ctype: call cacheable-ctype-p on the negated ctype.

member-ctype: if i can read your mind, i think an intended return
is missing in the dolist.  otherwise, it always evals to t.

this nails those 5 subtypep problems.

                              ...bryan


Index: level-1/l1-typesys.lisp
===================================================================
RCS file: /usr/local/tmpcvs/ccl-0.14-dev/ccl/level-1/l1-typesys.lisp,v
retrieving revision 1.12
diff -u -r1.12 l1-typesys.lisp
--- level-1/l1-typesys.lisp     28 Feb 2004 09:22:22 -0000      1.12
+++ level-1/l1-typesys.lisp     28 Feb 2004 20:47:51 -0000
@@ -1368,11 +1368,13 @@
  ;;; be stack-allocated or might be EQUAL without being EQL.
  (defun cacheable-ctype-p (ctype)
    (case (%svref ctype 0)
+    (negation-ctype
+     (cacheable-ctype-p (negation-ctype-type ctype)))
      (member-ctype
       (dolist (m (member-ctype-members ctype) t)
         (when (or (typep m 'cons)
                  (typep m 'array))
-        nil)))
+        (return nil))))
      (union-ctype
       (every #'cacheable-ctype-p (union-ctype-types ctype)))
      (intersection-ctype



More information about the Bug-openmcl mailing list