Guile Pages

 [image of the Head of a GNU] (jpeg 7k) (jpeg 21k) no gifs due to patent problems

GUILE, GNU's Ubiquitous Intelligent Language for Extension, is a library that implements the Scheme language plus various convenient facilities. It's designed so that you can link it into an application or utility to make it extensible. Our plan is to link this library into all GNU programs that call for extensibility.

Libraries that provide an interpreter for extensibility are not new. But most of them implement ``scripting languages'' that were not designed to be as powerful as a real programming language. GUILE uses Scheme, a powerful yet simple dialect of Lisp. One advantage of GUILE over TCL is that Scheme is a more powerful language. Scheme was designed as a ``programming language'', not as a ``scripting language''. Scheme is also simpler and cleaner than other extension languages such as Perl and Python.

But the big advantage of GUILE is that it allows support for multiple languages. This is because Scheme is powerful enough that other languages can conveniently be translated into it.

We have already implemented one translator, CTAX, which understands simple C-like language. This means that any application program which is linked with GUILE supports the CTAX language as well as Scheme. Any user can decide, at run time, to load the CTAX translator and start typing programs in CTAX. The application developer does not need to do anything special to support CTAX.

Ultimately we hope to have translators for Perl, Python, TCL, REXX and Emacs Lisp---plus any other languages that users like. Users can write their own translators for their other languages, too. A translator should substitute for the Scheme read function; it should read text and return a Scheme expression which could then be evaluated. Translators should be written in Scheme so that a user can load them into GUILE at run time.

Version 1.3 of GUILE was released on October 20, 1998, and is available from the ftp.gnu.org ftp site. This release of Guile represents a number of bug fixes from the 1.2 release.

Snapshots of additional packages are available at the developers' ftp site, and will soon be available at the ftp.gnu.org ftp site. Snapshots of the development tree can be found on the developers' ftp site as well. Remember, though -- this is pre-release code.



``Aren't you glad you use GUILE? Don't you wish everybody did?''

Further Information

Information
Various essays, explanations, and other notes about the Guile project and guile itself are kept here.
Documentation
The development group has put together an outline of the manuals, and is writing the material to fill them out.
Guile Mailings
Recent mail is archived here. We also have information about various Guile mailing lists here.
Open Tasks
There are several projects we'd like to have people work on. Would you like to grab one?
Volunteer Projects
There are several volunteer projects that use or extend Guile.

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

Copyright (C) 1997, 1998 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: 13 Aug 1998 kwzh