[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: common-lisp-object-system@SAIL.STANFORD.EDU*Subject*: Exact type*From*: Patrick H Dussud <DUSSUD%Jenner%ti-csl.csnet@RELAY.CS.NET>*Date*: Tue, 22 Sep 87 11:25:11 CDT

I have second thoughts about allowing any common lisp type in (declare (exact-type ...)) - First, what does exact-type means? Since type-of cannot be trusted to return the most specific type an object is of, we have to base our definition on TYPEP. I propose this one: x is of exact-type X if it verifies: Let Y be a type such as (SUBTYPEP X Y) is true, then (TYPEP x Y ) is false. I think it does what JAK meant. - Assuming that my definition is correct, for which type does it make sense? It makes sense for our classes since all the subclasses can be known, they are user classes. By the same token, it makes sense for defstruct types. But allowing the other COMMON subtypes would makes programs non portable: The list of subtypes of a type is implementation dependent. We say (page 1-14) that individual implementation can add additional subclass relationships as long as they don't violate CLtL. I propose that we restrict the types acceptable to (declare (exact-type ...)) to CLOS classes and structure types. Patrick.

**Follow-Ups**:**Re: Exact type***From:*kempf%hplabsz@hplabs.HP.COM

- Prev by Date:
**Redefining Classes** - Next by Date:
**Re: fixing our problems with setf** - Previous by thread:
**Re: next-methods** - Next by thread:
**Re: Exact type** - Index(es):