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