47 |
(let ((f (and (not i) (symbolp tp) (get tp 'type-predicate)))) |
(let ((f (and (not i) (symbolp tp) (get tp 'type-predicate)))) |
48 |
(when f (return-from typep-int (let ((z (funcall f object))) z)))) |
(when f (return-from typep-int (let ((z (funcall f object))) z)))) |
49 |
(case tp |
(case tp |
50 |
(cons (and (consp object) (typep-int (car object) (car i)) (typep-int (cdr object) (cadr i)))) |
(cons (and (consp object) |
51 |
|
(or (endp i) |
52 |
|
(and (typep-int (car object) (car i)) |
53 |
|
(or (endp (cdr i)) |
54 |
|
(typep-int (cdr object) (cadr i))))))) |
55 |
(member (member object i)) |
(member (member object i)) |
56 |
(not (not (typep-int object (car i)))) |
(not (not (typep-int object (car i)))) |
57 |
(or |
(or |
64 |
(unless (typep-int object (car l)) (return nil)))) |
(unless (typep-int object (car l)) (return nil)))) |
65 |
(satisfies (let ((z (funcall (car i) object))) z)) |
(satisfies (let ((z (funcall (car i) object))) z)) |
66 |
((t) t) |
((t) t) |
67 |
((nil) (not object)) |
((nil) nil) |
68 |
(boolean (or (eq object 't) (eq object 'nil))) |
(boolean (or (eq object 't) (eq object 'nil))) |
69 |
(fixnum (eq (type-of object) 'fixnum)) |
(fixnum (eq (type-of object) 'fixnum)) |
70 |
(bignum (eq (type-of object) 'bignum)) |
(bignum (eq (type-of object) 'bignum)) |