-This is not a Guile release; it is a source tree retrieved via
+!!! This is not a Guile release; it is a source tree retrieved via
anonymous CVS or as a nightly snapshot at some random time after the
-Guile 1.3.4 release.
+Guile 1.4 release. If this were a Guile release, you would not see
+this message. !!! [fixme: zonk on release]
-This is version 1.3.5 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.
+This is a 1.7 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.5.* 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.
Please send bug reports to bug-guile@gnu.org.
contains example source code for the "Defining New Types (Smobs)" chapter.
The incomplete Guile reference manual is available at
-ftp://ftp.red-bean.com/pub/guile/snapshots/guile-doc-snap.tar.gz
-There is a plan to distribute the reference manual with guile-core,
-with much of the text generated from the docstrings in the sources.
-The docstrings are likely to be more up-to-date than the reference
-manual at present (see libguile/guile-procedures.txt which is
+ ftp://ftp.red-bean.com/pub/guile/snapshots/guile-doc-snap.tar.gz
+
+Neil Jerram is working on the new reference manual, which will be
+distributed with guile-core. The new manual will be synchronized with
+the docstrings in the sources. Until then, please be aware that the
+docstrings are likely to be more up-to-date than the old reference
+manual (use `(help)' or see libguile/guile-procedures.txt which is
generated by the build process).
+The Guile WWW page is at
+
+ http://www.gnu.org/software/guile/guile.html
+
+It contains a link to the Guile FAQ.
+
Guile License ==================================================
The license of Guile consists of the GNU GPL plus a special statement
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice.
+Handling of Deprecated Features ======================================
+
+Guile may contain features that are `deprecated'. When a feature is
+deprecated, it means that it is still there and fully functional, but
+that there is a better way of achieving the same thing, and we'd
+rather have you use this better way. This allows us to eventually
+remove the old implementation and helps to keep Guile reasonably clean
+of historic baggage.
+
+See the file NEWS for a list of features that are currently
+deprecated. Each entry will also tell you what you should replace
+your code with.
+
+To give you some help with this process, and to encourage (OK, nudge)
+people to switch to the newer methods, Guile can emit warnings or
+errors when you use a deprecated feature. There is quite a range of
+possibilities, from being completely silent to giving errors at link
+time. What exactly happens is determined both by the value of the
+`--enable-deprecated' configuration option when Guile was built, and
+by the GUILE_WARN_DEPRECATED environment variable.
+
+It works like this:
+
+ When Guile has been configured with `--enable-deprecated=no' (or,
+ equivalently, with `--disable-deprecated') then all deprecated
+ features are omitted from Guile. You will get "undefined
+ reference", "variable unbound" or similar errors when you try to use
+ them.
+
+ When `--enable-deprecated=LEVEL' has been specified (for LEVEL not
+ "no"), LEVEL will be used as the default value of the environment
+ variable GUILE_WARN_DEPRECATED. A value of "yes" is changed to
+ "summary" and "shutup" is changed to "no", however.
+
+ When GUILE_WARN_DEPRECATED has the value "no", nothing special will
+ happen when a deprecated feature is used.
+
+ When GUILE_WARN_DEPRECATED has the value "summary", and a deprecated
+ feature has been used, Guile will print this message at exit:
+
+ Some deprecated features have been used. Set the environment
+ variable GUILE_WARN_DEPRECATED to "detailed" and rerun the program
+ to get more information. Set it to "no" to suppress this message.
+
+ When GUILE_WARN_DEPRECATED has the value "detailed", a detailed
+ warning is emitted immediatly for the first use of a deprecated
+ feature.
+
+The default is `--enable-deprecated=yes'.
+
About This Distribution ==============================================
Interesting files include:
- INSTALL, which contains instructions on building and installing Guile.
- NEWS, which describes user-visible changes since the last release of Guile.
-- COPYING, which describes the terms under which you may redistribute
- Guile, and explains that there is no warranty.
Files are usually installed according to the prefix specified to
configure, /usr/local by default. Building and installing gives you:
Executables, in ${prefix}/bin:
-guile --- a stand-alone interpreter for Guile. With no arguments, this
- is a simple interactive Scheme interpreter. It can also be used
- as an interpreter for script files; see the NEWS file for details.
-guile-config --- a Guile script which provides the information necessary
- to link your programs against the Guile library.
-guile-snarf --- a script to parse declarations in your C code for
- Scheme-visible C functions, Scheme objects to be used by C code,
- etc.
+ guile --- a stand-alone interpreter for Guile. With no arguments, this
+ is a simple interactive Scheme interpreter. It can also be used
+ as an interpreter for script files; see the NEWS file for details.
+ guile-config --- a Guile script which provides the information necessary
+ to link your programs against the Guile library.
+ guile-snarf --- a script to parse declarations in your C code for
+ Scheme-visible C functions, Scheme objects to be used by C code,
+ etc.
+ guile-tools --- a wrapper to invoke the executable modules in
+ subdirectory `scripts' (also installed).
Libraries, in ${prefix}/lib. Depending on the platform and options
given to configure, you may get shared libraries in addition
to or instead of these static libraries:
-
-libguile.a --- an object library containing the Guile interpreter,
- You can use Guile in your own programs by linking against this.
-libqthreads.a --- an object library containing the QuickThreads
- primitives. If you enabled thread support when you configured
- Guile, you will need to link your code against this too.
-libguilereadline.a --- an object library containing glue code for the
- GNU readline library. See NEWS for instructions on how to enable
- readline for your personal use.
+
+ libguile.a --- an object library containing the Guile interpreter,
+ You can use Guile in your own programs by linking against this.
+ libqthreads.a --- an object library containing the QuickThreads
+ primitives. If you enabled thread support when you configured
+ Guile, you will need to link your code against this too.
+ libguilereadline.a --- an object library containing glue code for the
+ GNU readline library. See NEWS for instructions on how to enable
+ readline for your personal use.
+ libguile-srfi-*.a --- various SRFI support libraries
Header files, in ${prefix}/include:
-libguile.h, guile/gh.h, libguile/*.h --- for libguile.
-guile-readline/readline.h --- for guile-readline.
+ libguile.h, guile/gh.h, libguile/*.h --- for libguile.
+ guile-readline/readline.h --- for guile-readline.
Support files, in ${prefix}/share/guile/<version>:
-ice-9/* --- run-time support for Guile: the module system,
- read-eval-print loop, some R4RS code and other infrastructure.
+ ice-9/* --- run-time support for Guile: the module system,
+ read-eval-print loop, some R4RS code and other infrastructure.
+ oop/* --- the Guile Object-Oriented Programming System (GOOPS)
+ scripts/* --- executable modules, i.e., scheme programs that can be both
+ called as an executable from the shell, and loaded and used as a
+ module from scheme code. See scripts/README for more info.
+ srfi/* --- SRFI support modules. See srfi/README for more info.
Automake macros, in ${prefix}/share/aclocal:
-guile.m4
+ guile.m4
Documentation in Info format, in ${prefix}/info:
-data-rep.info --- an essay on how to write C code that works with
- Guile Scheme values.
+ guile --- Guile reference manual.
+
+ guile-tut --- Guile tutorial.
+
+ GOOPS --- GOOPS reference manual.
+
+ r5rs --- Revised(5) Report on the Algorithmic Language Scheme.
+
The Guile source tree is laid out as follows:
`ANON-CVS' and `SNAPSHOTS' for details.
If you would like to receive mail when people commit changes to the
-Guile CVS repository, you can subscribe to guile-cvs@sourceware.cygnus.com
-by sending a message to guile-cvs-subscribe@sourceware.cygnus.com. Even
-better, you can get daily digests of these commit messages by sending
-a message to guile-cvs-digest-subscribe@sourceware.cygnus.com.
+Guile CVS repository, you can subscribe to guile-cvs@gnu.org by the
+Mailman mailing list interface at
-If you want to subscribe an e-mail address other than the one that
-appears in your From: header, say foo@bar.com, send a mail note to
-guile-cvs-subscribe-foo=bar.com@sourceware.cygnus.com.
+ <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.3.4.tar.gz
+ftp://ftp.gnu.org/pub/gnu/guile/guile-1.4.tar.gz
-The mailing list `guile@sourceware.cygnus.com' carries discussions,
-questions, and often answers, about Guile. To subscribe, send mail to
-guile-subscribe@sourceware.cygnus.com. Of course, please send bug
-reports (and fixes!) to bug-guile@gnu.org. Note that one address is
-@sourceware.cygnus.com, and the other is at @gnu.org.
+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.