Entry
Computer: Language: Guile: What is the Guile computer language? [LISP / Scheme]
Dec 3rd, 2003 13:47
Knud van Eeden,
----------------------------------------------------------------------
--- Knud van Eeden --- 03 December 2003 - 07:40 pm -------------------
Computer: Language: Guile: What is the Guile computer language?
[LISP / Scheme]
---
Guile is a programming language and the official GNU implementation of
(the LISP based) programming language Scheme.
---
---
The history of Guile
In the fall of 1994, Richard Stallman, director of the GNU project,
posted an article with the subject "Why you should not use Tcl", in
which he argued that Tcl is inadequate as an extension language.
The result was that Stallman then proposed his design for the GNU
Extension Language, first called GEL and then renamed Guile.
One interesting feature of this GNU Extension Language plan was that
users should have a choice of languages to use in extending their
program.
The basic language would be a slightly modified Scheme, and translators
would be written to convert other languages (like Tcl, Python, Perl,
C-like languages ...) into Scheme.
Tom Lord started working on this project immediately, taking Aubrey
Jaffer's small and portable implementation of Scheme, SCM, and making
it into an embeddable interpreter: callable from C and allowing new
Scheme procedures to be written in C.
In the spring of 1995, the guile-ii snapshot was released. This made it
possible to start writing code in C and Scheme using the guile
facilities.
After this, Cygnus Support added many features to Guile and finished
implementing others, so that Guile acquired thread support, a regular
expression matcher, a Tk interface, an interface to the SGI OpenGL
graphics system, an applet formalism, and some other packages.
Meanwhile, Tom Lord left the project after having produced a divergent
version of Guile: 1.0b2.
The Free Software Foundation hired Jim Blandy to coordinate Guile
development.
The Free Software Foundation released its first version of Guile in
January 1997.
---
[Internet: source: http://www.delorie.com/gnu/docs/guile/guile-
tut_4.html]
---
---
Guile is an implementation of the Scheme programming language by the
Free Software Foundation, designed especially for ease of use as a
scripting language due to the ease of embedding it within other
applications.
It was envisaged that Guile would allow an application to be scripted
in multiple languages, by dynamically translating to Scheme, but until
recently no translators existed.
Despite the enthusiasm of its users and developers, many novice
programmers find Scheme intimidating - and the average skill level of
scripting language programmers is substantially lower than for system
and application programmers. Hence Guile, despite its many benefits,
struggles for mainstream acceptance in the Linux/Unix world.
---
[Internet: source: http://en2.wikipedia.org/wiki/Guile]
---
---
Guile is an interpreter for the Scheme programming language, packaged
as a library which can be incorporated into your programs. Your users
have full access to the interpreter, so Guile itself can be extended,
based on the needs of the user. The result is a scripting language
tailored to your application.
---
Guile is a library designed to help programmers create flexible
applications. Using Guile in an application allows programmers to write
plug-ins, or modules (there are many names, but the concept is
essentially the same) and users to use them to have an application fit
their needs.
There is a long list of proven applications that employ extension
languages. Successful and long-lived examples in the free software
world are GNU Emacs and The GIMP.
Very popular examples of extending server applications are the Apache
projects Perl and PHP modules.
Extension languages allow users, programmers, and third-party
developers to add features to a program without having to re-write the
program as a whole, and it allows people extending a program to
co-operate with each other, without having to expend any extra effort.
---
[Internet: source: http://www.gnu.org/software/guile/guile.html]
---
---
GUILE- and GOOPS (The Guile Object-Oriented Programming System) are
very close in spirit to CLOS, but it is adapted from the SCHEME
language.
GUILE is the interpreter for the SCHEME language nicely packaged as a
library you can link to your programs.
Your program has full access to the interpreter's data structures, so
you can extend GUILE with your own primitives, datatypes, and syntax.
The result is a scripting language tailored to your applications.
The GOOPS extension gives the user a full OO system with multiple
inheritance and generic functions with multi-method dispatch.
The implementation relies on a true meta-object protocol, in the spirit
of the one defined for CLOS.
---
[Internet: source:
http://www.hypernews.org/HyperNews/get/computing/lang-list.html]
---
---
Internet: see also:
---
Project GNU's extension language
http://www.gnu.org/software/guile/guile.html
---
A question on Lisp, Scheme, Guile, eLisp
http://mail.gnome.org/archives/gnome-devel-list/2000-May/msg00194.html
---
directory: Google: Guile
http://directory.google.com/Top/Computers/Programming/Languages/Lisp/Sc
heme/Implementations/Guile/
----------------------------------------------------------------------