* gdb_interface.h (GDB_INTERFACE): Added some (void *) casts to avoid
[bpt/guile.git] / README
CommitLineData
271a1aac 1This is a nightly snapshot of Guile, a portable, embeddable Scheme
9518bec3
JB
2implementation written in C. Guile provides a machine independent
3execution platform that can be linked in as a library when building
4extensible programs.
7fcc90c4 5
9518bec3 6Please send bug reports to bug-guile@prep.ai.mit.edu.
7fcc90c4 7
271a1aac
JB
8Important Facts About Snapshots ======================================
9
10Please keep in mind that these sources are strictly experimental; they
11will usually not be well-tested, and may not even compile on some
12systems. They may contain interfaces which will change. They will
13usually not be of sufficient quality for use by people not comfortable
14hacking the innards of Guile. Caveat!
15
16However, we're providing them anyway for several reasons. We'd like
17to encourage people to get involved in developing Guile. People
18willing to use the bleeding edge of development can get earlier access
19to new, experimental features. Patches submitted relative to recent
20snapshots will be easier for us to evaluate and install, since the
21patch's original sources will be closer to what we're working with.
22And it allows us to start testing features earlier.
23
24Nightly snapshots of the Guile development sources are available via
25anonymous FTP from ftp.cyclic.com, as /pub/guile/guile-snap.tar.gz.
26
27Via the web, that's: ftp://ftp.cyclic.com/pub/guile/guile-snap.tar.gz
28For getit, that's: ftp.cyclic.com:/pub/guile/guile-snap.tar.gz
29
30
31The latest official Guile release is available via anonymous FTP from
4b521edb 32prep.ai.mit.edu, as /pub/gnu/guile-1.0.tar.gz.
9518bec3 33
4b521edb
JB
34Via the web, that's: ftp://prep.ai.mit.edu/pub/gnu/guile-1.0.tar.gz
35For getit, that's: prep.ai.mit.edu:/pub/gnu/guile-1.0.tar.gz
fb21f202 36
0196b30a 37
9518bec3 38Contents Of This Distribution ========================================
5c54da76
JB
39
40Interesting files include:
41- INSTALL, which contains instructions on building and installing Guile.
42- NEWS, which describes user-visible changes since the last release of Guile.
43- COPYING, which describes the terms under which you may redistribute
44 Guile, and explains that there is no warranty.
45
46The Guile source tree is laid out as follows:
47
01cf3840
JB
48doc: Documentation for Guile, in Texinfo form. (At the moment, these
49 manuals are incomplete and are currently being revised.)
1325feea
JB
50libguile:
51 The Guile Scheme interpreter, packaged as an object library
52 for you to link with your programs.
53guile: An interactive front end for the Guile Scheme interpreter.
54rx: A regular expression matching library, interfaced to Guile.
55ice-9: Guile's module system, initialization code, and other infrastructure.
56lang: A Guile module of tools for writing lexical analyzers and parsers.
57ctax: A Guile module providing a C-like syntax for Scheme.
58gtcltk-lib:
0682f7ab 59 Glue code for talking to Tcl/Tk from Guile. The Tcl/Tk
1325feea
JB
60 developers have big plans for the next major release of Tcl/Tk
61 which will make possible a clean, direct interface between
62 Guile and Tk, so we're providing this very simple-minded
63 interface until that's ready.
0682f7ab
JB
64threads: Glue code for using various threads packages from Guile, including
65 qt (see below).
66
67This distribution also includes `qt', a cooperative threads package
68from Washington University, which Guile can use. Qt is under a
69separate copyright; see `qt/README' for more details.
ee81f9ca 70
2c87c78e
JB
71The mailing list `guile@cygnus.com' carries discussions, questions,
72and often answers, about Guile. To subscribe, send mail to
73guile-request@cygnus.com. Of course, please send bug reports (and
74fixes!) to bug-guile@prep.ai.mit.edu.
9518bec3
JB
75
76
3c555f81
JB
77Hacking It Yourself ==================================================
78
79As distributed, Guile needs only an ANSI C compiler and a Unix system
80to compile. However, Guile's makefiles, configuration scripts, and a
81few other files are automatically generated, not written by hand. If
82you want to make changes to the system (which we encourage!) you will
83find it helpful to have the tools we use to develop Guile. They
84are the following:
85
86Autoconf 2.12 --- a system for automatically generate `configure'
87 scripts from templates which list the non-portable features a
88 program would like to use. Available in
89 "ftp://prep.ai.mit.edu/pub/gnu".
90
91Automake 1.1l --- a system for automatically generating Makefiles that
92 conform to the (rather Byzantine) GNU coding standards. The
93 nice thing is that it takes care of hairy targets like 'make
94 dist' and 'make distclean', and automatically generates
95 Makefile dependencies. Available in
96 "ftp://ftp.cygnus.com/pub/tromey".
97
98libtool 0.7 --- a system for managing the zillion hairy options needed
99 on various systems to produce shared libraries. Available in
100 "http://casual1.enci.ucalgary.ca/~gord/src/".
101
05264287
JB
102You are lost in a little maze of automatically generated files, all
103different.
104>
105
3c555f81 106
9518bec3
JB
107Authors And Contributors =============================================
108
01cf3840
JB
109Many people have generously contributed to Guile. However, any errors
110are the responsibility of the primary Guile maintainer, Jim Blandy.
9518bec3
JB
111
112Mikael Djurfeldt designed and implemented:
01cf3840
JB
113* the source-level debugging support (although the debugger's user
114 interface is not yet complete)
2a786759
JB
115* stack overflow detection,
116* the GDB patches to support debugging mixed Scheme/C code,
9518bec3 117* the original implementation of weak hash tables,
2a786759
JB
118* the `threads' interface (rewriting Anthony Green's work), and
119* detection of circular references during printing.
120
01cf3840
JB
121Mark Galassi contributed the Guile high-level functions (libgh), and
122wrote the guile-programmer and guile-user manuals. (These are in the
123process of revision.)
124
125Anthony Green wrote the original version of `threads' the interface
126between Guile and qt.
127
128Gary Houston wrote the Unix system call support, including the socket
129support, and did a lot of work on the error handling code.
130
131Tom Lord librarified SCM, yielding Guile. He wrote Guile's operating
132system, Ice-9, and connected Guile to Tcl/Tk and the `rx' regular
133expression matcher.
134
135Aubrey Jaffer seriously tuned performance and added features. He
136designed many hairy but beautiful parts of the tag system and
137evaluator.
138
139George Carrette wrote SIOD, a stand-alone scheme interpreter.
140Although most of this code as been rewritten or replaced over time,
141the garbage collector from SIOD is still an important part of Guile.
4b521edb
JB
142
143