From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel,gmane.lisp.guile.user,gmane.lisp.guile.sources Subject: GNU Guile 2.0.0 released Date: Wed, 16 Feb 2011 11:29:33 +0100 Message-ID: <87sjvoclwy.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Trace: dough.gmane.org 1297852362 30810 80.91.229.12 (16 Feb 2011 10:32:42 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 16 Feb 2011 10:32:42 +0000 (UTC) Cc: guile-user@gnu.org, guile-sources@gnu.org To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Feb 16 11:32:38 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PpegX-0000SM-FQ for guile-devel@m.gmane.org; Wed, 16 Feb 2011 11:32:37 +0100 Original-Received: from localhost ([127.0.0.1]:55818 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PpegW-0002Op-TO for guile-devel@m.gmane.org; Wed, 16 Feb 2011 05:32:36 -0500 Original-Received: from [140.186.70.92] (port=42576 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ppedv-0000ek-5M for guile-devel@gnu.org; Wed, 16 Feb 2011 05:29:56 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ppeds-00084W-LH for guile-devel@gnu.org; Wed, 16 Feb 2011 05:29:54 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:44969) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ppeds-00084G-5A for guile-devel@gnu.org; Wed, 16 Feb 2011 05:29:52 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Ppedq-0007AT-5Q for guile-devel@gnu.org; Wed, 16 Feb 2011 11:29:50 +0100 Original-Received: from reverse-83.fdn.fr ([80.67.176.83]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Feb 2011 11:29:50 +0100 Original-Received: from ludo by reverse-83.fdn.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Feb 2011 11:29:50 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Followup-To: gmane.lisp.guile.user Original-Lines: 186 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: reverse-83.fdn.fr User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 28 =?iso-8859-1?Q?Pluvi=F4se?= an 219 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Cancel-Lock: sha1:Chxudc8uqxxS8SAuRAdKi0untAs= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:11654 gmane.lisp.guile.user:8437 gmane.lisp.guile.sources:339 Archived-At: --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable We are pleased to announce GNU Guile release 2.0.0, the first of a new stable series and the result of almost 3 years of work. It provides many new noteworthy features, most notably the addition of a compiler and virtual machine. 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 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.0.tar.gz (5.4MB) Here are the GPG detached signatures[*]: ftp://ftp.gnu.org/gnu/guile/guile-2.0.0.tar.gz.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: 4f91ca29077aca32e1e28f70220dfd9b guile-2.0.0.tar.gz e266b79b17a04a98c438e9d5dabb5210fb368d77 guile-2.0.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-2.0.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 5E674E63 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-4889-ge375fe3 The detailed list of changes compared to the 1.8.x series is available in the `NEWS' file with links to the relevant parts of the manual. Since it is very long, here is a very condensed form. Highlights of changes in 2.0.0 (since the 1.8.x release series): * New compiler infrastructure and VM Guile 2.0 compiles Scheme code to bytecode, which is then interpreted by the VM. This gives a noticeable performance improvement compared to earlier Guile series. By default source code is compiled automatically as it is encountered, without any manual intervention. The "guile-tools compile" command provides a command-line interface, and there are also Scheme procedures to drive the compiler. Besides Scheme, the compiler comes with front-ends for the ECMAScript and Emacs Lisp languages. * New REPL, new debugger A read-eval-print-loop (REPL) is available. Compared to the REPL in earlier releases, it supports "meta-commands" that provide convenient access to interactive programming features. For instance, the ",compile" meta-command compiles the given expression, ",profile" shows an execution profile of the given expression, etc. Any error or uncaught exception leads to a "recursive REPL", which is a REPL augmented with debugging capabilities: it has meta-commands to display a backtrace, inspect the variables on a stack frame, etc. The recursive REPL can be quit to return to the original one. * Support for hygienic macros The `syntax-rules' and `syntax-case' hygienic macro systems are supported natively by Guile, without importing `(ice-9 syncase)', and work across module boundaries. They are a better replacement for `defmacro'. * Unicode support Scheme strings can hold any Unicode character, and ports can read and write Unicode text in various encodings. * Partial R6RS compatibility The `library' and `import' forms of R6RS are supported, and all the R6RS libraries defined in the standard are available. See "R6RS Incompatibilities" in the manual, for details about remaining incompatibilities. * New dynamic foreign function interface The `(system foreign)' module provides a new dynamic foreign function interface (FFI). It allows bindings to C libraries to be written without a single line of C code. * Switch to the Boehm-Demers-Weiser garbage collector Guile now uses the Boehm-Demers-Weiser conservative garbage collector (aka. libgc). It makes interaction with C code easier making, for instance, the use of mark and free SMOB procedures optional in many cases. It also improves performance. * New modules ** `(srfi srfi-18)', more sophisticated multithreading support ** `(srfi srfi-27)', sources of random bits ** `(srfi srfi-38)', External Representation for Data With Shared Structu= re ** `(srfi srfi-42)', eager comprehensions ** `(srfi srfi-45)', primitives for expressing iterative lazy algorithms ** `(srfi srfi-67)', compare procedures ** `(ice-9 i18n)', internationalization support ** `(ice-9 futures)', fine-grain parallelism ** `(rnrs bytevectors)', the R6RS bytevector API ** `(rnrs io ports)', a subset of the R6RS I/O port API ** `(system xref)', a cross-referencing facility (FIXME undocumented) ** `(ice-9 vlist)', lists with constant-time random access; hash lists ** `(system foreign)', foreign function interface ** `(sxml ...)', tools for XML processing ** `(texinfo ...)', parsing and production of Texinfo documents ** `(sxml match)', a pattern matcher for SXML ** `(srfi srfi-9 gnu)', extensions to the SRFI-9 record library ** `(system vm coverage)', a line-by-line code coverage library ** `(web ...)', modules for URI and HTTP handling ** `(ice-9 poll)', a poll wrapper ** `(system base lalr)', the `lalr-scm' LALR(1) parser generator ** `(statprof)', statistical profiler * New dependencies ** libgc 7.x, http://www.hpl.hp.com/personal/Hans_Boehm/gc/ ** GNU libunistring, http://www.gnu.org/software/libunistring/ ** libffi, http://sourceware.org/libffi/ 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-guile@gnu.org'. We also welcome reports of successful builds, which can be sent to the same email address. Ludovic Court=E8s, on behalf of the Guile team. --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) iEYEARECAAYFAk1bpxEACgkQd92V4upS7PQr3gCfRK2qWP+VvC9m32PU1vlW3x1C r6EAn17TNa5gOTzhgj4LAYRAxDCjbFzj =cbTa -----END PGP SIGNATURE----- --=-=-=--