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
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
Sie können von CLISP zu free LispWorks Personal Edition wechseln und die Zeichen-API für Grafikkarten CAPI verwenden.
Oder Sie könnten Lisp Foreign Function Interface verwenden und eines der Grafik-Toolkits für Ihr Betriebssystem verwenden.
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
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.
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).
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.
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/
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/
- 1. Wie bekomme ich eine Sequenz in eine Windows-Workflow-Zustandsmaschine?
- 2. mitmproxy - Wie bekomme ich eine vollständige Ausgabedatei in Windows?
- 3. Wie bekomme ich Windows Benutzername in WPF
- 4. Wie bekomme ich Anwendungen in Windows?
- 5. Wie bekomme ich gemeinsame Zeilen zwischen zwei Dateien mit awk
- 6. Wie bekomme ich eine ipython Grafikkonsole unter Windows 7?
- 7. Wie bekomme ich Text-icu unter Windows?
- 8. Wie bekomme ich eine Bildschirmauflösung von Gerät (Windows Phone)
- 9. Wie bekomme ich Windows Batch-Elternordner
- 10. Wie bekomme ich Python-Dev für Windows?
- 11. Wie bekomme ich eine WPF Rich Textbox in eine Zeichenfolge
- 12. Woher bekomme ich Windows Build?
- 13. Wie bekomme ich die IP-Adresse vom Socket In Windows
- 14. Wie bekomme ich alle Steuerelemente eines Formulars in Windows Forms?
- 15. Wie bekomme ich die Z-Reihenfolge in Windows?
- 16. Wie bekomme ich IMEI-Nummer in Windows Mobile Web-Anwendung
- 17. Wie bekomme ich die NetworkCategory vor Windows 8 in PowerShell?
- 18. Wie bekomme ich die App-Version in Windows Phone?
- 19. Wie bekomme ich den Befehl pydoc in Windows?
- 20. Wie schreibe ich gemeinsame Validierungsfunktion in Android?
- 21. Wie bekomme ich eine Verzeichnisliste in Perl?
- 22. Wie bekomme ich eine Zufallszahl in Ruby
- 23. Wie bekomme ich eine Zufallszahl in JSTL?
- 24. Wie bekomme ich eine Echtzeituhr in C#?
- 25. Wie bekomme ich eine Zufallszahl in FactoryGirl?
- 26. Wie bekomme ich eine Unterliste in C#
- 27. Wie bekomme ich eine SUMME in Linq?
- 28. Wie bekomme ich eine Instanz-ID eines EC2-Windows-Rechners in eine Batch-Variable?
- 29. Wie bekomme ich eine Windows Azure Table Entity auf Windows Phone?
- 30. Wie bekomme ich den aktuellen Benutzernamen von Windows in silverlight?