CTAX

CTAX
GNU Guile
Entwickler: Free Software Foundation
Aktuelle Version: 1.8.6 [1]
(8. Dezember 2008)
Betriebssystem: GNU
Kategorie: Programmiersprache
Lizenz: GPL
gnu.org: guile

GNU-Guile (kurz Guile, selten Guile Scheme) ist ein Interpreter für die Programmiersprache Scheme, einem LISP-Dialekt. Guile ist als Programmbibliothek implementiert, die in andere Programme eingebunden werden kann, um deren Erweiterbarkeit zu fördern. Guile wurde mit dem Ziel geschaffen, als „offizielle“ Skript- und Erweiterungssprache des GNU-Projektes zu dienen, auch wenn noch längst nicht alle GNU-Projekte Guile unterstützen und der Script-FU von GIMP auf die „Konkurrenz“ TinyScheme setzt.

Der Guile-Interpreter erweitert Scheme unter anderem um folgende Fähigkeiten:

Es gibt auch noch zwei grundsätzliche Unterschiede zur Scheme Definition([Clinger]):

  • Guile ist case sensitive
  • eine leere Liste '() unterscheidet sich nicht von falsch #f

In Zukunft soll Guile auch andere Skriptsprachen wie Perl und PHP unterstützen. Zur Zeit wird jedoch CTAX unterstützt, eine C-ähnliche Sprache. Eines der zukünftigen Ziele von Guile ist es, aus jeder beliebigen anderen Sprache nach Scheme „übersetzen“ und aus diesen portablen Bytecode erzeugen zu können; Guile wäre dann eine sprachneutrale Laufzeitumgebung.

Guile unterstützt XML, XPath, und XSLT, die Forms von SXML, SXPath und SXSLT. Die S-expression-basierte XML Verarbeitung wird ebenfalls unterstützt.

Inhaltsverzeichnis

Programme, die Guile unterstützen

Geschichte

Die Ursprünge von Guile liegen in einer Diskussion, die von Richard Stallman gestartet wurde und die später unter dem Namen „the Tcl Wars“ bekannt geworden ist: Stallman behauptete, dass Tcl nicht leistungsfähig genug sei, um als Erweiterungsprache zu dienen. Aus diesem Grund startete er das Guile Projekt.[2] Damals existierte zwar die Scheme-Definition, aber es gab noch keinen Interpreter, so wurde mit Guile der erste einigermaßen standardkonforme Interpreter geschaffen. Zu nennen ist Tom Lord, einer der Hauptprogrammierer der damals bei Cygnus Solutions (später Red Hat) beschäftigt war.

Die ersten Versionen wurden vor 1995[3] von SIOD („Scheme In One Day“[4]) und dem SCM-Interpreter[5] abgespaltet.

Referenzen

  1. FSF. (8.12.2008) What's the latest news?
  2. Tcl war
  3. „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.“ – „Eine sehr, sehr zusammenfassende Historie: Ich hoffe dass Leute, die sich mit diesem Thema in Zukunft auseinandersetzten dieses Dokument lesen. SIOD: George Carrette schrieb die erste von SIOD. Der größte Teil wurde bereits neu geschrieben oder ersetzt, aber der garbage collector von SIOD ist immer noch ein Hauptbestandteil von Guile. SIOD wird auch immer noch weiterentwickelt und ist frei. (Suchen sie einfach nach ‚siod‘). Es ist sehr klein.“ Guile Scheme 1995.
  4. SIOD.
  5. „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…“ – „Wer Guile entworfen hat, lässt sich eigentlich nicht sagen. Allerdings hat Aubrey Jaffer mit seinem sehr guten Scheme-Interpreter SCM, der später zur Basis der Projektes wurde, einen großen Beitrag geleistet. Das Modulsystem stammt von Miles Bader.“ „An Anatomy of Guile, The Interface to Tcl/Tk“, 1995

Weblinks

Literatur

  • Jim Blandy, „Guile: An Interpreter Core for Complete Applications“, Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages, Peter H. Salus (Herausgeber). 1998 (erste Auflage), Macmillian Technical Publishing; ISBN 1-57870-011-6, S. 87–104.

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Council Tax — Taxation An aspect of fiscal policy …   Wikipedia

  • Metropolitan Borough of Oldham — For the settlement, see Oldham. Metropolitan Borough of Oldham   Metropolitan borough   Oldham Civic Centre …   Wikipedia

  • Randy Cohen — is a U.S. writer and humorist best known as the author of The Ethicist column in The New York Times Magazine . Cohen s column is syndicated throughout the U.S. and Canada; he also answers listeners questions on ethics on the National Public Radio …   Wikipedia

  • Oberviechtach — Oberviechtach …   Wikipedia

  • Local government in Peterborough — The City of Peterborough in the East of England [The nine Government Office regions formed in 1994, were adopted in place of the eight standard statistical regions in 1999. East Anglia is now defined as Level 2 Nomenclature of Territorial Units… …   Wikipedia

  • Madagupatti — Infobox Indian Jurisdiction native name = Madagupatti | type = village latd = 9.87 | longd = 78.48 locator position = right | state name = Tamil Nadu district = Sivaganga leader title = leader name = altitude = population as of = population total …   Wikipedia

  • List of sports writers — The following is a list of sports writers.Historical sportswriters* Henry Chadwick * George W. Daley * Dan Daniel * Pierce Egan * Halsey Hall * W. C. Heinz * Leonard Koppett * Ring Lardner * Tim Murnane * Jim Murray * Shirley Povich * Grantland… …   Wikipedia

  • GNU Guile — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Gnu Guile — Entwickler: Free Software Foundation Aktuelle Version: 1.8.6 [1] …   Deutsch Wikipedia

  • Guile — GNU Guile Entwickler: Free Software Foundation Aktuelle Version: 1.8.6 [1] …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”