named-type
member-type
array-type
+ character-set-type
built-in-classoid
cons-type)
(values (%typep obj type) t))
;;; Clear memoization of all type system operations that can be
;;; altered by type definition/redefinition.
+;;;
+;;; FIXME: This should be autogenerated.
(defun clear-type-caches ()
+ (declare (special *type-system-initialized*))
(when *type-system-initialized*
(dolist (sym '(values-specifier-type-cache-clear
values-type-union-cache-clear
values-subtypep-cache-clear
csubtypep-cache-clear
type-intersection2-cache-clear
- values-type-intersection-cache-clear))
+ values-type-intersection-cache-clear
+ type=-cache-clear))
(funcall (the function (symbol-function sym)))))
(values))
:specialized-element-type etype)))
(cons
(make-cons-type *universal-type* *universal-type*))
+ (character
+ (specifier-type 'character))
(t
(classoid-of x))))
-
-;;; Clear this cache on GC so that we don't hold onto too much garbage.
-(pushnew 'ctype-of-cache-clear *before-gc-hooks*)
\f
(!defun-from-collected-cold-init-forms !target-type-cold-init)