* README (Guile Documentation, About This Distribution): updated.
[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.3.4 release.
4
5 This is version 1.3.5 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 ftp://ftp.red-bean.com/pub/guile/snapshots/guile-doc-snap.tar.gz
22
23 There is a plan to distribute the reference manual with guile-core,
24 with much of the text generated from the docstrings in the sources.
25 The docstrings are likely to be more up-to-date than the reference
26 manual at present (see libguile/guile-procedures.txt which is
27 generated by the build process).
28
29 About This Distribution ==============================================
30
31 Interesting files include:
32
33 - INSTALL, which contains instructions on building and installing Guile.
34 - NEWS, which describes user-visible changes since the last release of Guile.
35 - COPYING, which describes the terms under which you may redistribute
36 Guile, and explains that there is no warranty.
37
38 Files are usually installed according to the prefix specified to
39 configure, /usr/local by default. Building and installing gives you:
40
41 Executables, in ${prefix}/bin:
42
43 guile --- a stand-alone interpreter for Guile. With no arguments, this
44 is a simple interactive Scheme interpreter. It can also be used
45 as an interpreter for script files; see the NEWS file for details.
46 guile-config --- a Guile script which provides the information necessary
47 to link your programs against the Guile library.
48 guile-snarf --- a script to parse declarations in your C code for
49 Scheme-visible C functions, Scheme objects to be used by C code,
50 etc.
51
52 Libraries, in ${prefix}/lib. Depending on the platform and options
53 given to configure, you may get shared libraries in addition
54 to or instead of these static libraries:
55
56 libguile.a --- an object library containing the Guile interpreter,
57 You can use Guile in your own programs by linking against this.
58 libqthreads.a --- an object library containing the QuickThreads
59 primitives. If you enabled thread support when you configured
60 Guile, you will need to link your code against this too.
61 libguilereadline.a --- an object library containing glue code for the
62 GNU readline library. See NEWS for instructions on how to enable
63 readline for your personal use.
64
65 Header files, in ${prefix}/include:
66
67 libguile.h, guile/gh.h, libguile/*.h --- for libguile.
68 guile-readline/readline.h --- for guile-readline.
69
70 Support files, in ${prefix}/share/guile/<version>:
71
72 ice-9/* --- run-time support for Guile: the module system,
73 read-eval-print loop, some R4RS code and other infrastructure.
74
75 Automake macros, in ${prefix}/share/aclocal:
76
77 guile.m4
78
79 Documentation in Info format, in ${prefix}/info:
80
81 data-rep.info --- an essay on how to write C code that works with
82 Guile Scheme values.
83
84 The Guile source tree is laid out as follows:
85
86 libguile:
87 The Guile Scheme interpreter --- both the object library
88 for you to link with your programs, and the executable you can run.
89 ice-9: Guile's module system, initialization code, and other infrastructure.
90 guile-config:
91 Source for the guile-config script.
92 qt: A cooperative threads package from the University of Washington,
93 which Guile can use. If you configure Guile with the
94 --with-threads flag, you will need to link against the -lqt
95 library, found in this directory. Qt is under a separate
96 copyright; see `qt/README' for more details.
97 guile-readline:
98 The glue code for using GNU readline with Guile. This
99 will be build when configure can find a recent enough readline
100 library on your system.
101 doc: Documentation (see above).
102
103 Anonymous CVS Access and FTP snapshots ===============================
104
105 We make the developers' working Guile sources available via anonymous
106 CVS, and by nightly snapshots, accessible via FTP. See the files
107 `ANON-CVS' and `SNAPSHOTS' for details.
108
109 If you would like to receive mail when people commit changes to the
110 Guile CVS repository, you can subscribe to guile-cvs@sourceware.cygnus.com
111 by sending a message to guile-cvs-subscribe@sourceware.cygnus.com. Even
112 better, you can get daily digests of these commit messages by sending
113 a message to guile-cvs-digest-subscribe@sourceware.cygnus.com.
114
115 If you want to subscribe an e-mail address other than the one that
116 appears in your From: header, say foo@bar.com, send a mail note to
117 guile-cvs-subscribe-foo=bar.com@sourceware.cygnus.com.
118
119
120 Obtaining Guile ======================================================
121
122 The latest official Guile release is available via anonymous FTP from
123
124 ftp://ftp.gnu.org/pub/gnu/guile/guile-1.3.4.tar.gz
125
126 The mailing list `guile@sourceware.cygnus.com' carries discussions,
127 questions, and often answers, about Guile. To subscribe, send mail to
128 guile-subscribe@sourceware.cygnus.com. Of course, please send bug
129 reports (and fixes!) to bug-guile@gnu.org. Note that one address is
130 @sourceware.cygnus.com, and the other is at @gnu.org.