Mirror of guile source code -- also, some local changes to contribute upstream later

Thien-Thi Nguyen e7cf00bc89 *** empty log message *** 22 years ago
am 7e9af3f9cd *** empty log message *** 22 years ago
doc 4701caa84f Update. 22 years ago
emacs 604bc76de2 *** empty log message *** 24 years ago
guile-config 17e8d10e33 *** empty log message *** 22 years ago
guile-readline 6310ff95f1 *** empty log message *** 22 years ago
ice-9 14f256eab7 *** empty log message *** 22 years ago
libguile 14f256eab7 *** empty log message *** 22 years ago
qt 14f256eab7 *** empty log message *** 22 years ago
test-suite e7cf00bc89 *** empty log message *** 22 years ago
.cvsignore 25031b5393 (check-guile, check-guile.log, config.guess, config.sub, 22 years ago
AUTHORS 31ed4cff09 *** empty log message *** 24 years ago
COPYING f5e4ca08c1 * COPYING: New address for FSF. 27 years ago
ChangeLog 1ccdf03f33 *** empty log message *** 22 years ago
GUILE-VERSION eaa96e9316 (GUILE_MINOR_VERSION): Set to "4.1". 22 years ago
Makefile.am fea6f10e28 (SUBDIRS): Add test-suite. 22 years ago
NEWS 9a145f9c37 Update "interface summarization available" blurb. 22 years ago
README b5074b2374 *** empty log message *** 24 years ago
THANKS 807b3b7e8d Remove "maintainer committee". 22 years ago
acinclude.m4 030dbf7df2 Update copyright. 22 years ago
autogen.sh fd4690bc71 Sync w/ HEAD. 22 years ago
check-guile.in 100b744a71 (top_srcdir): Use `top_srcdir_absolute' AC_SUBST var. 22 years ago
configure.in 030dbf7df2 Update copyright. 22 years ago
guile-aclocal.sh 271be4000a Rewrite as single call to aclocal. 22 years ago
libguile.h 30b4dd94a3 * libguile.h: Removed #include "libguile/kw.h". 24 years ago
pre-inst-guile.in f56d5c6944 (top_srcdir): Use `top_srcdir_absolute' AC_SUBST var. 22 years ago


This is version 1.4 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.

Please send bug reports to bug-guile@gnu.org.

Guile Documentation ==================================================

The doc directory contains a few articles on specific topics and some
examples, including data-rep.texi which describes the internal
representation of data types in Guile. The example-smob directory
contains example source code for the "Defining New Types (Smobs)" chapter.

The incomplete Guile reference manual is available at


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


It contains a link to the Guile FAQ.

Guile License ==================================================

The license of Guile consists of the GNU GPL plus a special statement
giving blanket permission to link with non-free software. This is the
license statement as found in any individual file that it applies to:

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA

As a special exception, the Free Software Foundation gives permission
for additional uses of the text contained in its release of GUILE.

The exception is that, if you link the GUILE library with other files
to produce an executable, this does not by itself cause the
resulting executable to be covered by the GNU General Public License.
Your use of that executable is in no way restricted on account of
linking the GUILE library code into it.

This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License.

This exception applies only to the code released by the
Free Software Foundation under the name GUILE. If you copy
code from other Free Software Foundation releases into a copy of
GUILE, as the General Public License permits, the exception does
not apply to the code that you add in this way. To avoid misleading
anyone as to the status of such modified files, you must delete
this exception notice from them.

If you write modifications of your own for GUILE, it is your choice
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice.

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.

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,

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.

Header files, in ${prefix}/include:

libguile.h, guile/gh.h, libguile/*.h --- for libguile.
guile-readline/readline.h --- for guile-readline.

Support files, in ${prefix}/share/guile/:

ice-9/* --- run-time support for Guile: the module system,
read-eval-print loop, some R4RS code and other infrastructure.

Automake macros, in ${prefix}/share/aclocal:


Documentation in Info format, in ${prefix}/info:

data-rep.info --- an essay on how to write C code that works with
Guile Scheme values.

The Guile source tree is laid out as follows:

The Guile Scheme interpreter --- both the object library
for you to link with your programs, and the executable you can run.
ice-9: Guile's module system, initialization code, and other infrastructure.
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.
The glue code for using GNU readline with Guile. This
will be build when configure can find a recent enough readline
library on your system.
doc: Documentation (see above).

Anonymous CVS Access and FTP snapshots ===============================

We make the developers' working Guile sources available via anonymous
CVS, and by nightly snapshots, accessible via FTP. See the files
`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.

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

Obtaining Guile ======================================================

The latest official Guile release is available via anonymous FTP from


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.