[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
unofficial Guile 1.4.1.99 available
From: |
Thien-Thi Nguyen |
Subject: |
unofficial Guile 1.4.1.99 available |
Date: |
Mon, 18 Oct 2004 23:32:13 +0200 |
release notes:
one of the primary goals of 1.4.2 (for which 1.4.1.99 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.
thi
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/site
<PREFIX>/lib/guile/<VERSION>
<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:
GUILE_PROGS
GUILE_FLAGS
GUILE_SITE_DIR
GUILE_LIBSITE_DIR
GUILE_CHECK
GUILE_PROVIDEDP
GUILE_MODULE_CHECK
GUILE_MODULE_AVAILABLE
GUILE_MODULE_REQUIRED
GUILE_MODULE_EXPORTS
GUILE_MODULE_REQUIRED_EXPORT
GUILE_CHECK_ICE9_OPTARGS
GUILE_MODULE_CATALOG_PREP
GUILE_C2X_METHOD
GUILE_MODSUP_H
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:
http://www.glug.org/people/ttn/software/guile/
http://www.glug.org/people/ttn/software/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- unofficial Guile 1.4.1.99 available,
Thien-Thi Nguyen <=