Guile

Guile is an implementation of the Scheme programming language, which is a dialect/derivative of LISP. Guile is meant to be very usable for a large set of purposes, it can run as a stand-alone interpreted language, or embedded within another program, and is easily expendable from C. Guile can be extended from separate C libraries, or by the host program loading functions into Guile directly. This allows a variety of ways to extend Guile, both as a separate language, and as a application scripting language.

Unlike some other embeddable languages, when used to extend a program Guile exists as a global environment. This basically means that a library can not use Guile separate of the host program, there will only be one Guile instance. This must be taken into consideration when deciding how to make use of Guile, or if even to use Guile. The main effect of this, would be that any library, or separate program component, that uses Guile would have to treat itself more as a Guile extension (either globally, or only in within the running program) rather then as code that uses Guile separately.

= External Links =
 * http://www.gnu.org/software/guile - Homepage