Commit | Line | Data |
---|---|---|
271a1aac | 1 | This is a nightly snapshot of Guile, a portable, embeddable Scheme |
9518bec3 JB |
2 | implementation written in C. Guile provides a machine independent |
3 | execution platform that can be linked in as a library when building | |
4 | extensible programs. | |
7fcc90c4 | 5 | |
9518bec3 | 6 | Please send bug reports to bug-guile@prep.ai.mit.edu. |
7fcc90c4 | 7 | |
271a1aac JB |
8 | Important Facts About Snapshots ====================================== |
9 | ||
10 | Please keep in mind that these sources are strictly experimental; they | |
11 | will usually not be well-tested, and may not even compile on some | |
12 | systems. They may contain interfaces which will change. They will | |
13 | usually not be of sufficient quality for use by people not comfortable | |
14 | hacking the innards of Guile. Caveat! | |
15 | ||
16 | However, we're providing them anyway for several reasons. We'd like | |
17 | to encourage people to get involved in developing Guile. People | |
18 | willing to use the bleeding edge of development can get earlier access | |
19 | to new, experimental features. Patches submitted relative to recent | |
20 | snapshots will be easier for us to evaluate and install, since the | |
21 | patch's original sources will be closer to what we're working with. | |
22 | And it allows us to start testing features earlier. | |
23 | ||
24 | Nightly snapshots of the Guile development sources are available via | |
25 | anonymous FTP from ftp.cyclic.com, as /pub/guile/guile-snap.tar.gz. | |
26 | ||
27 | Via the web, that's: ftp://ftp.cyclic.com/pub/guile/guile-snap.tar.gz | |
28 | For getit, that's: ftp.cyclic.com:/pub/guile/guile-snap.tar.gz | |
29 | ||
30 | ||
31 | The latest official Guile release is available via anonymous FTP from | |
4b521edb | 32 | prep.ai.mit.edu, as /pub/gnu/guile-1.0.tar.gz. |
9518bec3 | 33 | |
4b521edb JB |
34 | Via the web, that's: ftp://prep.ai.mit.edu/pub/gnu/guile-1.0.tar.gz |
35 | For getit, that's: prep.ai.mit.edu:/pub/gnu/guile-1.0.tar.gz | |
fb21f202 | 36 | |
0196b30a | 37 | |
9518bec3 | 38 | Contents Of This Distribution ======================================== |
5c54da76 JB |
39 | |
40 | Interesting 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 | ||
46 | The Guile source tree is laid out as follows: | |
47 | ||
01cf3840 JB |
48 | doc: Documentation for Guile, in Texinfo form. (At the moment, these |
49 | manuals are incomplete and are currently being revised.) | |
1325feea JB |
50 | libguile: |
51 | The Guile Scheme interpreter, packaged as an object library | |
52 | for you to link with your programs. | |
53 | guile: An interactive front end for the Guile Scheme interpreter. | |
54 | rx: A regular expression matching library, interfaced to Guile. | |
55 | ice-9: Guile's module system, initialization code, and other infrastructure. | |
56 | lang: A Guile module of tools for writing lexical analyzers and parsers. | |
57 | ctax: A Guile module providing a C-like syntax for Scheme. | |
58 | gtcltk-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 |
64 | threads: Glue code for using various threads packages from Guile, including |
65 | qt (see below). | |
66 | ||
67 | This distribution also includes `qt', a cooperative threads package | |
68 | from Washington University, which Guile can use. Qt is under a | |
69 | separate copyright; see `qt/README' for more details. | |
ee81f9ca | 70 | |
2c87c78e JB |
71 | The mailing list `guile@cygnus.com' carries discussions, questions, |
72 | and often answers, about Guile. To subscribe, send mail to | |
73 | guile-request@cygnus.com. Of course, please send bug reports (and | |
74 | fixes!) to bug-guile@prep.ai.mit.edu. | |
9518bec3 JB |
75 | |
76 | ||
3c555f81 JB |
77 | Hacking It Yourself ================================================== |
78 | ||
79 | As distributed, Guile needs only an ANSI C compiler and a Unix system | |
80 | to compile. However, Guile's makefiles, configuration scripts, and a | |
81 | few other files are automatically generated, not written by hand. If | |
82 | you want to make changes to the system (which we encourage!) you will | |
83 | find it helpful to have the tools we use to develop Guile. They | |
84 | are the following: | |
85 | ||
86 | Autoconf 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 | ||
91 | Automake 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 | ||
98 | libtool 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 |
102 | You are lost in a little maze of automatically generated files, all |
103 | different. | |
104 | > | |
105 | ||
3c555f81 | 106 | |
9518bec3 JB |
107 | Authors And Contributors ============================================= |
108 | ||
01cf3840 JB |
109 | Many people have generously contributed to Guile. However, any errors |
110 | are the responsibility of the primary Guile maintainer, Jim Blandy. | |
9518bec3 JB |
111 | |
112 | Mikael 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 |
121 | Mark Galassi contributed the Guile high-level functions (libgh), and |
122 | wrote the guile-programmer and guile-user manuals. (These are in the | |
123 | process of revision.) | |
124 | ||
125 | Anthony Green wrote the original version of `threads' the interface | |
126 | between Guile and qt. | |
127 | ||
128 | Gary Houston wrote the Unix system call support, including the socket | |
129 | support, and did a lot of work on the error handling code. | |
130 | ||
131 | Tom Lord librarified SCM, yielding Guile. He wrote Guile's operating | |
132 | system, Ice-9, and connected Guile to Tcl/Tk and the `rx' regular | |
133 | expression matcher. | |
134 | ||
135 | Aubrey Jaffer seriously tuned performance and added features. He | |
136 | designed many hairy but beautiful parts of the tag system and | |
137 | evaluator. | |
138 | ||
139 | George Carrette wrote SIOD, a stand-alone scheme interpreter. | |
140 | Although most of this code as been rewritten or replaced over time, | |
141 | the garbage collector from SIOD is still an important part of Guile. | |
4b521edb JB |
142 | |
143 |