* Removed lots of deprecated stuff.
[bpt/guile.git] / TODO
1 -*-text-*-
2
3 These TODO items are grouped by target release version. The first group is
4 the "Eventually" group, which is not associated w/ any particular version.
5 Move these items under a version upon completion (or better yet, ownership).
6
7 Upon completion, simply change the "-" to a "+", but do not delete the item.
8 At release time, the "+" entries will be deleted after review to make sure
9 that user-visible changes are reflected in NEWS (and that proper credit is
10 applied :-).
11
12 Ownership is indicated by `[USERNAME]'. Maintainers (w/ write privs) can
13 indicate sponsorship by `[ACTUAL-OWNER:MAINTAINER]', where both elements are
14 usernames.
15
16 See also file HACKING.
17
18 ------------------------------------------------------------------------------
19
20 === Eventually:
21
22 - [after signal handling and threading have been fixed] remove the code
23 corresponding to GUILE_OLD_ASYNC_CLICK and the corresponding
24 GUILE_OLD_ASYNC_CLICK macro.
25 - implement and integrate generational garbage collection
26 - add POSIX thread support
27 - factor thread support out of libguile
28 - protect common resources using mutecis from the new interface
29 - remove the dynamic roots
30 - revise the fluid implementation
31 - implement the GC thread synchronization (all threads: go to sleep!)
32 - implementing the libguileposix threads glue library
33 - GOOPS
34 - develop better representation for GOOPS objects
35 - rewrite method cache management in C
36 - rewrite core macros (define-class et al) in C
37 - define C API
38 - write Orbit CORBA interface
39 - [after new module system] factor out modules sort.c and random.c should be
40 factored out into separate modules
41 - include malloc debugging code in an optional file in libguile
42 - fix looking up procedure names in environment in backtraces
43 - implement srcprops using double cells
44 - use "real" procprops
45 - add facilities for easily debugging Scheme programs from Emacs
46 - write good interface to Tk
47 - write translators for additional languages
48 - Perl
49 - Python
50 - TCL
51 - Emacs Lisp
52 - Rexx
53 - make GDB work with Guile
54 - use the SCM trick of tagging environments with immediates (see m_letrec1)
55 to convert source correctly in unmemocopy
56 - eliminate argument checking for closures
57 - Implement a thread-safe alternative to SCM's environment caches
58 - rename ice-9 to something more obvious
59 - implement implicitly shared substrings (thread-safe, copy on write). In
60 this context, the concept of read-only-strings might be re-introduced to
61 implement the symbol->string semantics of R5RS.
62 - implement internationalized strings
63 - revise the uniform vector implementation
64
65 === Before releasing 1.8.0:
66
67 - Make sure we have appropriate interface numbers for shared
68 libraries, and that we document and use the libtool
69 conventions. [rlb].
70
71 - Update the version numbers in GUILE-VERSION and README. [rlb]
72
73 - Start a new section of the NEWS file.
74
75 - Start a new THANKS file.
76
77 === Before releasing 1.10.0:
78
79 - in boot-9.scm:
80 remove deprecated function `feature?ยด.
81
82 [TODO ends here]