*** empty log message ***
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index 3ffff41..4f3f11e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -59,7 +59,7 @@ important for Guile "add-on" packages, since it provides a directory
 that they can install to that won't be changed out from under them
 with each micro release during a stable series.
 
-** There are two new thread implementation options: "null" and "coop-pthreads".
+** Thread implementation has changed.
 
 When you configure "--with-threads=null", you will get the usual
 threading API (call-with-new-thread, make-mutex, etc), but you can't
@@ -68,14 +68,14 @@ equivalent to "--with-threads=null".  This means that the thread API
 is always present, although you might not be able to create new
 threads.
 
-The "coop-pthread" (or shorter: "copt") thread implementation will use
-portable POSIX threads but will restrict them so that only one thread
-can execute 'in Guile' at any one time.  This option will give you the
-same basic behavior as the old "coop" option, but hopefully in a more
-portable way.
+When you configure "--with-threads=pthreads" or "--with-threads=yes",
+you will get threads that are implemented with the portable POSIX
+threads.  These threads can run concurrently (unlike the previous
+"coop" thread implementation), but need to cooperate for things like
+the GC.  See the manual for details. [XXX - write this.]
 
-The default is now "coop-pthread", unless your platform doesn't have
-pthreads, in which case "null" threads are used.
+The default is "pthreads", unless your platform doesn't have pthreads,
+in which case "null" threads are used.
 
 ** New module (ice-9 serialize):
 
@@ -278,27 +278,10 @@ Returns the "effective" version number.  This is just the normal full
 version string without the final micro-version number.  See "Changes
 to the distribution" above.
 
-** Futures
+** Futures: future, make-future, future-ref
 
-Futures is a way of providing an alternative evaluation policy, very
-similar in principle to "promises".  Like promises, futures allow the
-main process to continue instantly, but while promises postpone
-evaluation ("lazy" evaluation) until the value is requested, futures
-immediately starts evaluation in a parallel thread.
-
-Futures are good when you want to express that "I'll need the value of
-this computation sometime soon" and want to allow processing to go on
-in the background until that time arrives.
-
-** New syntax: future FORM
-
-Begin evaluation of FORM in a parallel thread and return the future
-immediately.  (Akin to 'delay'.)
-
-** New procedure: future-ref FUTURE
-
-Return the computed value of the future.  Wait if the computation is
-not finished.  (Akin to 'force'.)
+Futures are like promises, but begun immediately in a new thread.  See
+the "Futures" section in the reference manual.
 
 ** New syntax: parallel FORM ...
 
@@ -855,6 +838,23 @@ always defined, and GUILE_ISELECT with it.
 This function is like scm_port_for_each but takes a pointer to a C
 function as the callback instead of a SCM value.
 
+** Deprecated definitions of error strings: scm_s_expression, scm_s_test,
+scm_s_body, scm_s_bindings, scm_s_variable, scm_s_clauses, scm_s_formals
+
+These error message strings were used to issue syntax error messages by
+guile's evaluator.  It's unlikely that they have been used by user code.
+
+** Deprecated helper macros for evaluation and application: SCM_EVALIM2,
+SCM_EVALIM, SCM_XEVAL, SCM_XEVALCAR
+
+These macros were used in the implementation of the evaluator.  It's unlikely
+that they have been used by user code.
+
+** Deprecated macros for iloc handling: SCM_ILOC00, SCM_IDINC, SCM_IDSTMSK
+
+These macros were used in the implementation of the evaluator.  It's unlikely
+that they have been used by user code.
+
 ** Removed definitions: scm_lisp_nil, scm_lisp_t, s_nil_ify,
 scm_m_nil_ify, s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify,
 scm_m_0_ify, s_1_ify, scm_m_1_ify, scm_debug_newcell,
@@ -867,34 +867,21 @@ SCM_TICK_SIGNAL, SCM_SIG_ORD, SCM_ORD_SIG, SCM_NUM_SIGS,
 *top-level-lookup-closure*, scm_top_level_lookup_closure_var,
 scm_system_transformer, scm_eval_3, scm_eval2,
 root_module_lookup_closure, SCM_SLOPPY_STRINGP, SCM_RWSTRINGP,
-scm_read_only_string_p,
-scm_make_shared_substring,
-scm_tc7_substring, sym_huh, SCM_VARVCELL, SCM_UDVARIABLEP, SCM_DEFVARIABLEP,
-scm_mkbig, scm_big2inum,
-scm_adjbig, scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big,
-scm_big2dbl, SCM_FIXNUM_BIT,
-SCM_SETCHARS,
+scm_read_only_string_p, scm_make_shared_substring, scm_tc7_substring,
+sym_huh, SCM_VARVCELL, SCM_UDVARIABLEP, SCM_DEFVARIABLEP, scm_mkbig,
+scm_big2inum, scm_adjbig, scm_normbig, scm_copybig, scm_2ulong2big,
+scm_dbl2big, scm_big2dbl, SCM_FIXNUM_BIT, SCM_SETCHARS,
 SCM_SLOPPY_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_LENGTH_MAX,
-SCM_SETLENGTH, SCM_ROSTRINGP, SCM_ROLENGTH, SCM_ROCHARS,
-SCM_ROUCHARS, SCM_SUBSTRP, SCM_COERCE_SUBSTR, scm_strhash,
-scm_sym2vcell, scm_sym2ovcell_soft, scm_sym2ovcell,
-scm_intern_obarray_soft, scm_intern_obarray, scm_intern, scm_intern0,
-scm_sysintern, scm_sysintern0, scm_sysintern0_no_module_lookup,
-scm_symbol_value0, scm_string_to_obarray_symbol, scm_intern_symbol,
-scm_unintern_symbol, scm_symbol_binding, scm_symbol_interned_p,
-scm_symbol_bound_p, scm_symbol_set_x, scm_gentemp,
-scm_init_symbols_deprecated, s_vector_set_length_x,
+SCM_SETLENGTH, SCM_ROSTRINGP, SCM_ROLENGTH, SCM_ROCHARS, SCM_ROUCHARS,
+SCM_SUBSTRP, SCM_COERCE_SUBSTR, scm_sym2vcell, scm_intern,
+scm_intern0, scm_sysintern, scm_sysintern0,
+scm_sysintern0_no_module_lookup, scm_init_symbols_deprecated,
 scm_vector_set_length_x, scm_contregs, scm_debug_info,
-scm_debug_frame, SCM_DSIDEVAL, SCM_OPDIRP, scm_fport, scm_option,
-SCM_CONST_LONG, SCM_VCELL, SCM_GLOBAL_VCELL, SCM_VCELL_INIT,
-SCM_GLOBAL_VCELL_INIT, scm_srcprops, scm_srcprops_chunk,
-scm_info_frame, scm_stack, scm_array, scm_array_dim,
-SCM_ARRAY_CONTIGUOUS, SCM_HUGE_LENGTH, SCM_FUNC_NAME, SCM_WTA,
-RETURN_SCM_WTA, SCM_VALIDATE_NUMBER_COPY,
-SCM_VALIDATE_NUMBER_DEF_COPY, SCM_VALIDATE_STRINGORSUBSTR,
-SCM_VALIDATE_ROSTRING, SCM_VALIDATE_ROSTRING_COPY,
-SCM_VALIDATE_NULLORROSTRING_COPY, SCM_VALIDATE_RWSTRING,
-SCM_VALIDATE_OPDIR, DIGITS, scm_small_istr2int, scm_istr2int,
+scm_debug_frame, SCM_DSIDEVAL, SCM_CONST_LONG, SCM_VCELL,
+SCM_GLOBAL_VCELL, SCM_VCELL_INIT, SCM_GLOBAL_VCELL_INIT,
+SCM_HUGE_LENGTH, SCM_VALIDATE_STRINGORSUBSTR, SCM_VALIDATE_ROSTRING,
+SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY,
+SCM_VALIDATE_RWSTRING, DIGITS, scm_small_istr2int, scm_istr2int,
 scm_istr2flo, scm_istring2number, scm_istr2int, scm_istr2flo,
 scm_istring2number, scm_vtable_index_vcell, scm_si_vcell, SCM_ECONSP,
 SCM_NECONSP, SCM_GLOC_VAR, SCM_GLOC_VAL, SCM_GLOC_SET_VAL,