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


> Date: 21 Jul 88 07:59 PDT
> From: Masinter.pa@Xerox.COM
> I like #3; there's some precedent for turning a ClTl's "typically" to
> a firm requirement where it encourages portability and there doesn't
> seem to be any reason to avoid it. We must be specific about the "n".
> I'd propose "14", i.e., FIXNUMs must be a supertype of (SIGNED-BYTE
> 14). That's small enough not to give even today's micros heartburn,
> and large enough to avoid having people squawk too much.  It is
> consistent with current practice, and removes some of the potential
> portability requirements.

This is also my favorite alternative (next to removing FIXNUMs 
entirely, that is).

Actually, I don't think we have to worry particularly about supporting
micros.  According to Stan, it appears that the Lisp with the smallest
fixnum range is actually Franz Lisp, which uses a separate spaces
implementation with fixnums in the range [-1024, 1023].  Here are some
fixnum sizes for Lisp implementations that run on micros or otherwise
claim to be "small":

    Cambridge Lisp	24 bits
    PC Scheme		15 bits
    XLisp		C "long" (boxed, no bignums)
    VT-Lisp		no integers, all numbers are Pascal "real"s
    A-Lisp		30 bits  (immediate, no bignums)

Stan says Gold Hill would not disclose information about their
implementation.  It looks like all of other Lisp implementations he
was able to gather information on which claim to be Common Lisps (or
even subsets of Common Lisp) have fixnums at least 24 bits long.
Therefore, unless somebody comes up with a counterexample, I think we
could safely retain the N=16 from CLtL.