[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: more on BOGUS-FIXNUMS
- To: Masinter.email@example.com
- Subject: Re: more on BOGUS-FIXNUMS
- From: firstname.lastname@example.org (Sandra J Loosemore)
- Date: Thu, 21 Jul 88 10:35:52 MDT
- Cc: email@example.com
- In-reply-to: Masinter.pa@Xerox.COM, 21 Jul 88 07:59 PDT
> 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.