From 9a6b2d623a5e2ae38036fd8a9f617446919b0b7c Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Wed, 27 Jun 2001 09:46:44 +0000 Subject: [PATCH] Initial revision --- TODO | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 TODO diff --git a/TODO b/TODO new file mode 100644 index 000000000..5b8705a34 --- /dev/null +++ b/TODO @@ -0,0 +1,135 @@ +[ID: $Id: TODO,v 1.15 2001-06-27 09:46:44 ttn Exp $] + +These are grouped by release target. If you would like to suggest changes or +contribute patches, please first email guile-devel@gnu.org to coordinate. See +also file HACKING. + + +=== Eventually (not yet associated with a specific release): + +- deprecate `read-only-string?' +- [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 +- GOOPS + - develop better representation for GOOPS objects + - rewrite method cache management in C + - rewrite core macros (define-class et al) in C + - define C API +- write orbit CORBA interface +- [after new module system] factor out modules sort.c and random.c should be + factored out into separate modules + +=== In release 1.6.0: + +- Make sure that the deprecation mechanism explained in INSTALL and + README is completed and works. + +=== In release 1.8.0: + +- remove deprecated "scm_*_t" type names in libguile.h. + +- remove re-exporting behaviour of `export'. + in boot-9.scm, remove begin-deprecated part of `module-export!' + in format.scm, remove kluge at top + in srfi13.scm, likewise + +- remove deprecated subr and gsubr functions + in procs.h, procs.c: scm_make_subr, scm_make_subr_opt, + scm_make_subr_with_generic, + in gsubr.h, gsubr.c: scm_make_gsubr, scm_make_gsubr_with_generic. + +- remove deprecated C interface to modules + in modules.h, modules.c: + root_module_lookup_closure, scm_sym_app, scm_sym_modules, + module_prefix, make_modules_in_var, beautify_user_module_x_var, + scm_the_root_module, scm_make_module, scm_ensure_user_module, + scm_load_scheme_module + +- remove vcell and obarray support. + Remove all code bracketed by `#if SCM_ENABLE_VCELLS'. + Remove SCM_ENABLE_VCELLS itself. + Also remove `variable-set-name-hint' completely. + +- remove compatability module (ice-9 and-let*). It + has been replaced by (ice-9 and-let-star) and/or (srfi srfi-2). + +- remove support for autoloading compiled-code modules: + try-module-linked + try-module-dynamic-link + init-dynamic-module, etc. + scm_register_module_xxx + scm_registered_modules + scm_clear_registered_modules + +- remove deprecated variables: + scm_top_level_lookup_closure_var + scm_scm_system_transformer + Remove all code that still sets them: + `use-syntax', scm_set_current_module, ... + +- remove deprecated functions: + eval.c: scm_eval2, scm_eval_3 + load.c: scm_read_and_eval_x + smob.c: scm_make_smob_type_mfpe, scm_set_smob_mfpe + gc.c: scm_remember + string.c: scm_makstr, scm_makfromstr +- remove deprecated procedures: + boot-9.scm: eval-in-module, id, -1+, return-it, string-character-length, + flags +- remove deprecated macros: SCM_OUTOFRANGE, SCM_NALLOC, SCM_HUP_SIGNAL, + SCM_INT_SIGNAL, SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, + SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD, + SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SLOPPY_STRINGP, SCM_VALIDATE_STRINGORSUBSTR, + SCM_FREEP, SCM_NFREEP, SCM_CHARS, SCM_UCHARS, SCM_VALIDATE_ROSTRING, + SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH, + SCM_LENGTH, SCM_HUGE_LENGTH, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, + SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING, + SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX, + SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR, + SCM_SUBR_DOC, SCM_OPDIRP, SCM_VALIDATE_OPDIR, SCM_WTA, RETURN_SCM_WTA, + SCM_WNA, SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY, + SCM_VALIDATE_NUMBER_DEF_COPY, SCM_SLOPPY_CONSP, SCM_SLOPPY_NCONSP, + SCM_SETAND_CDR, SCM_SETOR_CDR, SCM_SETAND_CAR, SCM_SETOR_CAR, + SCM_ARRAY_CONTIGUOUS +- remove scm_vector_set_length_x +- remove function scm_call_catching_errors + (replaced by catch functions from throw.[ch]) +- remove support for "#&" reader syntax in (ice-9 optargs). +- remove scm_make_shared_substring +- remove scm_read_only_string_p +- remove scm_strhash +- remove scm_tc7_ssymbol +- remove scm_tc7_msymbol +- remove scm_tcs_symbols +- remove scm_sloppy_memq, scm_sloppy_memv, scm_sloppy_member +- consider removing the automatic loading of (ice-9 rdelim) when guile + starts up. This would be a brave move, since a lot of code will + assume that read-line is available by default. However it would make + it easier to use alternative implementations of this module, e.g., a + strictly scsh-compatible version which uses multiple values. For + interactive use it would be easy to load the module in ~/.guile. +- remove scm_close_all_ports_except +- remove scm_strprint_obj +- remove SCM_CONST_LONG +- remove scm_wta +- remove deprecated typedefs: long_long, ulong_long, scm_sizet +- remove deprecated macros: scm_contregs, scm_port_rw_active, + scm_port, scm_ptob_descriptor, scm_debug_info, scm_debug_frame, + scm_fport, SCM_FIXNUM_BIT, scm_option, scm_subr_entry, scm_rstate, + scm_rng, scm_i_rstate, scm_srcprops, scm_srcprops_chunk, + scm_info_frame, scm_stack, scm_array, scm_array_dim. +- remove deprecated functions: scm_mkbig, scm_big2num, scm_adjbig, + scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl. +- remove deprecated functions: scm_protect_object, + scm_unprotect_object, scm_create_hook. + +[TODO ends here] -- 2.20.1