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

Re: Character Objects (what else!)



Since Lisp-forum has clogged my mailbox nonstop for the past week, I
guess there is room for my paltry contribution.  The root cause of all
this confusion is that both sides are correct.  One wants both the
efficiency of representing characters by numbers, so that primitive
(and presumably fast) operations such as + work on them, and your
debugger (and you) want them printed as characters.  This could work
in two ways.  One is to introduce yet another "hardware" datatype
which is interpreted correctly at run time by all the primitives such
as +, <, print, etc.  Another equally good way is to retain sufficient
information from the source code, so that, despite the fact that there
is a fixnum staring at you, you realize that it represents a
character.
  The second of these requires a more sophisticated debugger, along
with good hooks into the compiler, but these same hooks are already
necessary to support well established programming features such as
SETF (or macros in general).
  My conclusion is that it is overdue that we address this more
general problem of dealing with the debugging/compiling support for
the syntax/macro features of the language and stop trying to patch our
way through the debugging maze by adding more hardware datatypes.
Either approach will work for this problem, but as I mentioned above,
we already are losing on debugger support for independent language
features.