[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

unofficial Guile available

From: Thien-Thi Nguyen
Subject: unofficial Guile available
Date: Mon, 18 Oct 2004 23:32:13 +0200

release notes:

  one of the primary goals of 1.4.2 (for which is a precursor)
  is documentation of the "module system API".  this release is in part
  motivated by small progress towards that goal -- "small" because the
  first step was to actually define an interface that has a chance of
  being upward compatible, while providing a migration path (that is
  encouraged but not enforced).  documentation proper still lies ahead.

  this release includes new bits and bugfixes, as well, although the
  latter is not well-described in the NEWS excerpt; methodology is only
  now being brought into line w/ other efforts.  the next release will
  hopefully be less sloppy.

  lastly, the release location has changed, and, on the page referenced
  by the second url listed below, the link "maintains" explains the term
  "unofficial".  the old "alt" directory will be deleted shortly.

new NEWS excerpt:

  * Output ports keep track of their "current column"
  * Bugfix: (ice-9 format) `format' "~&" (fresh newline)
  This used to not DTRT because it didn't know the port's current column.
  * New module: (ice-9 base64)
  * Bugfix: arity check for the "less predicate" in sort-related functions
  It used to be that this code would segfault guile:
        (define (foo a b c) (< b c))
        (sort '(3 2 1) foo)
  Now, guile throws a "less predicate has wrong arity" error.
  * Module system internals hidden (for the most part)
  See info node "Module System Internals" for info on two new related modules,
  one for access to the internals, one to facilitate migration (if desired)
  of installations that make use of undocumented internals.
  The documentation also describes "make install" behavior: automatic
  setup/update of the migration module in the site/init.scm file.
  * Default `%load-path' extended to include "lib site" dir.
  The default %load-path now looks like:
    <PREFIX>/lib/guile/site             ;; new
    <PREFIX>/share/guile                ;; [!]
  [!] The <PREFIX>/share/guile is maintained for backward compatability,
      but its use is not recommended.  Instead, new installations should
      go under one of the site dirs, and provide a "make" target to clean
      up prior installations under <PREFIX>/share/guile.
  The ".../guile/site" dirs are for third-party modules, "share" for
  uncompiled modules (typically machine independent scheme code), and
  "lib" for compiled modules.  Use the guile.m4 autoconf macros (see
  below) to equip your package to determine these dirs at configure time.
  Observant readers will note that <PREFIX>/share/guile/<VERSION> has
  been dropped; those files now live under <PREFIX>/lib/guile/<VERSION>.
  This should not affect Guile users or third-party module authors.
  * New installed module: (database tmpfile)
  This module provides the single procedure `tmpfile' as a wrapper
  for tmpfile(3).  Unlike tmpfile(3), however, the return value is
  an input/output fport instead of `FILE *'.
  * New guile.m4 macros
  In addition to GUILE_FLAGS, guile.m4 now contains several new macros:
  See info node "Autoconf Support".  Note that the guile.m4 file is now
  distributed in subdir am/ although it is still installed in the same place.
tarball and other files in dirs:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]