[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
issue BOGUS-FIXNUMS (initial draft)
- To: Masinter.pa@Xerox.COM
- Subject: issue BOGUS-FIXNUMS (initial draft)
- From: gz@spt.entity.com (Gail Zacharias)
- Date: 13 Jul 88 18:22:03 EDT (Wed)
- Cc: sandra%cdr@cs.utah.edu, cl-cleanup@sail.stanford.edu
- In-reply-to: Masinter.pa@Xerox.COM's message of 12 Jul 88 16:00 PDT <880712-160135-1829@Xerox>
Date: 12 Jul 88 16:00 PDT
From: Masinter.pa@Xerox.COM
Sigh, that's just the kind of code that is very non-portable and that I'd
like to discourage programmers from writing. I've tried to import stuff
from a CL that had 31 bit FIXNUMs into a system that had 17-bit FIXNUMs
and, out of sheer laziness, they said FIXNUM when they really meant
(signed-byte 24).
It's only non-portable if used on values which are not guaranteed to to be
within the FIXNUM range. If FIXNUMs were guaranteed to be at least
(signed-byte 24), it would be a perfectly valid program. Since they're not,
you just had the misfortune of working with buggy code. Buggy code can be
written using all sorts of otherwise-useful CL constructs.
The problem is of course that currently nothing is guaranteed to be in the
fixnum range, so even programs that use FIXNUM for numbers between -1 and
1 are nominally buggy. I think the solution is to guarantee some reasonable
range and be done with it.