[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
BOGUS-FIXNUMS, again
- To: cl-cleanup@sail.stanford.edu
- Subject: BOGUS-FIXNUMS, again
- From: sandra%cdr@cs.utah.edu (Sandra J Loosemore)
- Date: Thu, 14 Jul 88 23:14:07 MDT
Since it appears that nobody besides me (and Stan) likes my previous
proposal on this issue and that I'll have to come up with something
less radical that is more acceptable to the rest of the committee, I
thought it would be useful to enumerate some of the possibilities. I
realize there are still two other issues which would still have to be
addressed when turning any of these into a real proposal, namely
whether to retain MOST-BLETCHEROUS-FIXNUM :-), and whether the BIGNUM
type specifier should remain and whether it must still be a non-empty
set which is disjoint from FIXNUM.
#0 (what CLtL says):
- there is no particular type specifier defined for "small integers".
- the FIXNUM type specifier is defined but nothing is said about its
range.
- FIXNUMs are required to have a more efficient representation than
non-FIXNUMs.
#1 (my original proposal):
- there is no particular type specifier defined for "small integers".
- the FIXNUM type specifier goes away.
- user-defined integer subrange types use the most efficient
representation possible in a given implementation.
#2 (Gail Zacharias's counter-proposal):
- there is no particular type specifier defined for "small integers".
- the FIXNUM type specifier is defined to be a superset of
(SIGNED-BYTE n), for some value of "n" which has yet to be
decided but that we all agree upon.
- FIXNUMs are not required to coincide with or be a subset of the
set of integers which are represented most efficiently.
#3 (change CLtL's "typically" to a firm requirement):
- there is no particular type specifier defined for "small integers".
- FIXNUMs must be a supertype of (SIGNED-BYTE n).
- FIXNUMs are defined to be the set of integers which are represented
most efficiently.
#4 (dumb, but here for completeness):
- there is no particular type specifier defined for "small integers".
- the FIXNUM type specifier is defined to be equivalent to
(SIGNED-BYTE n).
- FIXNUMs are required to be a subset of the integers which are
represented most efficiently.
#5: (Kent Pitman's suggestion):
- a new SMALL-INTEGER type specifier is introduced which is equivalent
to (SIGNED-BYTE n).
- the FIXNUM type specifier goes away.
- nothing is guaranteed about the efficiency of representation of
SMALL-INTEGERs.
#6 (similar to #3):
- a new SMALL-INTEGER type specifier is introduced which is equivalent
to (SIGNED-BYTE n).
- the set of FIXNUMs is required to be a superset of SMALL-INTEGERs.
- FIXNUMs are defined as the set of integers with the most efficient
representation. (This implies that SMALL-INTEGERS are also
guaranteed to be efficient.)
#7 (a cross between #0 and #5):
- a new SMALL-INTEGER type specifier is introduced which is equivalent
to (SIGNED-BYTE n).
- the FIXNUM type specifier remains but the range of FIXNUMs is left
undefined, as is the relationship between FIXNUM and SMALL-INTEGER.
- FIXNUMs are defined as the set of integers with the most efficient
representation. Nothing is guaranteed about the efficiency of
SMALL-INTEGERs.
Comments, anyone?
-Sandra
-------