(load "../common") (mtest (subtypep 'a 'a) t (subtypep t t) t (subtypep nil t) t (subtypep t nil) nil (subtypep nil nil) t (subtypep 'null nil) nil (subtypep nil 'null) t (subtypep 'null t) t (subtypep 'null 'a) nil (subtypep 'a 'null) nil (subtypep nil 'a) t (subtypep 'a nil) nil (subtypep 'a t) t) (mtest (subtypep 'stream 'stdio-stream) nil (subtypep 'stdio-stream 'stream) t) (defstruct xtime time) (defstruct nottime nil) (mtest (typep #S(time) 'time) t (typep #S(time) (find-struct-type 'time)) t (typep #S(xtime) 'time) t (typep #S(xtime) (find-struct-type 'time)) t (typep #S(nottime) 'time) nil (typep #S(nottime) (find-struct-type 'time)) nil) (mtest (subtypep (find-struct-type 'time) (find-struct-type 'time)) t (subtypep (find-struct-type 'time) 'time) t (subtypep 'time (find-struct-type 'time)) t) (mtest (subtypep (find-struct-type 'xtime) (find-struct-type 'time)) t (subtypep (find-struct-type 'xtime) 'time) t (subtypep 'xtime (find-struct-type 'time)) t) (mtest (subtypep (find-struct-type 'time) (find-struct-type 'xtime)) nil (subtypep (find-struct-type 'time) 'xtime) nil (subtypep 'time (find-struct-type 'xtime)) nil) (mtest (subtypep 'time 'struct) t (subtypep (find-struct-type 'time) 'struct) t (subtypep 'hash 'struct) nil) (defstruct listlike nil (:method car (me))) (defstruct veclike nil (:method length (me))) (mtest (subtypep 'listlike 'sequence) t (subtypep (find-struct-type 'listlike) 'sequence) t (subtypep 'veclike 'sequence) t (subtypep (find-struct-type 'veclike) 'sequence) t (subtypep 'time 'sequence) nil (subtypep 'hash 'sequence) nil (subtypep 'str 'sequence) t (subtypep 'string 'sequence) t (subtypep 'vec 'sequence) t)