*** empty log message ***
[bpt/guile.git] / TODO
1 * Add facilities for debugging Scheme programs.
2
3 The low-level debugging support is done, and we are now working on the
4 user interface.
5
6 * Documentation.
7
8 We have a new layout for the reference manual which covers the
9 C/Scheme interface, as well as the scheme variants. We also want a
10 more thorough tutorial manual, but we haven't sketched that out yet.
11
12
13 Desired later on
14
15 * Good interface to Tk
16
17 * Add a convenient facility for running a pipeline of processes
18 with redirections. Gary Houston <ghouston@actrix.gen.nz>
19 is working on this.
20
21 * Make it possible to link Guile and TK without using libtcl.a, by
22 providing Guile-based replacements for the libtcl.a functions that TK
23 requires.
24
25 * Make ordinary lambda functions work as callbacks for Tk;
26 eliminate the need for tcl-lambda.
27
28 * Translators for additional languages; in particular, Perl, Python,
29 TCL, Emacs Lisp, and Rexx.
30
31 * A package for time conversions and formatting.
32
33 * Make GDB work with Guile
34
35 This would permit programmable debugging and a nice integrated GUI.
36
37
38 Low-level things
39
40 * Use the SCM trick of tagging environments with immediates (see m_letrec1)
41 to convert source correctly in unmemocopy.
42
43
44 Optimizations
45
46 * Eliminate argument checking for closures. One way to do it is to
47 set the cdr of application forms to an immediate representing the
48 arity of the call. If the closure contains a corresponding
49 immediate, these can be matched against eachother.
50
51 * Implement a thread-safe alternative to SCM's environment caches:
52
53 Add an extra argument to SCM_CEVAL: "evaluation context".
54 Evaluation contexts contain a stack of locations.