GUI-Toolkit für Common Lisp

Toll, mit wx Common Lisp gibt es endlich eine leicht benutzbare GUI-Bibliothek, die unter verschiedenen Common Lisp-Implementationen und Betriebssystemen funktioniert. [via Hugo]

Insbesondere freut mich, dass es jetzt unter Windows eine bequeme Möglichkeit gibt, Lisp-Anwendungen mit Fenstern zu versehen. Bislang gab es für Common Lisp unter Windows unterschiedliche Möglichkeiten, wobei jede irgendwie (subjektiv) suboptimal ist:

  • Man kann kostenpflichtige Lisp-Implementationen wie Allegro Common Lisp oder LispWorks benutzen. Als Nachteil (was natürlich kein genereller Nachteil ist) empfinde ich dabei das kostenpflichtig. Ich hatte zumindest niemals das Bedürfnis, über $500 für eine Programmiersprache auszugeben. Die Trial-Versionen sind zwar toll, aber technisch eingeschränkt.
  • Natürlich kann man sich selbst über das FFI (Foreign Function Interface) eine Anbindung an eine GUI-Bibliothek programmieren. Meine Versuche haben damit geendet, dass ich aus Zeitgründen und der Unlust, C-Code lesen zu müssen, einfach eine andere Programmiersprache benutzt habe. Schließlich habe ich ja Lisp benutzt, um nicht in C(++) zu programmieren
  • Man kann eine sprachenunabhängige Lösung wie den GTK-Server verwenden. Das funktioniert relativ problemlos, allerdings ist das Interface auf einer sehr niedrigen Abstraktionsebene angesiedelt. Außerdem finde ich das GTK-Toolkit unter Windows hässlich.
  • Relativ zufrieden war ich mit dem Lisp Toolkit (LTK), das mit dem Tk-Toolkit von Tcl/Tk über Streams kommuniziert. Allerdings ist die Kommunikation ein bisschen langsam, so dass man komplizierte GUI-Manipulationen besser gleich in Tcl/Tk programmiert. Aber vielleicht hat sich das ja geändert.
  • Man kann ganz auf Fenster verzichten, einen Mini-Webserver in Lisp aufsetzen, und die eigentliche Anwendung als CGI-Skript verpacken, welches dann auf dem lokalen Rechner läuft. Unabhängig von der Programmiersprache finde ich diese Lösung, in Zeiten von AJAX & Co, gar nicht so schlecht. Aber es ist ein bisschen umständlich, wenn man seine Lisp-Anwendung nur mal schnell mit einem graphischen Interface versehen will.
Ähnliche Artikel:

Mitreden