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
?? 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
?? 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*)
??
-------------------------------------------------------------------------------
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
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