mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 13:00:26 +02:00
118 lines
4.2 KiB
Text
118 lines
4.2 KiB
Text
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
|
||
|
||
- [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?<3F>.
|
||
|
||
- 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]
|