Guile

Project GNU's extension language

(News)


About Guile
What is Guile?
Recent news
Mailing lists

Documentation
Manuals
FAQ's

Download
Getting Guile
Snapshots
Anonymous CVS

Projects
Core
Libraries
Exports
Applications
Tools

Development
Project Summary
Helping out
Cool ideas

Resources
Guile Resources
Scheme Resources

What's the latest news?

What's the latest news?

2004-12-21
We are pleased to announce Guile release 1.6.7. This is the next maintenance release for the 1.6 stable series. You can find it here. This is primarily a bugfix release. Please see the NEWS file for a full summary of the changes, but here are the highlights:

  • A build problem has been fixed. Previously, on some systems, the build would fail when libguile-ltdl couldn't be found during the build.
  • The array-map! and array-map-in-order! functions now allow a single source argument. In prior versions, calls with just one source array were rejected.
  • A string->number overflow for bases other than 2, 10 and 16 has been fixed. Among other things, this affected octal literal constants.
  • The argument order for the equality predicate passed to the SRFI-1 functions alist-delete and alist-delete! now matches the SRFI-1 specification.
  • In accordance with the SRFI-13 specification, the functions string-any and string-every now make a tail call to their predicate function upon reaching the last character in the string.

2004-11-29
We are pleased to announce Guile release 1.6.6. This is the next maintenance release for the 1.6 stable series. You can find it here. This is primarily a bugfix release. Please see the NEWS file for a full summary of the changes, but here are the highlights:

  • SRFI-39 should work now. A file was missing from the distribution.
  • A libltdl related build problem has been fixed.
  • A bug in uvec_equalp has been fixed.
  • In scm_charnames and scm_charnums, sp is now an alias for space.

2004-10-05
We are pleased to announce Guile release 1.6.5. This is the next maintenance release for the 1.6 stable series. You can find it here. This is primarily a bugfix release. Please see the NEWS file for a full summary of the changes, but here are the highlights:

  • SRFI-31 has been added (special form `rec' for recursive evaluation). Try (use-modules (srfi srfi-31)).
  • SRFI-39 has been added (parameter objects)
  • SRFI-19 has been fixed: date-week-number now correctly respects the requested day of week starting the week.
  • SRFI-4 has been overhauled. Bugs have been fixed, and performance may be improved in certain situations. Among other things, large values in 64-bit homogeneous vectors should print correctly now.
  • In the srfi-1 module's delete and delete! functions, the order of the arguments to the "=" procedure now matches the SRFI-1 specification.
  • Bugs have been fixed that prevented the (re)generation of psyntax.pp.
  • The use of scm_must_realloc() for memory which is scanned by GC could trigger a GC scan of a free()d block of memory. This has been fixed.
  • array-map! and array-map-in-order! now require at least one source array. Previously a call without any source arrays like (array-map! array proc) would cause a segfault. Now such calls are properly rejected.
  • gethost no longer causes an exception when trying to throw an exception.
  • call-with-output-string won't segv on a closed port. Now an exception is raised.
  • open-pipe, open-input-pipe and open-output-pipe used to leave an extra copy of their pipe file descriptor in the child, which was normally harmless, but could prevent the parent seeing eof or a broken pipe immediately. This has been fixed.
  • Properties set with set-source-properties! can now be read back correctly with source-properties.
  • Guile is now compiled with -fno-strict-aliasing when gcc is detected.
  • The --enable-htmldoc option has been removed from 'configure', because support for translating the documentation into HTML is now always provided. Use 'make html'.

2004-08-27
We are pleased to announce the release of Guile 1.7.1. This is a 'technology preview' for the upcoming Guile 1.8. It can be found here:

ftp://alpha.gnu.org/gnu/guile/guile-1.7.1.tar.gz

Its MD5 checksum is

21c9f4061166900d2926955ade0ef5cc guile-1.7.1.tar.gz
This version is guaranteed to contain serious bugs, and the publically visible interfaces will almost certainly change before 1.8 is released. The 1.7 releases might be termed "selected snapshots".

We are releasing it anyway to start testing the new features, and to get feedback about how difficult or tedious it is to switch from Guile 1.6 to this series.

Ideally, you should be able to just link your program with Guile 1.7.1 instead of with Guile 1.6.x. You will get many warnings about deprecated features, but your program should nevertheless run correctly. If you find that this is not the case (which is quite likely) please do not change your program yet. Instead, report the problem to <bug-guile@gnu.org>.

The shared library major versions have been bumped compared to the 1.6 series, but they will not be bumped on binary incompatible changes within the 1.7 series.

The NEWS file is quite long. Here are the most spectacular entries in a condensed form:

    Changes since the 1.6.x series:
  • Guile is now licensed with the GNU Lesser General Public License.
  • The manual is now licensed with the GNU Free Documentation License.
  • We now use GNU MP for bignums.
  • We now use native POSIX threads for real concurrent threads.
  • There is now support for copy-on-write substrings and mutation-sharing substrings.
  • We now have exact rationals, such as 1/3.
  • A new family of functions for converting between C values and Scheme values has been added that is future-proof and thread-safe.
  • The INUM macros like SCM_MAKINUM have been deprecated.
  • The macros SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_LENGTH, SCM_SYMBOL_CHARS, and SCM_SYMBOL_LENGTH have been deprecated.
  • There is a new way to deal with non-local exits and re-entries in C code, which is nicer than scm_internal_dynamic_wind.
  • There are new malloc-like functions that work better than scm_must_malloc, etc.
and most importantly
  • call-with-current-continuation is now also available under the name call/cc.
See NEWS and the manual for more details.

2003-04-21
We are pleased to announce Guile release 1.6.4. This is the next maintenance release for the 1.6 stable series. You can find it here. This is primarily a bugfix release. Highlights include:

  • Various architecture (and compiler optimization) related bugs have been fixed: these changes should improve the situation on at least ia64, arm, m68k, alpha, and powerpc.
  • Readline prompt problem fixed: previously, the readline prompt disappeared when running Guile in non-echoing terminal mode (for example under GDB in Emacs).
  • Printing bug fixed: previously, the state of writingp in the print state could be altered by recursive calls to printing functions.
  • syntax-case bugs have been fixed
  • eqv? and equal? are now primitive generic functions: this means that it is possible to provide custom comparisons for new classes by specializing `eqv?' and `equal?' to those classes.
  • GOOPS/GC bug fixed: the class layout slot, which informs the GC about which slots to GC protect, is now initialized correctly.
  • GOOPS class redefinition bug fixed: the class redefinition protocol now properly removes the old accessor methods from their accessors.
  • GOOPS method dispatch bug fixed: previously, the code updating the method cache in generic functions got confused if handed method code created in a null environment (environment = empty list). It now stands every environment imaginable (think about it!).
  • GOOPS init-thunks can now be primitive procedures: previously, attempts to provide something else than a closure as value for the #:init-thunk slot option would yield a segmentation fault. Now, it's possible to supply a primitive procedure as init-thunk. Non-allowed values result in an error.
  • GOOPS longer creates layout entries for non-instance slots.
  • Garbage collection frequency improved for large malloc heaps: the decision when to run the GC is now done in a way that avoids GCs with a small yield for heaps with a large amount of malloced storage. The minimum expected yield for malloc storage is now relative to the heap size, and not a fixed amount as it was previously.
  • Append mode in hooks: append mode in hooks (adding the hook last in the list) now works correctly.
  • %fast-slot-ref no longer checks slot boundness: this makes the <active-class> metaclass in (oop goops active-slot) working again.
  • New snarf macros: SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1. These provide a way of adding primitive generics which is equivalent to SCM_DEFINE and SCM_DEFINE1.

2003-02-01
We are pleased to announce Guile release 1.6.3. This is the next maintenance release for the 1.6 stable series. You can find it here. This is primarily a bugfix release. Highlights include:

  • Some minor problems with the distribution tarfile have been fixed. A few files that are automatically generated at build time were removed from the distribution tarfile. These changes should not affect most people, but are relevant to those trying to generate a post "make distclean" diff against the release tarfile.

2003-01-30
We are pleased to announce Guile release 1.6.2. This is the next maintenance release for the 1.6 stable series. You can find it here. This is primarily a bugfix release. Highlights include:

  • GOOPS longer creates layout entries for non-instance slots.
  • syntax-case bugs have been fixed

(But what is Guile?)


Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

Copyright (C) 2000,2001,2002 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire web page is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2004/12/21 18:20:15 $ $Author: rlb $