[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Guile 1.9.0 released (alpha)
Re: GNU Guile 1.9.0 released (alpha)
Wed, 24 Jun 2009 00:10:30 +0800
Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux)
thanks very much!
BTW, when will guile support unicode ?
address@hidden (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 address@hidden'.
> 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[*]:
> 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,
> ** 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
> ** New POSIX procedures: `getrlimit' and `setrlimit'
> ** New procedure in `(oops goops)': `method-formals'
> ** BUG: (procedure-property func 'arity) does not work on compiled
> ** 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
> ** 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
> ** 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
> ** 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
> ** 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 address@hidden'. 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