Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!labrea!rutgers!njin!princeton!phoenix!eliot From: eliot@phoenix.Princeton.EDU (Eliot Handelman) Newsgroups: comp.lang.lisp Subject: Type testing priority Message-ID: <7480@phoenix.Princeton.EDU> Date: 30 Mar 89 01:30:22 GMT Reply-To: eliot@phoenix.Princeton.EDU (Eliot Handelman) Organization: Princeton University, NJ Lines: 23 Should (TYPEP OBJECT TYPE) test first whether TYPE is the name of a structure, or whether it has an explicit type attached to it via DEFTYPE? For example: >(defstruct (quux (:type list) :named) x y) QUUX >(deftype quux () '(satisfies quux-p)) QUUX >(setq q (make-quux)) (QUUX NIL NIL) (typep q 'quux) In KCl ==> NIL In Lucid 2.2 ==> T KCl says no because it knows that QUUX names a structure, and so it passed q off to its special structure-handling procedures where it determined it to be of tyoe cons. This doesn't seem right to me in the case of named structures. What should happen?