2009-01-16 4 views
16

Ich benutze Emacs, mit CLISP und Slime, und möchte in der Lage sein, Bilder auf dem Bildschirm zu zeichnen. Ich denke speziell über das Zeichnen von Graphen nach, aber alles, was mich in die Lage versetzen würde, grundlegende Formen zu zeichnen und sie zu manipulieren, würde mich in die Lage versetzen, mich zu beginnen.Wie bekomme ich eine gemeinsame Lisp-GUI in Windows?

Antwort

6

Ich glaube, ich habe festgestellt meine eigene Antwort. Clojure scheint alles zu haben, nach dem ich gesucht habe, nur weil ich jetzt alle Java-GUI-Elemente nativ in LISP verwenden kann. Es ist ein anderer LISP-Dialekt als das von mir verwendete Common-Lisp, scheint aber eine Menge Community-Unterstützung zu haben und integriert sich mit meiner Windows-Installation von Emacs entweder über SLIME oder über den Inferior-Lisp-Interpreter. Bisher war ich sehr beeindruckt.

Oh, ein Codebeispiel:

(. javax.swing.JOptionPane (showMessageDialog nil "Hello World")) 

Irgendwelche Vermutungen, was das bedeutet? :)

Bill Clementson Blog hat ziemlich viel auf Clojure, einschließlich einer Menge hilfreicher Beiträge zur Installation. Siehe hier: his posts on Clojure

9

Doug hat recht; CAPI wird gut funktionieren. Andere Dinge, die Sie können versuchen:

cltk: http://www.cliki.net/Lisp-Tk

Ich weiß, dass Allegro etwas für Windows-Programmierung hat auch, aber ich habe es nie versucht.

Was auch funktionieren kann, ist Zellen-gtk: http://common-lisp.net/project/cells-gtk/

Auch hier kann ich Ihnen nur sagen, dass es existiert, aber nicht, wie schlimm es ist, oder ob es wirklich funktioniert sogar ...

Ich kann nicht Kommentar auch auf die Qualität von http://www.cliki.net/GTK%20binding

Aber das ist meistens, was verfügbar ist.

Corman Lisp hat wahrscheinlich auch etwas für Windows-Programmierung zu bieten.

Wie auch immer, die Auswahl unter Windows ist relativ gering. Das können Sie haben wahrscheinlich das meiste Vertrauen in CAPI, die auch für die LispWorks IDE auf Windows, Linux, MacOS X und auf ganz wenige große Unices benutzt ...

Grüße

1

Clojure ist eine ausgezeichnete Lisp, und Swing ist ein solides (wenn nicht besonders visuell aufregend) Windowing Toolkit. Wenn Sie mehr fortgeschrittene Grafiken und/oder dabble mit Spiel-Programmierung möchten, können Sie , die eine allgemeine Grafik/Spiel-Bibliothek, die auf Swing sitzt und Ihnen Zugriff auf OpenGL und viele andere Sachen.

Ich habe die Clojure/Slick-Kombination als hervorragende Möglichkeit zur Explorativen Grafikprogrammierung gefunden, da Sie mit dem Grafikfenster direkt von der REPL interagieren können.

3

Für Ihre eigene (wie Sie sagten, grundlegende Formen) versuchen Lispbuilder-SDL oder eine der Cl-Cairo FFIs (es ist nur meine Vermutung, dass letztere mit MS Windows arbeiten, obwohl).

1

Es gibt cl-cairo2 - eine Bindung an Kairo Vektorzeichnung Bibliothek. Es kann verwendet werden, um verschiedene Bilder auf verschiedenen Oberflächen zu zeichnen. Es gibt eine cl-2d Bibliothek, die cl-cairo2 verwendet, um Diagramme zu zeichnen.

Und es gibt cl-gtk2 - eine Bindung an Gtk + -Bibliothek. Sie können Widgets erstellen, die mit cl-cairo2 (oder cl-2d) gezeichnet werden, die zeichnen, was Sie wollen.

3

Ich weiß, das ist ein alter Beitrag, aber so die Informationen sind hier für andere wie mich, die diesen Thread auf der Suche nach der gleichen Sache finden.

Diese Bibliothek für tk Bindings in Lisp häufig scheint ziemlich gut zu funktionieren. http://www.peter-herth.de/ltk/

0

CLISP Benutzer könnten die folgenden nützlich für ihre Grafikanwendungen finden:

cl-Vektoren ist eine reine Common Lisp -Bibliothek zu erstellen, zu transformieren und machen geglätteten Vektorpfade. Es kann mit ASDF-Install installiert werden. http://projects.tuxee.net/cl-vectors/

Vecto ist eine vereinfachte Schnittstelle zur leistungsstarken CL-VEKTOREN Vektor Rasterung Bibliothek .... die Ergebnisse kann zu einer PNG gespeichert werden ... Da Vecto und alle unterstützenden Bibliotheken sind vollständig geschrieben in Common Lisp, ohne abhängig von externen nicht-Lisp Bibliotheken, sollte es in jeder Common Lisp-Umgebung arbeiten. Vecto ist verfügbar unter einer BSD-ähnlichen Lizenz. Die aktuelle Version ist 1.4.3, veröffentlicht am 26. August 2009 http://www.xach.com/lisp/vecto/

Verwandte Themen