We are pleased to announce GNU Guile release 1.8.2. This is the next maintenance release for the 1.8 stable series.
You can find it here: ftp://ftp.gnu.org/gnu/guile/guile-1.8.2.tar.gz SHA1 checksum: b5c624b152a45f302e185e20a468a02f2eb73e38 A GPG detached signature of the package is available at: ftp://ftp.gnu.org/gnu/guile/guile-1.8.2.tar.gz.sig The Guile web page is located at http://www.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 for the Scheme programming language, 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 or as a script interpreter, and is also packaged as a library so that applications can easily incorporate a complete Scheme interpreter. 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. This is primarily a bugfix release. Please see the NEWS file for a full summary of the changes, but here are the highlights: - New procedures (see the manual for details) - set-program-arguments - make-vtable - Incompatible changes - The body of a top-level `define' no longer sees the binding being created In a top-level `define', the binding being created is no longer visible from the `define' body. This breaks code like "(define foo (begin (set! foo 1) (+ foo 1)))", where `foo' is now unbound in the body. However, such code was not R5RS-compliant anyway, per Section 5.2.1. - Bugs fixed - Fractions were not `equal?' if stored in unreduced form. - srfi-60 `copy-bit' failed on 64-bit systems - "guile --use-srfi" option at the REPL can replace core functions (Programs run with that option were ok, but in the interactive REPL the core bindings got priority, preventing SRFI replacements or extensions.) - `regexp-exec' doesn't abort() on #\nul in the input or bad flags arg - `kill' on mingw throws an error for a PID other than oneself - Procedure names are attached to procedure-with-setters - Array read syntax works with negative lower bound - `array-in-bounds?' fix if an array has different lower bounds on each index - `*' returns exact 0 for "(* inexact 0)" - SRFI-19: Value returned by `(current-time time-process)' was incorrect - SRFI-19: `date->julian-day' did not account for timezone offset - `ttyname' no longer crashes when passed a non-tty argument - `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address - Small memory leaks have been fixed in `make-fluid' and `add-history' - GOOPS: Fixed a bug in `method-more-specific?' - Build problems on Solaris fixed - Build problems on HP-UX IA64 fixed - Build problems on MinGW fixed Any bugs found in this release will be addressed by further bugfix releases numbered 1.8.*. You can follow Guile development in CVS and on the Guile mailing lists (see ANON-CVS and HACKING). Guile builds from the development branch of CVS will have version number 1.9.0. 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 send bug reports to [EMAIL PROTECTED]'. Ludovic Courtès, on behalf of the Guile team. _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user