* srfi-modules.texi (SRFI-4): Added documentation for the new
[bpt/guile.git] / TODO
CommitLineData
9a6b2d62
TTN
1[ID: $Id: TODO,v 1.15 2001-06-27 09:46:44 ttn Exp $]
2
3These are grouped by release target. If you would like to suggest changes or
4contribute patches, please first email guile-devel@gnu.org to coordinate. See
5also file HACKING.
6
7
8=== Eventually (not yet associated with a specific release):
9
10- deprecate `read-only-string?'
11- [after signal handling and threading have been fixed] remove the code
12 corresponding to GUILE_OLD_ASYNC_CLICK and the corresponding
13 GUILE_OLD_ASYNC_CLICK macro.
14- implement and integrate generational garbage collection
15- add POSIX thread support
16- factor thread support out of libguile
17- protect common resources using mutecis from the new interface
18- remove the dynamic roots
19- revise the fluid implementation
20- implement the GC thread synchronization (all threads: go to sleep!)
21- implementing the libguileposix threads glue library
22- GOOPS
23 - develop better representation for GOOPS objects
24 - rewrite method cache management in C
25 - rewrite core macros (define-class et al) in C
26 - define C API
27- write orbit CORBA interface
28- [after new module system] factor out modules sort.c and random.c should be
29 factored out into separate modules
30
31=== In release 1.6.0:
32
33- Make sure that the deprecation mechanism explained in INSTALL and
34 README is completed and works.
35
36=== In release 1.8.0:
37
38- remove deprecated "scm_*_t" type names in libguile.h.
39
40- remove re-exporting behaviour of `export'.
41 in boot-9.scm, remove begin-deprecated part of `module-export!'
42 in format.scm, remove kluge at top
43 in srfi13.scm, likewise
44
45- remove deprecated subr and gsubr functions
46 in procs.h, procs.c: scm_make_subr, scm_make_subr_opt,
47 scm_make_subr_with_generic,
48 in gsubr.h, gsubr.c: scm_make_gsubr, scm_make_gsubr_with_generic.
49
50- remove deprecated C interface to modules
51 in modules.h, modules.c:
52 root_module_lookup_closure, scm_sym_app, scm_sym_modules,
53 module_prefix, make_modules_in_var, beautify_user_module_x_var,
54 scm_the_root_module, scm_make_module, scm_ensure_user_module,
55 scm_load_scheme_module
56
57- remove vcell and obarray support.
58 Remove all code bracketed by `#if SCM_ENABLE_VCELLS'.
59 Remove SCM_ENABLE_VCELLS itself.
60 Also remove `variable-set-name-hint' completely.
61
62- remove compatability module (ice-9 and-let*). It
63 has been replaced by (ice-9 and-let-star) and/or (srfi srfi-2).
64
65- remove support for autoloading compiled-code modules:
66 try-module-linked
67 try-module-dynamic-link
68 init-dynamic-module, etc.
69 scm_register_module_xxx
70 scm_registered_modules
71 scm_clear_registered_modules
72
73- remove deprecated variables:
74 scm_top_level_lookup_closure_var
75 scm_scm_system_transformer
76 Remove all code that still sets them:
77 `use-syntax', scm_set_current_module, ...
78
79- remove deprecated functions:
80 eval.c: scm_eval2, scm_eval_3
81 load.c: scm_read_and_eval_x
82 smob.c: scm_make_smob_type_mfpe, scm_set_smob_mfpe
83 gc.c: scm_remember
84 string.c: scm_makstr, scm_makfromstr
85- remove deprecated procedures:
86 boot-9.scm: eval-in-module, id, -1+, return-it, string-character-length,
87 flags
88- remove deprecated macros: SCM_OUTOFRANGE, SCM_NALLOC, SCM_HUP_SIGNAL,
89 SCM_INT_SIGNAL, SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL,
90 SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD,
91 SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SLOPPY_STRINGP, SCM_VALIDATE_STRINGORSUBSTR,
92 SCM_FREEP, SCM_NFREEP, SCM_CHARS, SCM_UCHARS, SCM_VALIDATE_ROSTRING,
93 SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH,
94 SCM_LENGTH, SCM_HUGE_LENGTH, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET,
95 SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING,
96 SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX,
97 SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR,
98 SCM_SUBR_DOC, SCM_OPDIRP, SCM_VALIDATE_OPDIR, SCM_WTA, RETURN_SCM_WTA,
99 SCM_WNA, SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY,
100 SCM_VALIDATE_NUMBER_DEF_COPY, SCM_SLOPPY_CONSP, SCM_SLOPPY_NCONSP,
101 SCM_SETAND_CDR, SCM_SETOR_CDR, SCM_SETAND_CAR, SCM_SETOR_CAR,
102 SCM_ARRAY_CONTIGUOUS
103- remove scm_vector_set_length_x
104- remove function scm_call_catching_errors
105 (replaced by catch functions from throw.[ch])
106- remove support for "#&" reader syntax in (ice-9 optargs).
107- remove scm_make_shared_substring
108- remove scm_read_only_string_p
109- remove scm_strhash
110- remove scm_tc7_ssymbol
111- remove scm_tc7_msymbol
112- remove scm_tcs_symbols
113- remove scm_sloppy_memq, scm_sloppy_memv, scm_sloppy_member
114- consider removing the automatic loading of (ice-9 rdelim) when guile
115 starts up. This would be a brave move, since a lot of code will
116 assume that read-line is available by default. However it would make
117 it easier to use alternative implementations of this module, e.g., a
118 strictly scsh-compatible version which uses multiple values. For
119 interactive use it would be easy to load the module in ~/.guile.
120- remove scm_close_all_ports_except
121- remove scm_strprint_obj
122- remove SCM_CONST_LONG
123- remove scm_wta
124- remove deprecated typedefs: long_long, ulong_long, scm_sizet
125- remove deprecated macros: scm_contregs, scm_port_rw_active,
126 scm_port, scm_ptob_descriptor, scm_debug_info, scm_debug_frame,
127 scm_fport, SCM_FIXNUM_BIT, scm_option, scm_subr_entry, scm_rstate,
128 scm_rng, scm_i_rstate, scm_srcprops, scm_srcprops_chunk,
129 scm_info_frame, scm_stack, scm_array, scm_array_dim.
130- remove deprecated functions: scm_mkbig, scm_big2num, scm_adjbig,
131 scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl.
132- remove deprecated functions: scm_protect_object,
133 scm_unprotect_object, scm_create_hook.
134
135[TODO ends here]