thanks very much! BTW, when will guile support unicode ?
l...@gnu.org (Ludovic Court鑣) writes: > We are pleased to announce GNU Guile release 1.9.0. This is the first > pre-release of what will eventually become the 2.0 release series. It > provides many new noteworthy features, most notably the addition of a > compiler and virtual machine. We encourage you to test them and provide > feedback to `guile-de...@gnu.org'. > > The Guile web page is located at http://gnu.org/software/guile/, and > among other things, it contains a link to the Guile FAQ and pointers to > the mailing lists. > > Guile is an interpreter, compiler, and virtual machine for the Scheme > programming language, with support for many SRFIs, packaged for use in a > wide variety of environments. In addition to implementing the R5RS > Scheme standard, Guile includes a module system, full access to POSIX > system calls, networking support, multiple threads, dynamic linking, a > foreign function call interface, and powerful string processing. > > Guile can run interactively, as a script interpreter, and as a Scheme > compiler to VM bytecode. It is also packaged as a library so that > applications can easily incorporate a complete Scheme interpreter/VM. > An application can use Guile as an extension language, a clean and > powerful configuration language, or as multi-purpose "glue" to connect > primitives provided by the application. It is easy to call Scheme code > From C code and vice versa. Applications can add new functions, data > types, control structures, and even syntax to Guile, to create a > domain-specific language tailored to the task at hand. > > > Here are the compressed sources: > ftp://alpha.gnu.org/gnu/guile/guile-1.9.0.tar.gz (4.6MB) > > Here are the GPG detached signatures[*]: > ftp://alpha.gnu.org/gnu/guile/guile-1.9.0.tar.gz.sig > > Here are the MD5 and SHA1 checksums: > > 71c3fa0ed22c91b30e9573478fdee4dc guile-1.9.0.tar.gz > 836cffc2d05cd0de938bf24bc91e9debe8fea060 guile-1.9.0.tar.gz > > [*] You can use either of the above signature files to verify that > the corresponding file (without the .sig suffix) is intact. First, > be sure to download both the .sig file and the corresponding tarball. > Then, run a command like this: > > gpg --verify guile-1.9.0.tar.gz.sig > > If that command fails because you don't have the required public key, > then run this command to import it: > > gpg --keyserver keys.gnupg.net --recv-keys EA52ECF4 > > and rerun the `gpg --verify' command. > > This release was bootstrapped with the following tools: > Autoconf 2.63 > Automake 1.10.2 > Libtool 2.2.6 > > > This is a new release series with many new features and differences > compared to 1.8. Excerpt from the `NEWS' file: > > * New modules (see the manual for details) > > ** `(srfi srfi-18)', more sophisticated multithreading support > ** `(ice-9 i18n)', internationalization support > ** `(rnrs bytevector)', the R6RS bytevector API > ** `(rnrs io ports)', a subset of the R6RS I/O port API > ** `(system xref)', a cross-referencing facility (FIXME undocumented) > > * Changes to the stand-alone interpreter > > ** Guile now can compile Scheme to bytecode for a custom virtual machine. > ** The stack limit is now initialized from the environment. > ** New environment variables: GUILE_LOAD_COMPILED_PATH, > GUILE_SYSTEM_LOAD_COMPILED_PATH > ** New read-eval-print loop (REPL) implementation > ** New `guile-tools' commands: `compile', `disassemble' > > * Changes to Scheme functions and syntax > > ** Procedure removed: `the-environment' > ** Files loaded with `primitive-load-path' will now be compiled > automatically. > ** New POSIX procedures: `getrlimit' and `setrlimit' > ** New procedure in `(oops goops)': `method-formals' > ** BUG: (procedure-property func 'arity) does not work on compiled > procedures > ** New procedures in (ice-9 session): `add-value-help-handler!', > `remove-value-help-handler!', `add-name-help-handler!' > `remove-name-help-handler!', `procedure-arguments', > ** Deprecated: `procedure->memoizing-macro', `procedure->syntax' > ** New language: ECMAScript > ** Defmacros may now have docstrings. > ** The psyntax expander now knows how to interpret the @ and @@ special > forms. > ** The psyntax expander is now hygienic with respect to modules. > ** New function, `procedure-module' > ** `eval-case' has been deprecated, and replaced by `eval-when'. > ** Guile is now more strict about prohibiting definitions in expression > contexts. > ** Defmacros must now produce valid Scheme expressions. > ** Guile's psyntax now supports docstrings and internal definitions. > ** Macros need to be defined before their first use. > ** Functions needed by macros at expand-time need to be present at > expand-time. > ** New variable, %pre-modules-transformer > ** Temporarily removed functions: `macroexpand', `macroexpand-1' > ** New reader macros: #' #` #, #,@ > ** Incompatible change to #' > ** Scheme expresssions may be commented out with #; > ** `make-stack' with a tail-called procedural narrowing argument no longer > works (with compiled procedures) > ** backtraces through compiled procedures only show procedures that are > active in the current continuation > ** syntax-rules and syntax-case macros now propagate source information > through to the expanded code > ** The currying behavior of `define' has been removed. > ** All modules have names now > ** Many syntax errors have different texts now > ** Returning multiple values to compiled code will silently truncate the > values to the expected number > ** Multiple values in compiled code are not represented by compound > objects > ** Defmacros are now implemented in terms of syntax-case. > ** psyntax is now the default expander > ** syntax-rules and syntax-case are available by default. > ** Lexical bindings introduced by hygienic macros may not be referenced > by nonhygienic macros. > ** Macros may no longer be referenced as first-class values. > ** New macro type: syncase-macro > ** A new `memoize-symbol' evaluator trap has been added. > ** Duplicate bindings among used modules are resolved lazily. > ** New thread cancellation and thread cleanup API > ** Fix bad interaction between `false-if-exception' and stack-call. > ** New global variables: %load-compiled-path, %load-compiled-extensions > ** New procedure, `make-promise' > ** New entry into %guile-build-info: `ccachedir' > ** Fix bug in `module-bound?'. > ** `(ice-9 syncase)' has been deprecated. > > * Changes to the C interface > > ** The GH interface (deprecated in version 1.6, 2001) was removed. > ** Internal `scm_i_' functions now have "hidden" linkage with GCC/ELF > ** Functions for handling `scm_option' now no longer require an argument > indicating length of the `scm_t_option' array. > ** scm_primitive_load_path has additional argument, exception_on_error > ** New C function: scm_module_public_interface > ** `scm_stat' has an additional argument, `exception_on_error' > ** `scm_primitive_load_path' has an additional argument > > * Changes to the distribution > > ** Guile's license is now LGPLv3+ > ** `guile-config' will be deprecated in favor of `pkg-config' > ** New installation directory: $(pkglibdir)/1.9/ccache > ** New dependency: GNU libunistring. > > > You can follow Guile development in the Git repository and on the Guile > mailing lists. Guile builds from the `master' branch of Git have > version number 1.9.x. > > Guile versions with an odd middle number, e.g., 1.9.*, are unstable > development versions. Even middle numbers indicate stable versions. > This has been the case since the 1.3.* series. > > Please report bugs to `bug-gu...@gnu.org'. We also welcome reports of > successful builds, which can be sent to the same email address. > > > Ludovic Court鑣, on behalf of the Guile team. -- Thanks & Regards Changying Li