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 – vor allem C- und C++-Programme – eingebunden werden kann, um deren Erweiterbarkeit zu fördern.
GNU Guile
| |
---|---|
Basisdaten
| |
Hauptentwickler | Andy Wingo, Ludovic Courtès |
Entwickler | GNU-Projekt[1] |
Erscheinungsjahr | 1993[2] |
Aktuelle Version | 3.0.10[3] (23. Juni 2024) |
Betriebssystem | GNU, GNU/Linux, BSD, MS Windows (via MinGW oder Cygwin) |
Programmiersprache | C |
Kategorie | Programmiersprache |
Lizenz | GPL |
gnu.org: guile |
Geschichte
BearbeitenDie Ursprünge von Guile liegen in einer Diskussion, die von Richard Stallman angefangen wurde und die später unter dem Namen „Tcl-Wars“ bekannt geworden ist: Stallman behauptete, dass Tcl nicht leistungsfähig genug sei, um als Erweiterungssprache zu dienen und kündigte die Absicht der Free Software Foundation an, Guile als Erweiterungssprache für das GNU-Projekt zu fördern. Es ist hingegen ein weit verbreitetes Missverständnis, dass Guile als Reaktion auf Tcl geschaffen wurde. Zwar geschah die öffentliche Ankündigung von Guile zur gleichen Zeit wie die „Tcl-Wars“, aber Guile wurde aus einem Zustand heraus geschaffen, der außerhalb der Polemik existierte. Eine gute Einführung in die Entstehungsgeschichte zu GNU Guile findet sich im Reference Manual zu Guile.
Eigenschaften des Guile-Interpreters
BearbeitenDer Guile-Interpreter erweitert Scheme unter anderem um folgende Fähigkeiten:
- Ein erweitertes Modulsystem
- Vollen Zugriff auf POSIX-Systemaufrufe
- Netzwerkunterstützung
- Multithreading
- Dynamisches Linken
- Eine Schnittstelle zur Ausführung Scheme-fremder Funktionsaufrufe
- Verbesserte Verarbeitung von Zeichenketten
- Objektorientierung durch das Modul goops, ähnlich zum Common Lisp Object System
Anders als Scheme selbst ist Guile case sensitive.
Projekte, die Guile einsetzen
Bearbeiten- gEDA
- GNU Anubis
- GnuCash
- GNU Debugger (gdb) – von Version 7.8 an[4]
- GNU Make – von Version 4.0 an[5]
- GNU MDK
- GNU Robots
- GNU Serveez
- GNU TeXmacs
- GnoTime
- LilyPond
- Scwm
- Taxbird
- GNU Guix und GNU Guix System
Literatur
Bearbeiten- 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
BearbeitenEinzelnachweise
Bearbeiten- ↑ GNU's programming and extension language. (abgerufen am 28. Juli 2017).
- ↑ Guile: An Interpreter Core for Complete Applications. In: Handbook of Programming Languages. S. 102.
- ↑ Andy Wingo: GNU Guile 3.0.10 released. 23. Juni 2024 (englisch, abgerufen am 24. Juni 2024).
- ↑ Joel Brobecker: GDB 7.8 released! 29. Juli 2014, abgerufen am 30. Juli 2014.
- ↑ Paul Smith: GNU Make 4.0 released. 9. Oktober 2013, abgerufen am 9. Oktober 2013.