-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.4 release.
+Guile 1.4 release. If this were a Guile release, you would not see
+this message. !!! [fixme: zonk on release]
-This is a 1.5 development version of Guile, Project GNU's extension
+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
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.6.0.
+The next stable release will be version 1.8.0.
Please send bug reports to bug-guile@gnu.org.
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:
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: