GNU Guile

from Wikipedia, the free encyclopedia
GNU Guile

GNU Guile logo.svg
Basic data

developer GNU project
Publishing year 1993
Current  version 3.0.3
(June 21, 2020)
operating system GNU , GNU / Linux , BSD , MS Windows (via MinGW or Cygwin )
programming language C.
category programming language
License GPL
gnu.org: guile

Guile , an acronym for GNU 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 Lisp dialect. The compiler infrastructure, libraries, and dynamic programming environment make Guile a powerful language for writing applications. Guile is implemented as a program library that can be incorporated into other programs to promote their expandability. Not all GNU projects support Guile yet; GIMP's scripting engine, for example, relies on the "competition" TinyScheme .

In the future, Guile will also support other scripting languages ​​such as Perl and PHP . However, it currently supports CTAX, a C-like language. One of the future goals of Guile is to be able to “translate” from any other language according to Scheme and to be able to generate portable bytecode from this ; Guile would then be a language-neutral 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 lie in a discussion started by Richard Stallman and later known as "the Tcl wars ": Stallman claimed that Tcl was not powerful enough to serve as an extension language. It was for this reason that he started the Guile Project. At that time the Scheme definition existed, but there was still no interpreter. Thus, with Guile, the first somewhat standard-compliant interpreter was created. Mention should be made of Tom Lord , one of the main programmers who was then employed at Cygnus Solutions (later Red Hat ).

The first versions were split off from SIOD (“Scheme in One Defun”) and the SCM interpreter before 1995 .

Properties of the Guile interpreter

The Guile interpreter adds the following capabilities to Scheme:

Unlike Scheme itself, Guile is case sensitive

Projects that use Guile

literature

  • Jim Blandy, "Guile: An Interpreter Core for Complete Applications," Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages , Peter H. Salus (Editor). 1998 (first edition), Macmillian Technical Publishing; ISBN 1-57870-011-6 , pp. 87-104.

Web links

credentials

  1. GNU's programming and extension language . (accessed on July 28, 2017).
  2. ^ Guile: An Interpreter Core for Complete Applications . S. 102 .
  3. GNU Guile 3.0.3 released. Retrieved June 23, 2020 (English).
  4. ^ The Tcl War. Accessed January 16, 2020 (English).
  5. ^ "Here is a very, very brief history of this interpreter. I hope that people involved in its past will contribute more to this document. SIOD: George Carrette wrote SIOD, the earliest version. Although most of this code as been rewritten or replaced over time, the garbage collector from SIOD is still an important part of Guile. SIOD is still actively developed and freely available (search for 'siod'). It has a very small footprint. ”-“ A very, very comprehensive history: I hope that people who have dealt with this topic in the future will read this document. SIOD: George Carrette wrote the first version of SIOD. Most of it has already been rewritten or replaced, but SIOD's garbage collector is still a major part of Guile. SIOD is also still being developed and is free. (Just search for 'siod'). It's very small. ”Guile Scheme 1995.
  6. SIOD ( Memento of the original dated April 6, 2007 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. . @1@ 2Template: Webachiv / IABot / www.cs.indiana.edu
  7. ^ "It's hard to determine just who designed Guile. A large share of the credit surely belongs to Aubrey Jaffer whose excellent Scheme interpreter, SCM, forms the core of the implementation. The module system was designed and built by Miles Bader ... ”-“ You can't really tell who designed Guile. However, Aubrey Jaffer made a major contribution with his very good scheme interpreter SCM, which later became the basis of the project. The modular system comes from Miles Bader. ”“ An Anatomy of Guile, The Interface to Tcl / Tk ”, 1995.
  8. Joel Brobecker: GDB 7.8 released! July 29, 2014, accessed July 30, 2014 .
  9. Paul Smith: GNU Make 4.0 released. October 9, 2013, accessed October 9, 2013 .