+++ /dev/null
-There are a number of hacks that I've used to make the system work
-that even I can see are ugly. Some which come to mind..
-
-It's dependent on being compiled in a rigid sequence, all in a single
-compilation pass, particularly in the cross-compilation phase.
-There's very little support for compiling modules in parallel
-or recompiling the system incrementally.
-
-The way the cross-compiler uses UNCROSS is ugly.
-
-The heavy use of %PYTHON:DEFMACRO to construct basic macros is
-arguably ugly. But it's better than what I tried before that, and the
-system is still slightly contaminated with fallout from what I tried..
-When I was first trying to bootstrap the system, I went off on a wild
-goose chase of trying to define everything (even fundamental macros
-like DEFUN and DEFMACRO) in terms of ordinary functions and Lisp
-special operators. I later realized that I could do without this, but
-a number of the changes that I made to the code while on that chase
-still live on, and the code is unnecessarily unclear because of them.
-
-The contrapuntal intertwingling of the cross-compiler and
-target Lisp build sequences is, well, baroque.
-
-Using host floating point numbers to represent target floating point
-numbers, or host characters to represent target characters, is theoretically
-shaky. (The characters are OK as long as the characters are
-in the ANSI-guaranteed character set, though.)
-
-Despite my attempts to make the compiler portable, it still makes assumptions
-about the cross-compilation host Common Lisp:
- Simple bit vectors are distinct from simple vectors (in
- DEFINE-STORAGE-BASE and elsewhere). (Actually, I'm not sure
- that things would really break if this weren't so, but I
- strongly suspect that they would.)
- SINGLE-FLOAT is distinct from DOUBLE-FLOAT.