Doc fixes from Martin Grabmüller.
[bpt/guile.git] / README
CommitLineData
c299f186
MD
1This is not a Guile release; it is a source tree retrieved via
2anonymous CVS or as a nightly snapshot at some random time after the
3Guile 1.4 release.
4
5This is version 1.4.1 of Guile, Project GNU's extension language
3d06534e
JB
6library. Guile is an interpreter for Scheme, packaged as a library
7that you can link into your applications to give them their own
8scripting language. Guile will eventually support other languages as
9well, giving users of Guile-based applications a choice of languages.
7fcc90c4 10
e1b6c710 11Please send bug reports to bug-guile@gnu.org.
86f40248 12
394a535e
MD
13Guile Documentation ==================================================
14
ae8de16e
GH
15The doc directory contains a few articles on specific topics and some
16examples, including data-rep.texi which describes the internal
17representation of data types in Guile. The example-smob directory
18contains example source code for the "Defining New Types (Smobs)" chapter.
394a535e 19
ae8de16e 20The incomplete Guile reference manual is available at
ae8de16e 21
b5074b23
MD
22 ftp://ftp.red-bean.com/pub/guile/snapshots/guile-doc-snap.tar.gz
23
24Neil Jerram is working on the new reference manual, which will be
25distributed with guile-core. The new manual will be synchronized with
26the docstrings in the sources. Until then, please be aware that the
27docstrings are likely to be more up-to-date than the old reference
28manual (use `(help)' or see libguile/guile-procedures.txt which is
ae8de16e 29generated by the build process).
394a535e 30
b5074b23
MD
31The Guile WWW page is at
32
33 http://www.gnu.org/software/guile/guile.html
34
35It contains a link to the Guile FAQ.
36
677ac809
MV
37Guile License ==================================================
38
39The license of Guile consists of the GNU GPL plus a special statement
40giving blanket permission to link with non-free software. This is the
41license 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
cf78e9e8
JB
82About This Distribution ==============================================
83
f89a27fa 84Interesting files include:
ae8de16e 85
f89a27fa
JB
86- INSTALL, which contains instructions on building and installing Guile.
87- NEWS, which describes user-visible changes since the last release of Guile.
f89a27fa 88
ae8de16e
GH
89Files are usually installed according to the prefix specified to
90configure, /usr/local by default. Building and installing gives you:
91
92Executables, in ${prefix}/bin:
93
94guile --- 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.
17f8d40c
JB
97guile-config --- a Guile script which provides the information necessary
98 to link your programs against the Guile library.
14725cbb 99guile-snarf --- a script to parse declarations in your C code for
ae8de16e
GH
100 Scheme-visible C functions, Scheme objects to be used by C code,
101 etc.
102
103Libraries, 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
49becc4d 107libguile.a --- an object library containing the Guile interpreter,
ae8de16e 108 You can use Guile in your own programs by linking against this.
17f8d40c
JB
109libqthreads.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.
966476c1
JB
112libguilereadline.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.
ae8de16e
GH
115
116Header files, in ${prefix}/include:
117
118libguile.h, guile/gh.h, libguile/*.h --- for libguile.
119guile-readline/readline.h --- for guile-readline.
120
121Support files, in ${prefix}/share/guile/<version>:
122
123ice-9/* --- run-time support for Guile: the module system,
124 read-eval-print loop, some R4RS code and other infrastructure.
125
126Automake macros, in ${prefix}/share/aclocal:
127
128guile.m4
129
130Documentation in Info format, in ${prefix}/info:
131
132data-rep.info --- an essay on how to write C code that works with
14725cbb 133 Guile Scheme values.
0196b30a 134
5c54da76
JB
135The Guile source tree is laid out as follows:
136
1325feea 137libguile:
cf78e9e8
JB
138 The Guile Scheme interpreter --- both the object library
139 for you to link with your programs, and the executable you can run.
1325feea 140ice-9: Guile's module system, initialization code, and other infrastructure.
17f8d40c
JB
141guile-config:
142 Source for the guile-config script.
9a3c1149 143qt: A cooperative threads package from the University of Washington,
cf78e9e8 144 which Guile can use. If you configure Guile with the
3a629497
JB
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.
621e8324
MV
148guile-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.
ae8de16e 152doc: Documentation (see above).
4c8980a2 153
c11f9405
JB
154Anonymous CVS Access and FTP snapshots ===============================
155
156We make the developers' working Guile sources available via anonymous
157CVS, and by nightly snapshots, accessible via FTP. See the files
158`ANON-CVS' and `SNAPSHOTS' for details.
159
349d9c1f 160If you would like to receive mail when people commit changes to the
ee2bf8b8
MV
161Guile CVS repository, you can subscribe to guile-cvs@gnu.org by the
162Mailman mailing list interface at
349d9c1f 163
ee2bf8b8 164 <http://mail.gnu.org/mailman/listinfo/guile-cvs>
349d9c1f 165
c11f9405 166
c484bf7f
JB
167Obtaining Guile ======================================================
168
169The latest official Guile release is available via anonymous FTP from
c484bf7f 170
b5074b23 171ftp://ftp.gnu.org/pub/gnu/guile/guile-1.4.tar.gz
c484bf7f 172
ee2bf8b8
MV
173The mailing list `guile-user@gnu.org' carries discussions, questions,
174and often answers, about Guile. To subscribe, use the Mailman mailing
175list interface at <http://mail.gnu.org/mailman/listinfo/guile-user>
176Of course, please send bug reports (and fixes!) to bug-guile@gnu.org.
177