*** empty log message ***
[bpt/guile.git] / README
1 This is not a Guile release; it is a source tree retrieved via
2 anonymous CVS or as a nightly snapshot at some random time after the
3 Guile 1.4 release.
4
5 This is version 1.4.1 of Guile, Project GNU's extension language
6 library. Guile is an interpreter for Scheme, packaged as a library
7 that you can link into your applications to give them their own
8 scripting language. Guile will eventually support other languages as
9 well, giving users of Guile-based applications a choice of languages.
10
11 Please send bug reports to bug-guile@gnu.org.
12
13 Guile Documentation ==================================================
14
15 The doc directory contains a few articles on specific topics and some
16 examples, including data-rep.texi which describes the internal
17 representation of data types in Guile. The example-smob directory
18 contains example source code for the "Defining New Types (Smobs)" chapter.
19
20 The incomplete Guile reference manual is available at
21
22 ftp://ftp.red-bean.com/pub/guile/snapshots/guile-doc-snap.tar.gz
23
24 Neil Jerram is working on the new reference manual, which will be
25 distributed with guile-core. The new manual will be synchronized with
26 the docstrings in the sources. Until then, please be aware that the
27 docstrings are likely to be more up-to-date than the old reference
28 manual (use `(help)' or see libguile/guile-procedures.txt which is
29 generated by the build process).
30
31 The Guile WWW page is at
32
33 http://www.gnu.org/software/guile/guile.html
34
35 It contains a link to the Guile FAQ.
36
37 Guile License ==================================================
38
39 The license of Guile consists of the GNU GPL plus a special statement
40 giving blanket permission to link with non-free software. This is the
41 license statement as found in any individual file that it applies to:
42
43 This program is free software; you can redistribute it and/or modify
44 it under the terms of the GNU General Public License as published by
45 the Free Software Foundation; either version 2, or (at your option)
46 any later version.
47
48 This program is distributed in the hope that it will be useful,
49 but WITHOUT ANY WARRANTY; without even the implied warranty of
50 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
51 GNU General Public License for more details.
52
53 You should have received a copy of the GNU General Public License
54 along with this software; see the file COPYING. If not, write to
55 the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
56 Boston, MA 02111-1307 USA
57
58 As a special exception, the Free Software Foundation gives permission
59 for additional uses of the text contained in its release of GUILE.
60
61 The exception is that, if you link the GUILE library with other files
62 to produce an executable, this does not by itself cause the
63 resulting executable to be covered by the GNU General Public License.
64 Your use of that executable is in no way restricted on account of
65 linking the GUILE library code into it.
66
67 This exception does not however invalidate any other reasons why
68 the executable file might be covered by the GNU General Public License.
69
70 This exception applies only to the code released by the
71 Free Software Foundation under the name GUILE. If you copy
72 code from other Free Software Foundation releases into a copy of
73 GUILE, as the General Public License permits, the exception does
74 not apply to the code that you add in this way. To avoid misleading
75 anyone as to the status of such modified files, you must delete
76 this exception notice from them.
77
78 If you write modifications of your own for GUILE, it is your choice
79 whether to permit this exception to apply to your modifications.
80 If you do not wish that, delete this exception notice.
81
82 About This Distribution ==============================================
83
84 Interesting files include:
85
86 - INSTALL, which contains instructions on building and installing Guile.
87 - NEWS, which describes user-visible changes since the last release of Guile.
88
89 Files are usually installed according to the prefix specified to
90 configure, /usr/local by default. Building and installing gives you:
91
92 Executables, in ${prefix}/bin:
93
94 guile --- a stand-alone interpreter for Guile. With no arguments, this
95 is a simple interactive Scheme interpreter. It can also be used
96 as an interpreter for script files; see the NEWS file for details.
97 guile-config --- a Guile script which provides the information necessary
98 to link your programs against the Guile library.
99 guile-snarf --- a script to parse declarations in your C code for
100 Scheme-visible C functions, Scheme objects to be used by C code,
101 etc.
102
103 Libraries, in ${prefix}/lib. Depending on the platform and options
104 given to configure, you may get shared libraries in addition
105 to or instead of these static libraries:
106
107 libguile.a --- an object library containing the Guile interpreter,
108 You can use Guile in your own programs by linking against this.
109 libqthreads.a --- an object library containing the QuickThreads
110 primitives. If you enabled thread support when you configured
111 Guile, you will need to link your code against this too.
112 libguilereadline.a --- an object library containing glue code for the
113 GNU readline library. See NEWS for instructions on how to enable
114 readline for your personal use.
115
116 Header files, in ${prefix}/include:
117
118 libguile.h, guile/gh.h, libguile/*.h --- for libguile.
119 guile-readline/readline.h --- for guile-readline.
120
121 Support files, in ${prefix}/share/guile/<version>:
122
123 ice-9/* --- run-time support for Guile: the module system,
124 read-eval-print loop, some R4RS code and other infrastructure.
125
126 Automake macros, in ${prefix}/share/aclocal:
127
128 guile.m4
129
130 Documentation in Info format, in ${prefix}/info:
131
132 data-rep.info --- an essay on how to write C code that works with
133 Guile Scheme values.
134
135 The Guile source tree is laid out as follows:
136
137 libguile:
138 The Guile Scheme interpreter --- both the object library
139 for you to link with your programs, and the executable you can run.
140 ice-9: Guile's module system, initialization code, and other infrastructure.
141 guile-config:
142 Source for the guile-config script.
143 qt: A cooperative threads package from the University of Washington,
144 which Guile can use. If you configure Guile with the
145 --with-threads flag, you will need to link against the -lqt
146 library, found in this directory. Qt is under a separate
147 copyright; see `qt/README' for more details.
148 guile-readline:
149 The glue code for using GNU readline with Guile. This
150 will be build when configure can find a recent enough readline
151 library on your system.
152 doc: Documentation (see above).
153
154 Anonymous CVS Access and FTP snapshots ===============================
155
156 We make the developers' working Guile sources available via anonymous
157 CVS, and by nightly snapshots, accessible via FTP. See the files
158 `ANON-CVS' and `SNAPSHOTS' for details.
159
160 If you would like to receive mail when people commit changes to the
161 Guile CVS repository, you can subscribe to guile-cvs@sourceware.cygnus.com
162 by sending a message to guile-cvs-subscribe@sourceware.cygnus.com. Even
163 better, you can get daily digests of these commit messages by sending
164 a message to guile-cvs-digest-subscribe@sourceware.cygnus.com.
165
166 If you want to subscribe an e-mail address other than the one that
167 appears in your From: header, say foo@bar.com, send a mail note to
168 guile-cvs-subscribe-foo=bar.com@sourceware.cygnus.com.
169
170
171 Obtaining Guile ======================================================
172
173 The latest official Guile release is available via anonymous FTP from
174
175 ftp://ftp.gnu.org/pub/gnu/guile/guile-1.4.tar.gz
176
177 The mailing list `guile@sourceware.cygnus.com' carries discussions,
178 questions, and often answers, about Guile. To subscribe, send mail to
179 guile-subscribe@sourceware.cygnus.com. Of course, please send bug
180 reports (and fixes!) to bug-guile@gnu.org. Note that one address is
181 @sourceware.cygnus.com, and the other is at @gnu.org.