* README, HACKING: Moved "Hacking it yourself" section from README
[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 There is some preliminary documentation for Guile under the directory
16 doc. The real Guile manual is incomplete, and is currently being
17 revised. A development snapshot of the manual is available at
18 ftp.red-bean.com as /pub/guile/snapshots/guile-doc-snap.tar.gz.
19
20
21 About This Distribution ==============================================
22
23 Interesting files include:
24 - INSTALL, which contains instructions on building and installing Guile.
25 - NEWS, which describes user-visible changes since the last release of Guile.
26 - COPYING, which describes the terms under which you may redistribute
27 Guile, and explains that there is no warranty.
28
29 Building and installing this distribution gives you:
30 guile --- a stand-alone interpreter for Guile, usually installed in
31 /usr/local/bin. With no arguments, this is a simple
32 interactive Scheme interpreter. It can also be used as an
33 interpreter for script files; see the NEWS file for details.
34 guile-config --- a Guile script which provides the information necessary
35 to link your programs against the Guile library.
36 guile-snarf --- a script to parse declarations in your C code for
37 Scheme-visible C functions, Scheme objects to be used by C code, etc.
38 libguile.a --- an object library containing the Guile interpreter,
39 usually installed in /usr/local/lib. You can use Guile in
40 your own programs by linking against this.
41 libqthreads.a --- an object library containing the QuickThreads
42 primitives. If you enabled thread support when you configured
43 Guile, you will need to link your code against this too.
44 libguilereadline.a --- an object library containing glue code for the
45 GNU readline library. See NEWS for instructions on how to enable
46 readline for your personal use.
47 <libguile.h>, <guile/gh.h>, <libguile/*.h> --- header files for
48 libguile.a, usually installed in /usr/local/include.
49 ice-9, ice-9/*.scm --- run-time support for Guile: the module
50 system, read-eval-print loop, some R4RS code and other
51 infrastructure. Usually installed in
52 /usr/local/share/guile/<version>.
53 data-rep.info --- An essay on how to write C code that works with
54 Guile Scheme values.
55
56 The Guile source tree is laid out as follows:
57
58 libguile:
59 The Guile Scheme interpreter --- both the object library
60 for you to link with your programs, and the executable you can run.
61 ice-9: Guile's module system, initialization code, and other infrastructure.
62 guile-config:
63 Source for the guile-config script.
64 qt: A cooperative threads package from the University of Washington,
65 which Guile can use. If you configure Guile with the
66 --with-threads flag, you will need to link against the -lqt
67 library, found in this directory. Qt is under a separate
68 copyright; see `qt/README' for more details.
69 guile-readline:
70 The glue code for using GNU readline with Guile. This
71 will be build when configure can find a recent enough readline
72 library on your system.
73 doc: Some preliminary documentation for Guile. The real Guile
74 manual is incomplete, and is currently being revised.
75 A development snapshot of the manual is available at
76 ftp.red-bean.com as /pub/guile/snapshots/guile-doc-snap.tar.gz.
77 doc/example-smob: Sample code, discussed in the preliminary
78 documentation above, for a program that extends Guile with a
79 new data type, and functions that operate on it.
80
81
82 Anonymous CVS Access and FTP snapshots ===============================
83
84 We make the developers' working Guile sources available via anonymous
85 CVS, and by nightly snapshots, accessible via FTP. See the files
86 `ANON-CVS' and `SNAPSHOTS' for details.
87
88 If you would like to receive mail when people commit changes to the
89 Guile CVS repository, you can subscribe to guile-cvs@sourceware.cygnus.com
90 by sending a message to guile-cvs-subscribe@sourceware.cygnus.com. Even
91 better, you can get daily digests of these commit messages by sending
92 a message to guile-cvs-digest-subscribe@sourceware.cygnus.com.
93
94 If you want to subscribe an e-mail address other than the one that
95 appears in your From: header, say foo@bar.com, send a mail note to
96 guile-cvs-subscribe-foo=bar.com@sourceware.cygnus.com.
97
98
99 Obtaining Guile ======================================================
100
101 The latest official Guile release is available via anonymous FTP from
102 ftp.gnu.org, as /pub/gnu/guile/guile-1.3.4.tar.gz.
103
104 Via the web, that's: ftp://ftp.gnu.org/pub/gnu/guile/guile-1.3.4.tar.gz
105 For getit, that's: ftp.gnu.org:/pub/gnu/guile/guile-1.3.4.tar.gz
106
107 The mailing list `guile@sourceware.cygnus.com' carries discussions,
108 questions, and often answers, about Guile. To subscribe, send mail to
109 guile-subscribe@sourceware.cygnus.com. Of course, please send bug
110 reports (and fixes!) to bug-guile@gnu.org. Note that one address is
111 @sourceware.cygnus.com, and the other is at @gnu.org.