GNU Guile

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. Juli 2017 um 09:11 Uhr durch Querfe1d (Diskussion | Beiträge) (verschoben nach 'Freies Programmierwerkzeug'). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
GNU Guile

Basisdaten

Maintainer Marius Vollmer[1], Andy Wingo, Ludovic Courtès
Entwickler GNU-Projekt[2]
Erscheinungsjahr 1993[3]
Aktuelle Version 2.2.2
(21. April 2017[4])
Betriebssystem GNU, GNU/Linux, BSD, MS Windows (via MinGW oder Cygwin)
Programmier­sprache C
Kategorie Programmiersprache
Lizenz GPL
gnu.org: guile

Guile, ein Akronym für GNU Ubiquitous Intelligent Language for Extensions, ist die offizielle Erweiterungssprache für das Betriebssystem GNU und wird im Rahmen des Gnu-Projekts entwickelt. Guile ist ein Interpreter für die Programmiersprache Scheme, einen Lisp-Dialekt. Die Compiler-Infrastruktur, Bibliotheken und dynamische Programmierumgebung machen Guile zu einer mächtigen Sprache zum Schreiben von Anwendungen. Guile wird als Programmbibliothek implementiert, die in andere Programme eingebunden werden kann, um deren Erweiterbarkeit zu fördern. Noch längst nicht alle GNU-Projekte unterstützen Guile, GIMPs Scripting-Engine etwa setzt auf die „Konkurrenz“ TinyScheme.

In Zukunft soll Guile auch andere Skriptsprachen wie Perl und PHP unterstützen. Zurzeit 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.

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.[5] 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[6] von SIOD („Scheme in One Defun“[7]) und dem SCM-Interpreter[8] abgespalten.

Eigenschaften des Guile-Interpreters

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

Anders als Scheme selbst ist Guile case sensitive

Projekte, die Guile einsetzen

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.

Weblinks

Referenzen

  1. www.emacswiki.org. (abgerufen am 30. Januar 2021).
  2. GNU's programming and extension language. (abgerufen am 28. Juli 2017).
  3. Guile: An Interpreter Core for Complete Applications. S. 102.
  4. GNU Guile 2.2.2 released
  5. Tcl war
  6. „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 Version 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.
  7. SIOD.
  8. „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
  9. Joel Brobecker: GDB 7.8 released! 29. Juli 2014, abgerufen am 30. Juli 2014.
  10. Paul Smith: GNU Make 4.0 released. 9. Oktober 2013, abgerufen am 9. Oktober 2013.