GNU Guile

Guile, an acronym for GNU's Ubiquitous Intelligent Language for Extensions, is the official extension language for the GNU operating system and is being developed as part of the GNU Project. Guile is an interpreter for the Scheme programming language, a dialect of LISP. The compiler infrastructure, libraries and dynamic programming environment make Guile a powerful language for writing applications. Guile is implemented as a library that can be integrated into other programs to encourage their expansion. Still, not all GNU projects support Guile and scripts -FU GIMP is [ still ] on the "competition " tinyscheme.

In the future, Guile will also support other scripting languages ​​such as Perl and PHP. At present, however CTAX is supported, a C-like language. One of the future goals of Guile is, according to Scheme " translate" from any other language and be able to produce from these portable bytecode; Guile would be a language-independent runtime environment.

Guile supports XML, XPath, and XSLT, the Forms of SXML, sXPath and SXSLT. The S -expression - based XML processing is also supported.

History

The origins of Guile are in a discussion that was started by Richard Stallman and who subsequently became known as "the Tcl wars": Stallman claimed that Tcl was not powerful enough to serve as an extension language. For this reason he started the Guile project. Although that time existed the Scheme definition, but there was no interpreter, it was created with Guile, the first reasonably standards-compliant interpreter. At the very Lord Tom, one of the main programmer (later Red Hat ) was then employed at Cygnus Solutions.

The first versions were cleaved prior to 1995 by SIOD ( " Scheme in One Defun " ) and the SCM interpreter.

Properties of the Guile interpreter

The Guile interpreter extended Scheme, inter alia, the following skills:

  • An advanced module system
  • Full access to POSIX system calls
  • Network support
  • Multithreading
  • Dynamic linking
  • An interface for executing Scheme of foreign function calls
  • Improved handling of strings
  • Object orientation through the goops module, similar to the Common Lisp Object System

There are also two fundamental differences to the Scheme definition ( [ Clinger ] ):

  • Guile is case sensitive

Programs which support Guile

  • GEDA
  • GNU Anubis
  • GnuCash
  • GNU Make
  • GNU MDK
  • GNU Robots
  • GNU Serveez
  • GNU TeXmacs
  • GnoTime
  • Lilypond
  • Scwm
  • Taxbird
208775
de