We are pleased to announce GNU Guile release 2.0.3, the next maintenance release for the 2.0.x stable series.
The Guile web page is located at http://gnu.org/software/guile/ . Guile is an implementation of 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 and a large subset of R6RS, 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 suitable for stand-alone applications. 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. Here are the compressed sources: ftp://ftp.gnu.org/gnu/guile/guile-2.0.3.tar.gz (6.6MB) ftp://ftp.gnu.org/gnu/guile/guile-2.0.3.tar.xz (4.1MB) Here are the GPG detached signatures[*]: ftp://ftp.gnu.org/gnu/guile/guile-2.0.3.tar.gz.sig ftp://ftp.gnu.org/gnu/guile/guile-2.0.3.tar.xz.sig To reduce load on the main server, use a mirror listed at: http://www.gnu.org/order/ftp.html Here are the MD5 and SHA1 checksums: 3b8b4e1083037f29d2c4704a6d55f2a8 guile-2.0.3.tar.gz f8b511ad43bbda0a1cbb1c52ceeebdf7 guile-2.0.3.tar.xz f555b811fa06ec15c07fc8f17acf806452ea98a0 guile-2.0.3.tar.gz 4fde55bbd612adda267420d86d8b395d49031809 guile-2.0.3.tar.xz [*] 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-2.0.3.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.68 Automake 1.11.1 Libtool 2.4 Gnulib v0.0-6523-gb3609c1 This release contains compiler improvements, bug fixes, and some new features. Here are the highlights, taken from the `NEWS' file: Changes in 2.0.3 (since 2.0.2): * Speed improvements ** Guile has a new optimizer, `peval'. `Peval' is a partial evaluator that performs constant folding, dead code elimination, copy propagation, and inlining. By default it runs on every piece of code that Guile compiles, to fold computations that can happen at compile-time, so they don't have to happen at runtime. If we did our job right, the only impact you would see would be your programs getting faster. But if you notice slowdowns or bloated code, please send a mail to bug-gu...@gnu.org with details. Thanks to William R. Cook, Oscar Waddell, and Kent Dybvig for inspiring peval and its implementation. You can see what peval does on a given piece of code by running the new `,optimize' REPL meta-command, and comparing it to the output of `,expand'. See "Compile Commands" in the manual, for more. ** Fewer calls to `stat'. Guile now stats only the .go file and the .scm file when loading a fresh compiled file. * Notable changes ** New module: `(web client)', a simple synchronous web client. See "Web Client" in the manual, for more. ** Users can now install compiled `.go' files. See "Installing Site Packages" in the manual. ** Remove Front-Cover and Back-Cover text from the manual. The manual is still under the GNU Free Documentation License, but no longer has any invariant sections. ** More helpful `guild help'. `guild' is Guile's multi-tool, for use in shell scripting. Now it has a nicer interface for querying the set of existing commands, and getting help on those commands. Try it out and see! ** New macro: `define-syntax-rule' `define-syntax-rule' is a shorthand to make a `syntax-rules' macro with one clause. See "Syntax Rules" in the manual, for more. ** The `,time' REPL meta-command now has more precision. The output of this command now has microsecond precision, instead of 10-millisecond precision. ** `(ice-9 match)' can now match records. See "Pattern Matching" in the manual, for more on matching records. ** New module: `(language tree-il debug)'. This module provides a tree-il verifier. This is useful for people that generate tree-il, usually as part of a language compiler. ** New functions: `scm_is_exact', `scm_is_inexact'. These provide a nice C interface for Scheme's `exact?' and `inexact?', respectively. * Bugs fixed See the git log (or the ChangeLog) for more details on these bugs. ** Fix order of importing modules and resolving duplicates handlers. ** Fix a number of bugs involving extended (merged) generics. ** Fix invocation of merge-generics duplicate handler. ** Fix write beyond array end in arrays.c. ** Fix read beyond end of hashtable size array in hashtab.c. ** (web http): Locale-independent parsing and serialization of dates. ** Ensure presence of Host header in HTTP/1.1 requests. ** Fix take-right and drop-right for improper lists. ** Fix leak in get_current_locale(). ** Fix recursive define-inlinable expansions. ** Check that srfi-1 procedure arguments are procedures. ** Fix r6rs `map' for multiple returns. ** Fix scm_tmpfile leak on POSIX platforms. ** Fix a couple of leaks (objcode->bytecode, make-boot-program). ** Fix guile-lib back-compatibility for module-stexi-documentation. ** Fix --listen option to allow other ports. ** Fix scm_to_latin1_stringn for substrings. ** Fix compilation of untyped arrays of rank not 1. ** Fix unparse-tree-il of <dynset>. ** Fix reading of #||||#. ** Fix segfault in GOOPS when class fields are redefined. ** Prefer poll(2) over select(2) to allow file descriptors above FD_SETSIZE. 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 2.1.x. Guile versions with an odd middle number, e.g., 2.1.*, 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, on behalf of the Guile team.
pgpoEH0FCD5sS.pgp
Description: PGP signature
_______________________________________________ GNU Announcement mailing list <info-gnu@gnu.org> https://lists.gnu.org/mailman/listinfo/info-gnu