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

CL types --> classes



This message is a brief summary of what I believe we decided about which
Common Lisp types could be classes.  This is take from Sonya's very
careful notes and my less careful memory.  If we pass this message back
and forth for a while it could probably become a draft of a section in
the design rationale document.

I plan to send something like this (hopefully after it is improved by
the other people on this list) to the CommonLoops list to explain the
changes I am making in built-in classes in the next release of PCL.



Take table 4-1 from CLtL (page 43).  From that table, the following
types do NOT have corresponding classes:

ATOM

This is a negation type.

STANDARD-CHAR STRING-CHAR BIT FIXNUM BIGNUM

We decided not to do subranges.

COMMON STREAM FUNCTION

Specification in CLtL too vague.  It would be nice if X3J13 fixed stream
and function though.

KEYWORD

Class can change by setf of symbol-package.

SIMPLE-ARRAY SIMPLE-BIT-VECTOR SIMPLE-STRING SIMPLE-VECTOR

?? What is the reason for this ??

PACKAGE READTABLE RANDOM-STATE HASH-TABLE PATHNAME

CLtL only requires that these types be disjoint with each other.  We
would like X3J13 to fix these too.

SHORT-FLOAT LONG-FLOAT SINGLE-FLOAT DOUBLE-FLOAT

I don't believe we excluded these but I believe either Pavel or Patrick
said they would write up the rules about how these work.

-------