summaryrefslogtreecommitdiff
path: root/README
blob: 2a405a9d2260b5544f9697b7bba20e50ddd64c41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
This is not a Guile release; it is a source tree retrieved via
anonymous CVS or as a nightly snapshot at some random time after the
Guile 1.3.4 release.

This is version 1.3.5 of Guile, Project GNU's extension language
library.  Guile is an interpreter for Scheme, packaged as a library
that you can link into your applications to give them their own
scripting language.  Guile will eventually support other languages as
well, giving users of Guile-based applications a choice of languages.

Please send bug reports to bug-guile@gnu.org.

Guile Documentation ==================================================

There is some preliminary documentation for Guile under the directory
doc.  The real Guile manual is incomplete, and is currently being
revised.  A development snapshot of the manual is available at
ftp.red-bean.com as /pub/guile/snapshots/guile-doc-snap.tar.gz.


About This Distribution ==============================================

Interesting files include:
- INSTALL, which contains instructions on building and installing Guile.
- NEWS, which describes user-visible changes since the last release of Guile.
- COPYING, which describes the terms under which you may redistribute
  Guile, and explains that there is no warranty.

Building and installing this distribution gives you:
guile --- a stand-alone interpreter for Guile, usually installed in
	/usr/local/bin.  With no arguments, this is a simple
	interactive Scheme interpreter.  It can also be used as an
	interpreter for script files; see the NEWS file for details.
guile-config --- a Guile script which provides the information necessary
	to link your programs against the Guile library.
guile-snarf --- a script to parse declarations in your C code for 
	Scheme-visible C functions, Scheme objects to be used by C code, etc.
libguile.a --- an object library containing the Guile interpreter,
	usually installed in /usr/local/lib.  You can use Guile in
	your own programs by linking against this.
libqthreads.a --- an object library containing the QuickThreads
	primitives.  If you enabled thread support when you configured
	Guile, you will need to link your code against this too.
libguilereadline.a --- an object library containing glue code for the
        GNU readline library.  See NEWS for instructions on how to enable
	readline for your personal use.
<libguile.h>, <guile/gh.h>, <libguile/*.h> --- header files for
	libguile.a, usually installed in /usr/local/include.
ice-9, ice-9/*.scm --- run-time support for Guile: the module
	system, read-eval-print loop, some R4RS code and other
	infrastructure.  Usually installed in
	/usr/local/share/guile/<version>.
data-rep.info --- An essay on how to write C code that works with
	Guile Scheme values.

The Guile source tree is laid out as follows:

libguile:
	The Guile Scheme interpreter --- both the object library
	for you to link with your programs, and the executable you can run.
ice-9:  Guile's module system, initialization code, and other infrastructure.
guile-config:
	Source for the guile-config script.
qt: 	A cooperative threads package from the University of Washington,
	which Guile can use.  If you configure Guile with the
        --with-threads flag, you will need to link against the -lqt
        library, found in this directory.  Qt is under a separate
        copyright; see `qt/README' for more details.
guile-readline:
        The glue code for using GNU readline with Guile.  This
        will be build when configure can find a recent enough readline
        library on your system.
doc:	Some preliminary documentation for Guile.  The real Guile
	manual is incomplete, and is currently being revised.
	A development snapshot of the manual is available at
        ftp.red-bean.com as /pub/guile/snapshots/guile-doc-snap.tar.gz.
doc/example-smob: Sample code, discussed in the preliminary
	documentation above, for a program that extends Guile with a
	new data type, and functions that operate on it.


Anonymous CVS Access and FTP snapshots ===============================

We make the developers' working Guile sources available via anonymous
CVS, and by nightly snapshots, accessible via FTP.  See the files
`ANON-CVS' and `SNAPSHOTS' for details.

If you would like to receive mail when people commit changes to the
Guile CVS repository, you can subscribe to guile-cvs@sourceware.cygnus.com
by sending a message to guile-cvs-subscribe@sourceware.cygnus.com.  Even
better, you can get daily digests of these commit messages by sending
a message to guile-cvs-digest-subscribe@sourceware.cygnus.com.

If you want to subscribe an e-mail address other than the one that
appears in your From: header, say foo@bar.com, send a mail note to
guile-cvs-subscribe-foo=bar.com@sourceware.cygnus.com.


Obtaining Guile ======================================================

The latest official Guile release is available via anonymous FTP from
ftp.gnu.org, as /pub/gnu/guile/guile-1.3.4.tar.gz.

Via the web, that's:  ftp://ftp.gnu.org/pub/gnu/guile/guile-1.3.4.tar.gz
For getit, that's:    ftp.gnu.org:/pub/gnu/guile/guile-1.3.4.tar.gz

The mailing list `guile@sourceware.cygnus.com' carries discussions,
questions, and often answers, about Guile.  To subscribe, send mail to
guile-subscribe@sourceware.cygnus.com.  Of course, please send bug
reports (and fixes!) to bug-guile@gnu.org.  Note that one address is
@sourceware.cygnus.com, and the other is at @gnu.org.