mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-07 08:40:21 +02:00
144 lines
6.1 KiB
Text
144 lines
6.1 KiB
Text
This is a nightly snapshot of Guile, a portable, embeddable Scheme
|
|
implementation written in C. Guile provides a machine independent
|
|
execution platform that can be linked in as a library when building
|
|
extensible programs.
|
|
|
|
Please send bug reports to bug-guile@prep.ai.mit.edu.
|
|
|
|
|
|
Important Facts About Snapshots ======================================
|
|
|
|
Please keep in mind that these sources are strictly experimental; they
|
|
will usually not be well-tested, and may not even compile on some
|
|
systems. They may contain interfaces which will change. They will
|
|
usually not be of sufficient quality for use by people not comfortable
|
|
hacking the innards of Guile. Caveat!
|
|
|
|
However, we're providing them anyway for several reasons. We'd like
|
|
to encourage people to get involved in developing Guile. People
|
|
willing to use the bleeding edge of development can get earlier access
|
|
to new, experimental features. Patches submitted relative to recent
|
|
snapshots will be easier for us to evaluate and install, since the
|
|
patch's original sources will be closer to what we're working with.
|
|
And it allows us to start testing features earlier.
|
|
|
|
Nightly snapshots of the Guile development sources are available via
|
|
anonymous FTP from ftp.cyclic.com, as /pub/guile/guile-snap.tar.gz.
|
|
|
|
Via the web, that's: ftp://ftp.cyclic.com/pub/guile/guile-snap.tar.gz
|
|
For getit, that's: ftp.cyclic.com:/pub/guile/guile-snap.tar.gz
|
|
|
|
|
|
The latest official Guile release is available via anonymous FTP from
|
|
prep.ai.mit.edu, as /pub/gnu/guile-1.0.tar.gz.
|
|
|
|
Via the web, that's: ftp://prep.ai.mit.edu/pub/gnu/guile-1.0.tar.gz
|
|
For getit, that's: prep.ai.mit.edu:/pub/gnu/guile-1.0.tar.gz
|
|
|
|
The mailing list `guile@cygnus.com' carries discussions, questions,
|
|
and often answers, about Guile. To subscribe, send mail to
|
|
guile-request@cygnus.com. Of course, please send bug reports (and
|
|
fixes!) to bug-guile@prep.ai.mit.edu.
|
|
|
|
|
|
About This Distribution ==============================================
|
|
|
|
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.
|
|
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.
|
|
<libguile.h>, <libguile/*.h> --- header files for libguile.a, usually
|
|
installed in /usr/local/include.
|
|
|
|
|
|
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.
|
|
|
|
The Guile source tree is laid out as follows:
|
|
|
|
doc: Documentation for Guile, in Texinfo form. (At the moment, these
|
|
manuals are incomplete and are currently being revised.)
|
|
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.
|
|
|
|
qt: A cooperative threads package from Washington University,
|
|
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.
|
|
|
|
|
|
Hacking It Yourself ==================================================
|
|
|
|
As distributed, Guile needs only an ANSI C compiler and a Unix system
|
|
to compile. However, Guile's makefiles, configuration scripts, and a
|
|
few other files are automatically generated, not written by hand. If
|
|
you want to make changes to the system (which we encourage!) you will
|
|
find it helpful to have the tools we use to develop Guile. They
|
|
are the following:
|
|
|
|
Autoconf 2.12 --- a system for automatically generating `configure'
|
|
scripts from templates which list the non-portable features a
|
|
program would like to use. Available in
|
|
"ftp://prep.ai.mit.edu/pub/gnu".
|
|
|
|
Automake 1.1p --- a system for automatically generating Makefiles that
|
|
conform to the (rather Byzantine) GNU coding standards. The
|
|
nice thing is that it takes care of hairy targets like 'make
|
|
dist' and 'make distclean', and automatically generates
|
|
Makefile dependencies. Available in
|
|
"ftp://ftp.cygnus.com/pub/tromey".
|
|
|
|
libtool 0.9d --- a system for managing the zillion hairy options needed
|
|
on various systems to produce shared libraries. Available in
|
|
"ftp://alpha.gnu.ai.mit.edu/gnu".
|
|
|
|
You are lost in a little maze of automatically generated files, all
|
|
different.
|
|
>
|
|
|
|
|
|
Authors And Contributors =============================================
|
|
|
|
Many people have generously contributed to Guile. However, any errors
|
|
are the responsibility of the primary Guile maintainer, Jim Blandy.
|
|
|
|
Mikael Djurfeldt designed and implemented:
|
|
* the source-level debugging support (although the debugger's user
|
|
interface is not yet complete)
|
|
* stack overflow detection,
|
|
* the GDB patches to support debugging mixed Scheme/C code,
|
|
* the original implementation of weak hash tables,
|
|
* the `threads' interface (rewriting Anthony Green's work), and
|
|
* detection of circular references during printing.
|
|
|
|
Mark Galassi contributed the Guile high-level functions (gh_*), and
|
|
wrote the guile-programmer and guile-user manuals. (These are in the
|
|
process of revision.)
|
|
|
|
Anthony Green wrote the original version of `threads', the interface
|
|
between Guile and qt.
|
|
|
|
Gary Houston wrote the Unix system call support, including the socket
|
|
support, and did a lot of work on the error handling code.
|
|
|
|
Tom Lord librarified SCM, yielding Guile. He wrote Guile's operating
|
|
system, Ice-9, and connected Guile to Tcl/Tk and the `rx' regular
|
|
expression matcher.
|
|
|
|
Aubrey Jaffer seriously tuned performance and added features. He
|
|
designed many hairy but beautiful parts of the tag system and
|
|
evaluator.
|
|
|
|
George Carrette wrote SIOD, a stand-alone scheme interpreter.
|
|
Although most of this code as been rewritten or replaced over time,
|
|
the garbage collector from SIOD is still an important part of Guile.
|