0.6.13:
[sbcl.git] / TODO
diff --git a/TODO b/TODO
index c9dc3fe..552076d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-i    Accumulation of half-understood design decisions eventually
+    Accumulation of half-understood design decisions eventually
     chokes a program as a water weed chokes a canal. By refactoring
     you can ensure that your full understanding of how the program
     should be designed is always reflected in the program. As a
@@ -12,22 +12,6 @@ i    Accumulation of half-understood design decisions eventually
 some things that I'd like to do in 0.6.x, in no particular order:
 -------------------------------------------------------------------------------
 PROBLEM:
-           The batch-related command line options for SBCL don't work
-       properly.
-           A small part of making them work properly is making sure that
-       verbose GC messages end up piped to error output.
-           Make sure that when the system dies due to an unhandled error
-       in batch mode, the error is printed successfully, whether
-       FINISH-OUTPUT or an extra newline or whatever is required.
-           Make sure that make.sh dies gracefully when one of the SBCLs
-       it's running dies with an error.
-MUSING:
-           Actually, the ANSI *DEBUGGER-HOOK* variable might be a better
-       place to put the die-on-unhandled-error functionality.
-FIX:
-       ??
--------------------------------------------------------------------------------
-PROBLEM:
            As long as I'm working on the batch-related command-line options,
        it would be reasonable to add one more option to "do what I'd want",
        testing standard input for non-TTY-ness and running in no-programmer
@@ -36,13 +20,6 @@ FIX:
        ?? Do it.
 -------------------------------------------------------------------------------
 PROBLEM:
-           In order to make a well-behaved backtrace when a batch program
-       terminates abnormally, it should be limited in length.
-FIX:
-       ?? Add a *DEBUG-BACKTRACE-COUNT* variable, initially set to 64,
-         to provide a default for the COUNT argument to BACKTRACE.
--------------------------------------------------------------------------------
-PROBLEM:
            I used CMU CL for years, and dozens of times I cursed the
        inadequate breakpoint-based TRACE facility which doesn't work on
        some functions, and I never realized that there's a wrapper-based
@@ -64,28 +41,15 @@ FIX:
          it always works.
 -------------------------------------------------------------------------------
 PROBLEM:
-           When cross-compiling host-byte-comp.lisp, I get bogus
-       warnings
-               caught STYLE-WARNING:
-                 undefined function: %%DEFCONSTANT
-               caught STYLE-WARNING:
-                 This function is undefined:
-                 %%DEFCONSTANT
-MUSING:
-           The best way to clean this up would be as a side-effect of
-       a larger cleanup, making all the %%DEFFOO stuff use EVAL-WHEN
-       instead of IR1 magic.
-           There's probably some way to do it with a quick local hack too.
-FIX:
-       ??
--------------------------------------------------------------------------------
-PROBLEM:
            My system of parallel build directories seems to add
        complexity without adding value.
 FIX:
        ?? Replace it with a system where fasl output files live in the 
          same directories as the sources and have names a la
          "foo.fasl-from-host and "foo.fasl-from-xc".
+       ?? (Perhaps something else will be required in order to port
+       to Microsoft Windows, since its filesystem doesn't have
+       symbolic links.)
 -------------------------------------------------------------------------------
 PROBLEM:
            It might be good to use the syntax (DEBUGGER-SPECIAL *PRINT-LEVEL*)
@@ -101,11 +65,6 @@ FIX:
        ??
 -------------------------------------------------------------------------------
 PROBLEM:
-           The :SB-TEST target feature should do something.
-FIX:
-       ??
--------------------------------------------------------------------------------
-PROBLEM:
            I still haven't cleaned up the cut-and-paste programming in 
                * DEF-BOOLEAN-ATTRIBUTE, DELETEF-IN, and PUSH-IN
                * SB!SYS:DEF!MACRO ASSEMBLE and SB!XC:DEFMACRO ASSEMBLE
@@ -122,51 +81,21 @@ PROBLEM:
        thing in itself, but might be a fair amount of work.)
 FIX:
        ?? Delete, delete, delete.
--------------------------------------------------------------------------------
-PROBLEM:
-           The hashing code is new and should be tested.
-FIX:
-       ?? Enable the existing test code.
 ===============================================================================
 other known issues with no particular target date:
 
-user manual including, at a minimum, updated versions of the
-CMU CL user manual information on the compiler and the alien
-interface
-
 bugs listed on the man page
 
 more regression tests
 
-various bugs fixed in CMUCL since this code was forked off of it
-ca. 19980801, since most of these haven't been fixed yet in SBCL
-
 byte compilation of appropriate parts of the system, so that the
 system core isn't so big
 
-uninterning needed-only-at-init-time stuff after init is complete,
-so that the system core isn't so big
-
 Search for unused external symbols (ones which are not bound, fbound,
 types, or whatever, and also have no other uses as e.g. flags) and
 delete them. This should make the system core a little smaller, but
 is mostly useful just to make the source code smaller and simpler.
 
-The eventual plan is for SBCL to bootstrap itself in two phases. In
-the first phase, the cross-compilation host is any old ANSI Common
-Lisp (not necessarily SBCL) and the cross-compiler won't handle some
-optimizations because the code it uses to implement them is not
-portable. In the second phase, the cross-compilation host will be
-required to be a compatible version of SBCL, and the cross-compiler
-will take advantage of that to implement all optimizations. The
-current version of SBCL only knows how to do the first of those two
-phases, with a fully-portable cross-compiler, so some optimizations
-are not done. Probably the most important consequence of this is that
-because the fully-portable cross-compiler isn't very smart about
-dealing with immediate values which are of specialized array type
-(e.g. (SIMPLE-ARRAY (UNSIGNED-BYTE 4) 1)) the system sometimes has to
-use unnecessarily-general array types internally.
-
 adding new FOPs to provide something like CMU CL's FOP-SYMBOL-SAVE and
 FOP-SMALL-SYMBOL-SAVE functionality, so that fasl files will be more
 compact. (FOP-SYMBOL-SAVE used *PACKAGE*, which was concise but allowed