0.7.13.pcl-class.5
[sbcl.git] / TODO
diff --git a/TODO b/TODO
index f8752b4..ab13f0c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,37 +1,9 @@
-for 0.7.0:
+for late 0.7.x:
 
 
-* filed off the roughest edges (or, perhaps, at least hammered down the
-       protruding rusty nails and snipped off the trailing razor wire,
-       leaving some filing for later:-) from the monster
-       EVAL/EVAL-WHEN/%COMPILE/DEFUN/DEFSTRUCT cleanup:
-* more renaming (esp. for global as opposed to lexical names):
-       ** reserved DO-FOO-style names for iteration macros
-       ** s/ARGUMENT/ARG/
-       ** perhaps s/DEF-FROB/DEF/ or s/DEF-FROB/DEFINE/
-       ** merged SB-C-CALL into SB-ALIEN
-* Perhaps rename "cold" stuff (e.g. SB-COLD and src/cold/) to "boot".
-* fixed CREDITS, since it's gone pretty stale
-* reviewed NEWS
-* pending patches and bug reports that go in (or else get handled
-       somehow, rejected/logged/whatever) before 0.7.0:
-=======================================================================
-for early 0.7.x:
-
-* patches postponed until after 0.7.0:
-       ** CSR "rough patch to fix bug 106" 2001-10-28
-       ** Alexey Dejneka "bug 111" 2001-12-30
-* building with CLISP (or explaining why not). This will likely involve
-       a rearrangement of the build system so that it never renames
-       the output from COMPILE-FILE, because CLISP's COMPILE-FILE
-       outputs two (!) files and as far as I can tell LOAD uses both
-       of them. Since I have other motivations for this rearrangement
-       besides CLISPiosyncrasies, I'm reasonably motivated to do it.
-* urgent EVAL/EVAL-WHEN/%COMPILE/DEFUN/DEFSTRUCT cleanup:
-       ** made inlining DEFUN inside MACROLET work again
-       ** (also, while working on INLINE anyway, it should be easy
-               to flush the old MAYBE-INLINE cruft entirely, 
-               including e.g. on the man page)
-       ** fixed bug 137 (more)
+* test file reworking
+       ** non-x86 ports now pass irrat.pure.lisp
+       ** ports with less than 256Mb of heap (sparc, ppc and mips)
+               now don't fail bit-vector.impure-cload.lisp
 * faster bootstrapping (both make.sh and slam.sh)
        ** added mechanisms for automatically finding dead code, and
                used them to remove dead code
 * faster bootstrapping (both make.sh and slam.sh)
        ** added mechanisms for automatically finding dead code, and
                used them to remove dead code
@@ -39,38 +11,37 @@ for early 0.7.x:
                (so that slam.sh will run faster and also just because
                ideally everything would be in cold init)
        ** profiled and tweaked
                (so that slam.sh will run faster and also just because
                ideally everything would be in cold init)
        ** profiled and tweaked
+* fixed (TRACE :REPORT PROFILE ...) interface to profiling
 * more EVAL/EVAL-WHEN/%COMPILE/DEFUN/DEFSTRUCT cleanup:
        ** made %COMPILE understand magicality of DEFUN FOO
                w.r.t. e.g. preexisting inlineness of FOO
        ** used %COMPILE where COMPILE-TOP-LEVEL used to be used
        ** removed now-redundant COMPILE-TOP-LEVEL and 
                FUNCTIONAL-KIND=:TOP-LEVEL stuff from the compiler
 * more EVAL/EVAL-WHEN/%COMPILE/DEFUN/DEFSTRUCT cleanup:
        ** made %COMPILE understand magicality of DEFUN FOO
                w.r.t. e.g. preexisting inlineness of FOO
        ** used %COMPILE where COMPILE-TOP-LEVEL used to be used
        ** removed now-redundant COMPILE-TOP-LEVEL and 
                FUNCTIONAL-KIND=:TOP-LEVEL stuff from the compiler
-       ** made FUNCTION-NAME logic work on closures, so that
+       ** (ideally, but perhaps too hard, given what I've discovered
+               about the godawful internals of function debug names):
+               made FUNCTION-NAME logic work on closures, so that
                various public functions like CL:PACKAGEP which
                are now implemented as closures (because
                they're structure slot accessors) won't be so
                nasty in the debugger
                various public functions like CL:PACKAGEP which
                are now implemented as closures (because
                they're structure slot accessors) won't be so
                nasty in the debugger
-       ** %SLOT-ACCESSOR/%SLOT-ACCESSOR stuff can probably go away,
-               since we inline expand all slot accessors into 
-               %INSTANCE-REF and the optimizer knows all it needs
-               to know about that.
-* rewrote long-standing confusing error restarts for redefining
-       DEFSTRUCTs
 * outstanding embarrassments
 * outstanding embarrassments
-       ** cut-and-pasted DEF-BOOLEAN-ATTRIBUTE (maybe easier to fix
-               now that EVAL-WHEN does what it should..)
-       ** incomplete manual
-       ** :IGNORE-ERRORS-P cruft in stems-and-flags.lisp-expr
-       ** weird double-loading (first in GENESIS, then in warm init)
-               of src/assembly/target/*.lisp stuff, and the associated
-               weirdness of the half-baked state (compiler almost but
-               not quite ready for prime time..) of the system after
-               cold init
+       ** :IGNORE-ERRORS-P cruft in stems-and-flags.lisp-expr. (It's
+               reasonable to support this as a crutch when initially
+               bootstrapping from balky xc hosts with their own
+               idiosyncratic ideas of what merits FAILURE-P, but it's
+               embarrassing to have to use it when bootstrapping 
+               under SBCL!),
 * fixups now feasible because of pre7 changes
 * fixups now feasible because of pre7 changes
-       ** ANSIfied DECLAIM INLINE stuff (deprecating MAYBE-INLINE)
+       ** ANSIfied DECLAIM INLINE stuff (deprecating MAYBE-INLINE,
+               including e.g. on the man page)
 * miscellaneous simple refactoring
        * belated renaming:
                ** renamed %PRIMITIVE to %VOP
 * miscellaneous simple refactoring
        * belated renaming:
                ** renamed %PRIMITIVE to %VOP
+               ** A few hundred things named FN and FCN should be
+                       named FUN (but maybe not while dan_b is 
+                       working on a threads branch and drichards is
+                       working on a Windows port).
        * These days ANSI C has inline functions, so..
                ** redid many cpp macros as inline functions: 
                        HeaderValue, Pointerp, CEILING, ALIGNED_SIZE,
        * These days ANSI C has inline functions, so..
                ** redid many cpp macros as inline functions: 
                        HeaderValue, Pointerp, CEILING, ALIGNED_SIZE,
@@ -79,14 +50,9 @@ for early 0.7.x:
                        os_trunc_foo(), os_round_up_foo()
                ** removed various avoid-evaluating-C-macro-arg-twice
                        cruft
                        os_trunc_foo(), os_round_up_foo()
                ** removed various avoid-evaluating-C-macro-arg-twice
                        cruft
-* added mechanisms for automatically finding dead symbols is
-       package-data.lisp-expr (i.e. those symbols not bound,
-       fbound, defined as types, or whatever), and used them
-       to remove dead symbols
-* made system handle stack overflow safely unless SAFETY is dominated
-       by SPEED or SPACE
-* Probably get rid of or at least rework the fdefinition/encapsulation
-       system so that (SYMBOL-FUNCTION 'FOO) = (FDEFINITION 'FOO).
+* Either get rid of or at least rework the fdefinition/encapsulation
+       system so that (SYMBOL-FUNCTION 'FOO) is identically equal to
+       (FDEFINITION 'FOO).
 =======================================================================
 for 0.9:
 
 =======================================================================
 for 0.9:
 
@@ -163,7 +129,7 @@ are still welcome!) until after 1.0:
                out of scope. (However, it still might be possible to
                determine that some or all of them are hopelessly stale
                and delete them.)
                out of scope. (However, it still might be possible to
                determine that some or all of them are hopelessly stale
                and delete them.)
-===============================================================================
+=======================================================================
 other known issues with no particular target date:
 
 bugs listed on the man page
 other known issues with no particular target date:
 
 bugs listed on the man page