1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00

* GUILE-VERSION: Bumped versions for 1.9 series.

* srfi-1.scm, srfi-60.scm: Updated versions in library name to
match GUILE-VERSION.
This commit is contained in:
Marius Vollmer 2006-02-05 22:56:34 +00:00
parent 2328328f85
commit 0f24e75b73
7 changed files with 43 additions and 171 deletions

View file

@ -1,3 +1,9 @@
2006-02-06 Marius Vollmer <mvo@zagadka.de>
* GUILE-VERSION: Bumped versions for 1.9 series.
* configure.in: Removed --enable-arrays option.
2005-12-14 Neil Jerram <neil@ossau.uklinux.net>
* NEWS: Remove entry claiming that breakpoints have been added,

View file

@ -1,8 +1,8 @@
# -*-shell-script-*-
GUILE_MAJOR_VERSION=1
GUILE_MINOR_VERSION=7
GUILE_MICRO_VERSION=2
GUILE_MINOR_VERSION=9
GUILE_MICRO_VERSION=0
GUILE_EFFECTIVE_VERSION=${GUILE_MAJOR_VERSION}.${GUILE_MINOR_VERSION}
GUILE_VERSION=${GUILE_EFFECTIVE_VERSION}.${GUILE_MICRO_VERSION}
@ -21,37 +21,36 @@ PACKAGE=guile
# See libtool info pages for more information on how and when to
# change these.
LIBGUILE_INTERFACE_CURRENT=16
LIBGUILE_INTERFACE_CURRENT=18
LIBGUILE_INTERFACE_REVISION=0
LIBGUILE_INTERFACE_AGE=0
LIBGUILE_INTERFACE="${LIBGUILE_INTERFACE_CURRENT}:${LIBGUILE_INTERFACE_REVISION}:${LIBGUILE_INTERFACE_AGE}"
# NOTE: Until 1.8, you must edit each corresponding .scm file (the one
# that dynamic-links the relevant lib) if you change the versioning
# NOTE: You must edit each corresponding .scm file (the one that
# dynamic-links the relevant lib) if you change the versioning
# information here to make sure the dynamic-link explicitly loads the
# right shared lib version. This requirement should go away before
# 1.8 -- see TODO.
# right shared lib version.
LIBGUILE_SRFI_SRFI_1_MAJOR=2
LIBGUILE_SRFI_SRFI_1_INTERFACE_CURRENT=2
LIBGUILE_SRFI_SRFI_1_MAJOR=4
LIBGUILE_SRFI_SRFI_1_INTERFACE_CURRENT=4
LIBGUILE_SRFI_SRFI_1_INTERFACE_REVISION=0
LIBGUILE_SRFI_SRFI_1_INTERFACE_AGE=0
LIBGUILE_SRFI_SRFI_1_INTERFACE="${LIBGUILE_SRFI_SRFI_1_INTERFACE_CURRENT}:${LIBGUILE_SRFI_SRFI_1_INTERFACE_REVISION}:${LIBGUILE_SRFI_SRFI_1_INTERFACE_AGE}"
LIBGUILE_SRFI_SRFI_4_MAJOR=2
LIBGUILE_SRFI_SRFI_4_INTERFACE_CURRENT=2
LIBGUILE_SRFI_SRFI_4_MAJOR=4
LIBGUILE_SRFI_SRFI_4_INTERFACE_CURRENT=4
LIBGUILE_SRFI_SRFI_4_INTERFACE_REVISION=0
LIBGUILE_SRFI_SRFI_4_INTERFACE_AGE=0
LIBGUILE_SRFI_SRFI_4_INTERFACE="${LIBGUILE_SRFI_SRFI_4_INTERFACE_CURRENT}:${LIBGUILE_SRFI_SRFI_4_INTERFACE_REVISION}:${LIBGUILE_SRFI_SRFI_4_INTERFACE_AGE}"
LIBGUILE_SRFI_SRFI_13_14_MAJOR=2
LIBGUILE_SRFI_SRFI_13_14_INTERFACE_CURRENT=2
LIBGUILE_SRFI_SRFI_13_14_MAJOR=4
LIBGUILE_SRFI_SRFI_13_14_INTERFACE_CURRENT=4
LIBGUILE_SRFI_SRFI_13_14_INTERFACE_REVISION=0
LIBGUILE_SRFI_SRFI_13_14_INTERFACE_AGE=0
LIBGUILE_SRFI_SRFI_13_14_INTERFACE="${LIBGUILE_SRFI_SRFI_13_14_INTERFACE_CURRENT}:${LIBGUILE_SRFI_SRFI_13_14_INTERFACE_REVISION}:${LIBGUILE_SRFI_SRFI_13_14_INTERFACE_AGE}"
LIBGUILE_SRFI_SRFI_60_MAJOR=1
LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT=1
LIBGUILE_SRFI_SRFI_60_MAJOR=3
LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT=3
LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION=0
LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE=0
LIBGUILE_SRFI_SRFI_60_INTERFACE="${LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT}:${LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION}:${LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE}"

147
NEWS
View file

@ -84,44 +84,7 @@ the '--disable-discouraged' option.
(debug-enable 'warn-deprecated) switches them on and (debug-disable
'warn-deprecated) switches them off.
** New module (ice-9 serialize):
(serialize FORM1 ...) and (parallelize FORM1 ...) are useful when
you don't trust the thread safety of most of your program, but
where you have some section(s) of code which you consider can run
in parallel to other sections.
### move rest to manual
They "flag" (with dynamic extent) sections of code to be of
"serial" or "parallel" nature and have the single effect of
preventing a serial section from being run in parallel with any
serial section (including itself).
Both serialize and parallelize can be nested. If so, the
inner-most construct is in effect.
NOTE 1: A serial section can run in parallel with a parallel
section.
NOTE 2: If a serial section S is "interrupted" by a parallel
section P in the following manner: S = S1 P S2, S2 is not
guaranteed to be resumed by the same thread that previously
executed S1.
WARNING: Spawning new threads within a serial section have
undefined effects. It is OK, though, to spawn threads in unflagged
sections of code where neither serialize or parallelize is in
effect.
A typical usage is when Guile is used as scripting language in some
application doing heavy computations. If each thread is
encapsulated with a serialize form, you can then put a parallelize
form around the code performing the heavy computations (typically a
C code primitive), enabling the computations to run in parallel
while the scripting code runs single-threadedly.
** Support for SRFI 61, extended cond syntax for multiple valuesm has
** Support for SRFI 61, extended cond syntax for multiple values has
been added.
This SRFI is always available.
@ -161,6 +124,13 @@ The official version is good enough now.
Support for translating the documentation into HTML is now always
provided. Use 'make html'.
** New module (ice-9 serialize):
(serialize FORM1 ...) and (parallelize FORM1 ...) are useful when you
don't trust the thread safety of most of your program, but where you
have some section(s) of code which you consider can run in parallel to
other sections. See ice-9/serialize.scm for more information.
** The configure option '--disable-arrays' has been removed.
Support for arrays and uniform numeric arrays is now always included
@ -244,7 +214,8 @@ array creation has been deprecated. See the manual for more details.
Some non-compatible changes have been made:
- characters can no longer be stored into byte arrays.
- strings and bit vectors are no longer considered to be uniform vectors.
- strings and bit vectors are no longer considered to be uniform numeric
vectors.
- array-rank throws an error for non-arrays instead of returning zero.
- array-ref does no longer accept non-arrays when no indices are given.
@ -398,41 +369,6 @@ can add the line:
to your .guile init file.
### move rest to manual
The syntax for the :duplicates option is:
:duplicates HANDLER-NAME | (HANDLER1-NAME HANDLER2-NAME ...)
Specifying multiple handlers is useful since some handlers (such as
replace) can defer conflict resolution to others. Each handler is
tried until a binding is selected.
Currently available duplicates handlers are:
check report an error for bindings with a common name
warn issue a warning for bindings with a common name
replace replace bindings which have an imported replacement
warn-override-core issue a warning for imports which override core bindings
and accept the override
first select the first encountered binding (override)
last select the last encountered binding (override)
These two are provided by the (oop goops) module:
merge-generics merge generic functions with a common name
into an <extended-generic>
merge-accessors merge accessors with a common name
The default duplicates handler is:
(replace warn-override-core warn last)
A recommended handler (which is likely to correspond to future Guile
behavior) can be installed with:
(default-duplicate-binding-handler '(replace warn-override-core check))
** New define-module option: :replace
:replace works as :export, but, in addition, marks the binding as a
@ -458,63 +394,6 @@ When two imported bindings conflict and they are both generic
functions, the two functions can now be merged automatically. This is
activated with the 'duplicates' handler 'merge-generics'.
### move the rest to the manual
It is sometimes tempting to use GOOPS accessors with short names.
For example, it is tempting to use the name `x' for the x-coordinate
in vector packages.
Assume that we work with a graphical package which needs to use two
independent vector packages for 2D and 3D vectors respectively. If
both packages export `x' we will encounter a name collision.
This can now be resolved automagically with the duplicates handler
`merge-generics' which gives the module system license to merge all
generic functions sharing a common name:
(define-module (math 2D-vectors)
:use-module (oop goops)
:export (x y ...))
(define-module (math 3D-vectors)
:use-module (oop goops)
:export (x y z ...))
(define-module (my-module)
:use-module (math 2D-vectors)
:use-module (math 3D-vectors)
:duplicates merge-generics)
x in (my-module) will now share methods with x in both imported
modules.
There will, in fact, now be three distinct generic functions named
`x': x in (2D-vectors), x in (3D-vectors), and x in (my-module). The
last function will be an <extended-generic>, extending the previous
two functions.
Let's call the imported generic functions the "ancestor functions". x
in (my-module) is, in turn, a "descendant function" of the imported
functions, extending its ancestors.
For any generic function G, the applicable methods are selected from
the union of the methods of the descendant functions, the methods of G
itself and the methods of the ancestor functions.
This, ancestor functions share methods with their descendants and vice
versa. This implies that x in (math 2D-vectors) can will share the
methods of x in (my-module) and vice versa, while x in (math 2D-vectors)
doesn't share the methods of x in (math 3D-vectors), thus preserving
modularity.
Sharing is dynamic, so that adding new methods to a descendant implies
adding it to the ancestor.
If duplicates checking is desired in the above example, the following
form of the :duplicates option can be used instead:
:duplicates (merge-generics check)
** New function: effective-version
Returns the "effective" version number. This is just the normal full
@ -529,11 +408,11 @@ threads. See "Parallel forms" in the manual for details.
** New function 'try-mutex'.
This function will attempt to lock a mutex but will return immediately
instead if blocking and indicate failure.
instead of blocking and indicate failure.
** Waiting on a condition variable can have a timeout.
The funtion 'wait-condition-variable' now takes a third, optional
The function 'wait-condition-variable' now takes a third, optional
argument that specifies the point in time where the waiting should be
aborted.
@ -1062,7 +941,7 @@ scm_c_call_with_unblocked_asyncs instead.
** New way to temporarily set the current input, output or error ports
C code can now use scm_dynwind_current_<foo>_port in a 'dynwind
conetxt' (see above). <foo> is one of "input", "output" or "error".
context' (see above). <foo> is one of "input", "output" or "error".
** New way to temporarily set fluids

23
README
View file

@ -3,18 +3,18 @@ anonymous CVS or as a nightly snapshot at some random time after the
Guile 1.6 release. If this were a Guile release, you would not see
this message. !!! [fixme: zonk on release]
This is a 1.7 development version of Guile, Project GNU's extension
This is a 1.9 development version of Guile, Project GNU's extension
language library. Guile is an interpreter for Scheme, packaged as a
library that you can link into your applications to give them their
own scripting language. Guile will eventually support other languages
as well, giving users of Guile-based applications a choice of
languages.
Guile versions with an odd middle number, i.e. 1.7.* are unstable
Guile versions with an odd middle number, i.e. 1.9.* are unstable
development versions. Even middle numbers indicate stable versions.
This has been the case since the 1.3.* series.
The next stable release will be version 1.8.0.
The next stable release will likely be version 1.10.0.
Please send bug reports to bug-guile@gnu.org.
@ -357,11 +357,6 @@ libguile:
ice-9: Guile's module system, initialization code, and other infrastructure.
guile-config:
Source for the guile-config script.
qt: A cooperative threads package from the University of Washington,
which Guile can use. If you configure Guile with the
--with-threads flag, you will need to link against the -lqt
library, found in this directory. Qt is under a separate
copyright; see `qt/README' for more details.
guile-readline:
The glue code for using GNU readline with Guile. This
will be build when configure can find a recent enough readline
@ -379,15 +374,3 @@ Guile CVS repository, you can subscribe to guile-cvs@gnu.org by the
Mailman mailing list interface at
<http://mail.gnu.org/mailman/listinfo/guile-cvs>
Obtaining Guile ======================================================
The latest official Guile release is available via anonymous FTP from
ftp://ftp.gnu.org/pub/gnu/guile/guile-1.4.tar.gz
The mailing list `guile-user@gnu.org' carries discussions, questions,
and often answers, about Guile. To subscribe, use the Mailman mailing
list interface at <http://mail.gnu.org/mailman/listinfo/guile-user>
Of course, please send bug reports (and fixes!) to bug-guile@gnu.org.

View file

@ -1,3 +1,8 @@
2006-02-06 Marius Vollmer <mvo@zagadka.de>
* srfi-1.scm, srfi-60.scm: Updated versions in library name to
match GUILE-VERSION.
2006-02-04 Kevin Ryde <user42@zip.com.au>
* srfi-1.c (scm_srfi1_delete, scm_srfi1_delete_duplicates): Use a

View file

@ -220,7 +220,7 @@
;; Load the compiled primitives from the shared library.
;;
(load-extension "libguile-srfi-srfi-1-v-2" "scm_init_srfi_1")
(load-extension "libguile-srfi-srfi-1-v-4" "scm_init_srfi_1")
;;; Constructors

View file

@ -44,7 +44,7 @@
logbit?
ash))
(load-extension "libguile-srfi-srfi-60-v-1" "scm_init_srfi_60")
(load-extension "libguile-srfi-srfi-60-v-3" "scm_init_srfi_60")
(define bitwise-and logand)
(define bitwise-ior logior)