* Add facilities for debugging Scheme programs.

The low-level debugging support is done, and we are now working on the
user interface.

* Documentation.

We have a new layout for the reference manual which covers the
C/Scheme interface, as well as the scheme variants.  We also want a
more thorough tutorial manual, but we haven't sketched that out yet.


Desired later on

* Good interface to Tk

* Add a convenient facility for running a pipeline of processes
with redirections.  Gary Houston <ghouston@actrix.gen.nz>
is working on this.

* Make it possible to link Guile and TK without using libtcl.a, by
providing Guile-based replacements for the libtcl.a functions that TK
requires.

* Make ordinary lambda functions work as callbacks for Tk;
eliminate the need for tcl-lambda.

* Translators for additional languages; in particular, Perl, Python,
TCL, Emacs Lisp, and Rexx.

* A package for time conversions and formatting.

* Make GDB work with Guile

This would permit programmable debugging and a nice integrated GUI.


Low-level things

* Use the SCM trick of tagging environments with immediates (see m_letrec1)
  to convert source correctly in unmemocopy.


Optimizations

* Eliminate argument checking for closures.  One way to do it is to
  set the cdr of application forms to an immediate representing the
  arity of the call.  If the closure contains a corresponding
  immediate, these can be matched against eachother.

* Implement a thread-safe alternative to SCM's environment caches:

  Add an extra argument to SCM_CEVAL: "evaluation context".
  Evaluation contexts contain a stack of locations.
