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