Guile is a generic extension language library for the GNU project.
It is centered around the language Scheme. The implementation is
derived from Aubrey Jaffer's interpreter "SCM".
There is a new snapshot of Guile and some related sources. This
snapshot is only available from:
This snapshot fixes those bugs that were reported for the previous
snapshot. This release has been tested on an intel Linux machine, on
an SGI Irix machine, and on a SunOS machine; your milage may vary.
This snapshot may be interesting to SCSH users because it contains a
complete system-call interface and a low-level "revealed ports"
mechanism. A complete implementation of SCSH in Guile should be just
a `small matter of (Scheme) hacking'. Would anyone like to work on
such a port?
Bugs in this release should be reported to "firstname.lastname@example.org".
Special thanks to Gary Houston for implementing many of the shell
features in this release.
This snapshot includes some new features. Among these are:
o More Documentation
The manual has expanded and now includes a section on
the internals of the interpreter.
o Tcl/Tk support
You can link with a (slightly) modified libtcl and libtk
either to make Tcl programs extensible in Scheme, or to
write user interfaces in Scheme using the Tk widget set.
It means that you can use any Tcl command module from
Scheme, almost always without modification.
o A demo: Gwish
Gwish is a wish-like application that demonstrates the new
Tcl/Tk support. Included is a Scheme version of a simple
graph editor originally written in Tcl, and an autokad system.
Gwish is based on STk and demonstrates the new capability
of using anonymous Scheme procedures for bindings and widget
o System Calls
The system call interface is now reasonably complete.
Guile has enough raw materials to support a full implementation
of Scsh, if volunteers want to work on one.
The beginning of an scsh-like library for Guile.
o Another demo: The Ctax Interpreter
The beginning of a C-like syntax for Scheme.
o Java-related tools
This snapshot contains a variety of Java-related tools
for hackers. The Scheme source can be found in the subdirectory
"latte". The interpreter C source includes a byte-code interperter
and a an efficient extensible object system called "structs".
Information about the Tcl/Tk support, system call interface, and gscsh
can be found in the info file "guile-ii/guile/scm.info". The demos
can be found in "guile-ii/guile/demos".
The snapshot consists of a number of directories. These are:
guile-ii/ # the directory containing this file
guile-ii/rx # the rx pattern matcher
guile-ii/guile # sources for libguile and guile
guile-ii/demos # sources for libguile and guile
guile-ii/gtcl # a slightly modified version of Tcl
guile-ii/gtk # a slightly modified version of Tk
guile-ii/slib # a slightly expanded version of
a popular Scheme library.
guile-ii/latte # Some tools relating to the bytecode
interpreter and to the language Java.
Sources still needing to be merged:
* The very latest changes to SCM and scm.texi.
* A module system.
* An expect-like program using Guile's shell features.
Volunteers might want to work on:
* Porting TkWWW from Tcl to Scheme and from Tk3 to Tk4.
(This task is high-priority for the GNU project!)
* Improving the Tk interface.
* Resolving the remaining differences between the SCM and
Guile source trees.
(This task is high-priority.)
* Elisp support.
* The "ctax", c-like syntax.
* A Scheme->bytecodes compiler.
* A Scheme->C compiler.
* Ctax->bytecode and Ctax->C compilers.
* Guile support for Oleo.
* Guile support for other GNU tools.
* Supporting the Hungry Programmer's XWord project.
* Bindings for interesting libraries: PGP, GL, ...?
* Improved thread support. Concurrent GC.
* Convenient graphics abstractions.
* Convenient distributed programming abstractions.
* On-line documentation.
* A scripting language.
* A generic, table-driven event-loop.
* A faster widget library.
The most successful volunteers are those who:
1. Will promptly fill out the necessary legal
work for the FSF.
2. Are able to pick a task, choose a good
direction quickly, and be mostly self-directed.
If you are interested in working on a project, please contact
"email@example.com", explaining what you'd like to work on.