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

FIXNUM considered useful



The language as it stands provides a perfectly good mechanism for people
who want to specify the range of certain integers in a strictly portable
way.  It also provides the more convenient FIXNUM declaration for people
who want to use that.  Like many constructs in the language, the latter
is implementation-dependent in certain ways that are carefully spelled
out (though not in the optimal place in the manual -- that will be
fixed).

I see no need to remove FIXNUM declarations from the language.  I
promise to convert all (FIXNUM foo) declarations to (INTEGER foo) in any
code I send to Xerox and Symbolics in the future, or to explain to them
how they can do this themselves using the wonders of modern editor
technology.  Our code has a lot of FIXNUM declarations in it, and it
ports just fine among all the stock-hardware machines we have around
here.  We're not willing to do a lot of work now to figure out the
tightest possible integer range limits for each fixnum in order to make
things work on a hypothetical tiny-fixnum machine.

If people think that this is a matter of principle -- something either
is ABSOLUTELY PORTABLE or not -- then flonums have to go, along with
all character objects that are not standard-char-p, and a couple of
dozen other things.  In my view, portability is a goal, not a
mathematical predicate.

Like Rob, I think that this debate has about run its course and should
be allowed to die a quiet death.  Both sides are dug in, and the status
quo is going to win.

-- Scott