diff --git a/TODO b/TODO index 7f952e053..e69de29bb 100644 --- a/TODO +++ b/TODO @@ -1,120 +0,0 @@ -The Guile TODO List (actually, an -*-outline-*-) - -* Protocol - -These TODO items are grouped by target release version. The first group is -the "Eventually" group, which is not associated w/ any particular version. -Items should be initially added to this group, and then later moved under a -version upon either ownership or sponsorship. - -Maintainers (w/ write privs) indicate ownership by `[USERNAME]'. Use -`[ACTUAL-OWNER:MAINTAINER]' to indicate sponsorship, where both elements are -usernames. - -Upon completion, simply change the "-" to a "+", but do not delete the item. -At release time, the "+" entries will be deleted after review to make sure -that user-visible changes are reflected in NEWS. - - -* Eventually - -- Unify SRFI-4 and the existing uniform array code, cleaning it up in - the process. -- [after signal handling and threading have been fixed] remove the code - corresponding to GUILE_OLD_ASYNC_CLICK and the corresponding - GUILE_OLD_ASYNC_CLICK macro. -- implement and integrate generational garbage collection -- add POSIX thread support -- factor thread support out of libguile -- protect common resources using mutecis from the new interface -- remove the dynamic roots -- revise the fluid implementation -- implement the GC thread synchronization (all threads: go to sleep!) -- implementing the libguileposix threads glue library -- develop better representation for GOOPS objects -- write Orbit CORBA interface -- [after new module system] factor out modules sort.c and random.c should be - factored out into separate modules -- include malloc debugging code in an optional file in libguile -- fix looking up procedure names in environment in backtraces -- implement srcprops using double cells -- use "real" procprops -- add facilities for easily debugging Scheme programs from Emacs -- write good interface to Tk -- write translators for additional languages - - Perl - - Python - - TCL - - Emacs Lisp - - Rexx -- make GDB work with Guile -- use the SCM trick of tagging environments with immediates (see m_letrec1) - to convert source correctly in unmemocopy -- eliminate argument checking for closures -- Implement a thread-safe alternative to SCM's environment caches -- rename ice-9 to something more obvious -- implement implicitly shared substrings (thread-safe, copy on write). In - this context, the concept of read-only-strings might be re-introduced to - implement the symbol->string semantics of R5RS. -- implement internationalized strings -- revise the uniform vector implementation -- make the set of error signalling functions more consistent -- Fix bug reported by Sven.Hartrumpf@fernuni-hagen.de 2001-08-31: - (debug-disable 'debug) has no effect if it is the first form in ~/.guile. -- provide a non-extended implementation of 'define' for the R5RS module. - - -* Before releasing 1.8.0: - -- deprecate old uniform vector interface. - -- add DLL support [ela] <-- set by ttn (my bad) - -- write emacs/patch.el [ttn] - + outgoing - - incoming - -+ sync srfi-modules.texi [ttn] - -- For GOOPS: [ttn] - - rewrite method cache management in C - - rewrite core macros (define-class et al) in C - - define C API - -- Compile with --enable-error-on-warning without failure. Requires a - number of fixes, including num2integral.i.c and on some platforms - gc_os_dep.c. Also SCM_FIXABLE etc. will produce unavoidable - warnings on some platforms with some vars as written now. i.e. on - alphas, SCM_FIXABLE(some_int) is always true. We need more - conditional compilation or similar. - -- Move sample .gdbinit in HACKING to somewhere more appropriate (manual?). - -- Make sure we have appropriate interface numbers for shared - libraries, and that we document and use the libtool - conventions. [rlb]. - -- Update the version numbers in GUILE-VERSION and README. [rlb] - -- Start a new section of the NEWS file. - - -* Before releasing 1.10.0: - -- in boot-9.scm: - remove deprecated function `feature?´. - -- gc.c and gc.h: - remove deprecated macros SCM_NEWCELL and SCM_NEWCELL2 together with - their support staffing scm_deprecated_newcell, - scm_deprecated_newcell2, scm_tc16_allocated, mark_allocated. - -- in gc.c and gc.h: - Remove deprecated functions scm_must_malloc, - scm_must_realloc, scm_must_free, scm_done_malloc, scm_done_free, - scm_must_strndup, scm_must_strdup. - -- Change return types of smob and port free functions to void. - They should all return zero by now. - -[TODO ends here]