* throw.c (scm_lazy_catch, scm_ithrow): Completed implementation
[bpt/guile.git] / README
CommitLineData
9518bec3
JB
1This is a nightly snapshot of Guile, a portable, embeddable Scheme
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
9518bec3
JB
8
9Important Facts About Snapshots ======================================
10
820bb96d 11 Please keep in mind that these sources are strictly experimental;
7fcc90c4
JB
12 they will usually not be well-tested, and may not even compile on
13 some systems. They may contain interfaces which will change.
14 They will usually not be of sufficient quality for use by people
15 not comfortable hacking the innards of Guile. Caveat!
16
17 However, we're providing them anyway for several reasons. We'd like
18 to encourage people to get involved in developing Guile. People
19 willing to use the bleeding edge of development can get earlier access
20 to new, experimental features. Patches submitted relative to recent
21 snapshots will be easier for us to evaluate and install, since the
22 patch's original sources will be closer to what we're working with.
23 And it allows us to start testing features earlier.
0196b30a 24
a20fe976
JB
25The Guile snapshots are available via anonymous FTP from
26alpha.gnu.ai.mit.edu, as /gnu/guile-snap.tar.gz.
27
8828ddca
JB
28Via the web, that's: ftp://alpha.gnu.ai.mit.edu/gnu/guile-snap.tar.gz
29For getit, that's: alpha.gnu.ai.mit.edu:/gnu/guile-snap.tar.gz
fb21f202 30
0196b30a 31
9518bec3 32Contents Of This Distribution ========================================
5c54da76
JB
33
34Interesting files include:
35- INSTALL, which contains instructions on building and installing Guile.
36- NEWS, which describes user-visible changes since the last release of Guile.
37- COPYING, which describes the terms under which you may redistribute
38 Guile, and explains that there is no warranty.
39
40The Guile source tree is laid out as follows:
41
1325feea
JB
42doc: Documentation for Guile, in Texinfo form.
43libguile:
44 The Guile Scheme interpreter, packaged as an object library
45 for you to link with your programs.
46guile: An interactive front end for the Guile Scheme interpreter.
47rx: A regular expression matching library, interfaced to Guile.
48ice-9: Guile's module system, initialization code, and other infrastructure.
49lang: A Guile module of tools for writing lexical analyzers and parsers.
50ctax: A Guile module providing a C-like syntax for Scheme.
51gtcltk-lib:
0682f7ab 52 Glue code for talking to Tcl/Tk from Guile. The Tcl/Tk
1325feea
JB
53 developers have big plans for the next major release of Tcl/Tk
54 which will make possible a clean, direct interface between
55 Guile and Tk, so we're providing this very simple-minded
56 interface until that's ready.
0682f7ab
JB
57threads: Glue code for using various threads packages from Guile, including
58 qt (see below).
59
60This distribution also includes `qt', a cooperative threads package
61from Washington University, which Guile can use. Qt is under a
62separate copyright; see `qt/README' for more details.
ee81f9ca 63
2c87c78e
JB
64The mailing list `guile@cygnus.com' carries discussions, questions,
65and often answers, about Guile. To subscribe, send mail to
66guile-request@cygnus.com. Of course, please send bug reports (and
67fixes!) to bug-guile@prep.ai.mit.edu.
9518bec3
JB
68
69
70Authors And Contributors =============================================
71
72George Carrette wrote SIOD, a stand-alone scheme interpreter.
73Although most of this code as been rewritten or replaced over time,
74the garbage collector from SIOD is still an important part of Guile.
75
76Aubrey Jaffer seriously tuned performance and added features. He
77designed many hairy parts of the tag system and evaluator.
78
79Tom Lord librarified SCM, yielding Guile. He wrote Guile's operating
80system, Ice-9, and connected Guile to Tcl/Tk and the `rx' regular
81expression matcher.
82
83Gary Houston wrote the Unix system call support, including the socket
84support.
85
9518bec3
JB
86Anthony Green wrote the original version of `threads' the interface
87between Guile and qt.
88
89Mikael Djurfeldt designed and implemented:
90* the source-level debugger,
2a786759
JB
91* stack overflow detection,
92* the GDB patches to support debugging mixed Scheme/C code,
9518bec3 93* the original implementation of weak hash tables,
2a786759
JB
94* the `threads' interface (rewriting Anthony Green's work), and
95* detection of circular references during printing.
96
97Gary Houston did a lot of work on the error handling code.