#'ctypep
obj
(compound-type-types type)))
- (function-type
+ (fun-type
(values (functionp obj) t))
(unknown-type
(values nil nil))
(layout-class (layout-of object)))
;;; Pull the type specifier out of a function object.
-(defun extract-function-type (fun)
- (if (sb!eval:interpreted-function-p fun)
- (sb!eval:interpreted-function-type fun)
- (typecase fun
- (byte-function (byte-function-type fun))
- (byte-closure (byte-function-type (byte-closure-function fun)))
- (t
- (specifier-type (%function-type (%closure-function fun)))))))
+(defun extract-fun-type (fun)
+ (specifier-type (%simple-fun-type (%closure-fun fun))))
\f
;;;; miscellaneous interfaces
(function
(if (funcallable-instance-p x)
(sb!xc:class-of x)
- (extract-function-type x)))
+ (extract-fun-type x)))
(symbol
(make-member-type :members (list x)))
(number