Start new section for post-1.0 changes.
[bpt/guile.git] / README
CommitLineData
4b521edb 1This is release 1.0 of 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
01cf3840
JB
6This is the first Guile release made by the Free Software Foundation.
7However, Cygnus Support has made earlier releases of Guile, the most
8recent of which is known as `guile-iii'. The present release
9incorporates many bug fixes and improvements, but has dropped some
10modules that `guile-iii' supported.
11
9518bec3 12Please send bug reports to bug-guile@prep.ai.mit.edu.
7fcc90c4 13
4b521edb
JB
14Guile is available via anonymous FTP from
15prep.ai.mit.edu, as /pub/gnu/guile-1.0.tar.gz.
9518bec3 16
4b521edb
JB
17Via the web, that's: ftp://prep.ai.mit.edu/pub/gnu/guile-1.0.tar.gz
18For getit, that's: prep.ai.mit.edu:/pub/gnu/guile-1.0.tar.gz
fb21f202 19
0196b30a 20
9518bec3 21Contents Of This Distribution ========================================
5c54da76
JB
22
23Interesting 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
29The Guile source tree is laid out as follows:
30
01cf3840
JB
31doc: Documentation for Guile, in Texinfo form. (At the moment, these
32 manuals are incomplete and are currently being revised.)
1325feea
JB
33libguile:
34 The Guile Scheme interpreter, packaged as an object library
35 for you to link with your programs.
36guile: An interactive front end for the Guile Scheme interpreter.
37rx: A regular expression matching library, interfaced to Guile.
38ice-9: Guile's module system, initialization code, and other infrastructure.
39lang: A Guile module of tools for writing lexical analyzers and parsers.
40ctax: A Guile module providing a C-like syntax for Scheme.
41gtcltk-lib:
0682f7ab 42 Glue code for talking to Tcl/Tk from Guile. The Tcl/Tk
1325feea
JB
43 developers have big plans for the next major release of Tcl/Tk
44 which will make possible a clean, direct interface between
45 Guile and Tk, so we're providing this very simple-minded
46 interface until that's ready.
0682f7ab
JB
47threads: Glue code for using various threads packages from Guile, including
48 qt (see below).
49
50This distribution also includes `qt', a cooperative threads package
51from Washington University, which Guile can use. Qt is under a
52separate copyright; see `qt/README' for more details.
ee81f9ca 53
2c87c78e
JB
54The mailing list `guile@cygnus.com' carries discussions, questions,
55and often answers, about Guile. To subscribe, send mail to
56guile-request@cygnus.com. Of course, please send bug reports (and
57fixes!) to bug-guile@prep.ai.mit.edu.
9518bec3
JB
58
59
60Authors And Contributors =============================================
61
01cf3840
JB
62Many people have generously contributed to Guile. However, any errors
63are the responsibility of the primary Guile maintainer, Jim Blandy.
9518bec3
JB
64
65Mikael Djurfeldt designed and implemented:
01cf3840
JB
66* the source-level debugging support (although the debugger's user
67 interface is not yet complete)
2a786759
JB
68* stack overflow detection,
69* the GDB patches to support debugging mixed Scheme/C code,
9518bec3 70* the original implementation of weak hash tables,
2a786759
JB
71* the `threads' interface (rewriting Anthony Green's work), and
72* detection of circular references during printing.
73
01cf3840
JB
74Mark Galassi contributed the Guile high-level functions (libgh), and
75wrote the guile-programmer and guile-user manuals. (These are in the
76process of revision.)
77
78Anthony Green wrote the original version of `threads' the interface
79between Guile and qt.
80
81Gary Houston wrote the Unix system call support, including the socket
82support, and did a lot of work on the error handling code.
83
84Tom Lord librarified SCM, yielding Guile. He wrote Guile's operating
85system, Ice-9, and connected Guile to Tcl/Tk and the `rx' regular
86expression matcher.
87
88Aubrey Jaffer seriously tuned performance and added features. He
89designed many hairy but beautiful parts of the tag system and
90evaluator.
91
92George Carrette wrote SIOD, a stand-alone scheme interpreter.
93Although most of this code as been rewritten or replaced over time,
94the garbage collector from SIOD is still an important part of Guile.
4b521edb
JB
95
96
97Nightly snapshots ====================================================
98
99Nightly snapshots of the Guile development sources are available via
100anonymous FTP from ftp.cyclic.com, as /pub/guile/guile-snap.tar.gz.
101
102Via the web, that's: ftp://ftp.cyclic.com/pub/guile/guile-snap.tar.gz
103For getit, that's: ftp.cyclic.com:/pub/guile/guile-snap.tar.gz
104
105Please keep in mind that the snapshots are strictly experimental; they
106will usually not be well-tested, and may not even compile on some
107systems. They may contain interfaces which will change. They will
108usually not be of sufficient quality for use by people not comfortable
109hacking the innards of Guile. Caveat!
110
111However, we're providing them anyway for several reasons. We'd like
112to encourage people to get involved in developing Guile. People
113willing to use the bleeding edge of development can get earlier access
114to new, experimental features. Patches submitted relative to recent
115snapshots will be easier for us to evaluate and install, since the
116patch's original sources will be closer to what we're working with.
117And it allows us to start testing features earlier.
01cf3840 118