*** empty log message ***
[bpt/guile.git] / TODO
diff --git a/TODO b/TODO
index dac21ce..ef9e807 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,19 @@
-Needed before release
-
 * Add facilities for debugging Scheme programs.
 
-Mikael Djurfeldt <mdj@nada.kth.se> is working on this.
+The low-level debugging support is done, and we are now working on the
+user interface.
 
-* Merge in the Cygnus threads package.
+* Documentation.
 
-Anthony Green <green@cygnus.com> is working on this,
-but he lacks time, so perhaps he could use help.
+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.
@@ -26,7 +28,27 @@ eliminate the need for tcl-lambda.
 * Translators for additional languages; in particular, Perl, Python,
 TCL, Emacs Lisp, and Rexx.
 
-* Clean up declarations of C functions to use a PROTO macro
-for conditional prototypes, instead of explicit conditionals.
-
 * 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.