** New SRFI modules have been added:
+SRFI-0 `cond-expand' is now supported in Guile, without requiring
+using a module.
+
(srfi srfi-2) exports and-let*.
(srfi srfi-6) is a dummy module for now, since guile already provides
(srfi srfi-9) exports define-record-type.
+(srfi srfi-10) exports define-reader-ctor and implements the reader
+ extension #,().
+
(srfi srfi-11) exports let-values and let*-values.
(srfi srfi-13) implements the SRFI String Library.
(srfi srfi-14) implements the SRFI Character-Set Library.
+(srfi srfi-17) implements setter and getter-with-setter and redefines
+ some accessor procedures as procedures with getters. (such as car,
+ cdr, vector-ref etc.)
+
+(srfi srfi-19) implements the SRFI Time/Date Library.
+
** New scripts / "executable modules"
Subdirectory "scripts" contains Scheme modules that are packaged to
(eval '(+ 1 2) m) --> 3
(eval 'load m) --> ERROR: Unbound variable: load
+** New command line option `--use-srfi'
+
+Using this option, SRFI modules can be loaded on startup and be
+available right from the beginning. This makes programming portable
+Scheme programs easier.
+
+The option `--use-srfi' expects a comma-separated list of numbers,
+each representing a SRFI number to be loaded into the interpreter
+before starting evaluating a script file or the REPL. Additionally,
+the feature identifier for the loaded SRFIs is recognized by
+`cond-expand' when using this option.
+
+Example:
+$ guile --use-srfi=8,13
+guile> (receive (x z) (values 1 2) (+ 1 2))
+3
+guile> (string-pad "bla" 20)
+" bla"
+
+
* Changes to Scheme functions and syntax
** The empty combination is no longer valid syntax.
Use `identity' instead.
+** Deprecated: -1+
+
+Use `1-' instead.
+
+** Deprecated: return-it
+
+Use `noop' instead.
+
+** Deprecated: string-character-length
+
+Use `string-length' instead.
+
+** Deprecated: flags
+
+Use `logior' instead.
+
** Deprecated: close-all-ports-except.
This was intended for closing ports in a child process after a fork,
(use-modules (oop goops old-define-method) (oop goops))
+** Deprecated function: builtin-variable
+ Removed function: builtin-bindings
+
+There is no longer a distinction between builtin or other variables.
+Use module system operations for all variables.
+
* Changes to the gh_ interface
* Changes to the scm_ interface
Use scm_wrong_type_arg, or another appropriate error signalling function
instead.
+** Explicit support for obarrays has been deprecated.
+
+Use `scm_str2symbol' and the generic hashtable functions instead.
+
+** The concept of `vcells' has been deprecated.
+
+The data type `variable' is now used exclusively. `Vcells' have been
+a low-level concept so you are likely not affected by this change.
+
+*** Deprecated functions: scm_sym2vcell, scm_sysintern,
+ scm_sysintern0, scm_symbol_value0, scm_intern, scm_intern0.
+
+Use scm_c_define or scm_c_lookup instead, as appropriate.
+
+*** New functions: scm_c_module_lookup, scm_c_lookup,
+ scm_c_module_define, scm_c_define, scm_module_lookup, scm_lookup,
+ scm_module_define, scm_define.
+
+These functions work with variables instead of with vcells.
+
\f
Changes since Guile 1.3.4: