Как получить графический интерфейс common-lisp в Windows?

Я использую Emacs, с CLISP и слизью, и хочу иметь возможность рисовать изображения на экране. Я специально думаю о рисовании графиков, но все, что позволит мне рисовать основные фигуры и манипулировать ими, сможет заставить меня начать.

8 ответов


Дуг прав; капи будет работать нормально. Другие вещи, которые вы можете попробовать:

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

Я знаю, что у Allegro есть что-то для программирования Windows, но я никогда не пробовал.

что также может работать, это ячейки-gtk:http://common-lisp.net/project/cells-gtk/

опять же, я могу только сказать вам, что он существует, но не насколько он плох или действительно ли он работает...

Я не могу прокомментируйте также качество http://www.cliki.net/GTK%20binding

но это в основном то, что доступно.

Corman Lisp, вероятно, также может предложить что-то для программирования Windows.

в любом случае, выбор в Windows относительно тонкий. Вы, вероятно, можете иметь наибольшее доверие к CAPI, который используется для IDE LispWorks на Windows, Linux, MacOS X и на довольно немногих больших юнисах...

в отношении


Я думаю, что нашел свой собственный ответ. Clojure кажется, есть все, что я искал, просто потому, что теперь я могу использовать все элементы JAVA GUI изначально в LISP. Это другой диалект LISP, чем общий Lisp, который я использовал, но, похоже, имеет большую поддержку сообщества и интегрируется с моей установкой Windows Emacs либо через слизь, либо через интерпретатор Нижнего Lisp. До сих пор я был очень впечатлен.

о, код пример:

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

есть предположения, что это? :)

блог Билла Клементсона имеет довольно много на Clojure, в том числе много полезных сообщений по его установке. Смотрите здесь: его посты на Clojure


для прокатки собственных (как вы сказали, основных форм) попробуйте Lispbuilder-SDL или один из CL-cairo FFIs (это просто мое предположение, что последний работает с MS Windows, хотя).


Я знаю, что это старый пост, но поэтому информация здесь для других, как я, которые находят эту тему ищет то же самое.

эта библиотека для Привязок tk в common lisp, похоже, работает довольно хорошо. http://www.peter-herth.de/ltk/


вы можете переключиться с CLISP на бесплатная личная версия LispWorks и с помощью капи API рисования графических портов.

или вы могли бы использовать Lisp в Интерфейс Внешней Функции и используйте один из графических наборов инструментов, доступных для вашей ОС.


Clojure-отличная шепелявость, а Swing-сплошной (если не особенно визуально захватывающий) оконный инструментарий. Если вы хотите сделать более продвинутую графику и / или баловаться с игровым программированием, вы можете проверить пятно, который представляет собой библиотеку графики/игры общего назначения, которая находится поверх Swing и дает вам доступ к OpenGL и многим другим вещам.

Я нашел комбинацию Clojure/Slick отличным способом сделать исследовательское графическое программирование, как вы можете взаимодействовать с графическим окном непосредственно из REPL.


здесь cl-cairo2 - привязка к библиотеке векторного рисования Каира. Его можно использовать для того чтобы нарисовать различные изображения на различных поверхностях. Есть cl-2d библиотека, которая использует cl-cairo2 для рисования диаграмм.

и КЛ-комплекта библиотек GTK2 - привязка к библиотеке Gtk+. Вы можете создавать виджеты, которые рисуются с помощью cl-cairo2 (или cl-2d), которые рисуют то, что вы хотите.


пользователи CLISP могут найти следующие полезные для своих графических приложений:

CL-vectors является чистым общим Lisp библиотека для создания, преобразования и отрисовки сглаженных векторных путей. Его можно установить используя ASDF-установить. http://projects.tuxee.net/cl-vectors/

Vecto упрощенный интерфейс мощный CL-вектор векторов библиотека растеризации....результат можно сохранить в PNG ... С Vecto и все поддерживающие библиотеки написано полностью в Common Lisp, без зависимости от внешнего Non-Lisp библиотеки, он должен работать в любом Общая среда Лиспа. Vecto это доступна под BSD-подобной лицензией. Текущая версия 1.4.3, выпущенной 26 августа 2009 года. http://www.xach.com/lisp/vecto/