如何在Windows中获得通用lisp GUI?

时间:2009-01-16 14:23:57

标签: windows graphics common-lisp slime

我正在使用带有CLISP和Slime的Emacs,并希望能够在屏幕上绘制图片。我特别考虑绘制图形,但任何能让我绘制基本形状并操纵它们的东西都能让我开始。

8 个答案:

答案 0 :(得分:9)

道格是对的; CAPI将正常工作。您可以尝试的其他事项:

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

我知道Allegro也有适合Windows编程的东西,但我从未尝试过。

还可以使用cells-gtk:http://common-lisp.net/project/cells-gtk/

同样,我只能告诉你它存在但不是多么糟糕,或者它是否真的有用......

我也不能评论质量 http://www.cliki.net/GTK%20binding

但这主要是可用的。

Corman Lisp也可能为Windows编程提供一些东西。

无论如何,Windows上的选择相对较少。您可能对CAPI最有信心,CAPI用于Windows,Linux,MacOS X上的LispWorks IDE以及很少的大型unice ......

此致

答案 1 :(得分:6)

我想我找到了自己的答案。 Clojure似乎拥有我正在寻找的一切,因为我现在可以在LISP中原生使用所有Java GUI项目。它与我使用的Common-Lisp是一种不同的LISP方言,但似乎有很多社区支持,并通过SLIME或通过Inferior-Lisp解释器与我的Windows安装Emacs集成。到目前为止,我印象非常深刻。

哦,代码示例:

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

有没有猜到这是什么? :)

比尔克莱门森的博客上有很多关于Clojure的博客,其中包括许多关于安装它的有用帖子。见这里:his posts on Clojure

答案 2 :(得分:3)

为了滚动你自己(就像你说的,基本形状)尝试Lispbuilder-SDL或其中一个cl-cairo FFI(我只是猜测后者可以与MS Windows一起工作)。

答案 3 :(得分:3)

我知道这是一篇很老的帖子,但是对于像我这样的其他人来说,这些信息就是在这里寻找同样的事情。

这个用于常见lisp中的tk绑定的库似乎运行得相当好。 http://www.peter-herth.de/ltk/

答案 4 :(得分:2)

您可以从CLISP切换到free LispWorks Personal Edition并使用CAPI图形端口绘图API。

或者您可以使用Lisp的Foreign Function Interface并使用适用于您的操作系统的图形工具包。

答案 5 :(得分:1)

Clojure是一个优秀的Lisp,而Swing是一个可靠的(如果不是特别令人兴奋的话)窗口工具包。如果你想做更高级的图形和/或涉及游戏编程你可能想看看Slick,这是一个位于Swing之上的通用图形/游戏库,让你可以访问OpenGL和批量其他的东西。

我发现Clojure / Slick组合是进行探索性图形编程的绝佳方式,因为您可以直接从REPL与图形窗口进行交互。

答案 6 :(得分:1)

cl-cairo2 - 与开罗矢量绘图库的绑定。它可用于在各种表面上绘制各种图片。有一个cl-2d库使用cl-cairo2绘制图表。

还有cl-gtk2 - 与Gtk +库的绑定。您可以创建使用cl-cairo2(或cl-2d)绘制的小部件,以绘制您想要的内容。

答案 7 :(得分:0)

CLISP用户可能会发现以下内容对他们的图形应用程序非常有用:

  

cl-vectors是一个纯粹的Common Lisp   库来创建,转换和   渲染抗锯齿矢量路径。   它可以使用安装   ASDF安装。   http://projects.tuxee.net/cl-vectors/

     

Vecto是一个简化的界面   强大的CL-VECTORS矢量   光栅化库....结果   可以保存到PNG ...自Vecto   和所有支持的图书馆   完全用Common Lisp编写,   不依赖外部非Lisp   图书馆,它应该适用于任何   Common Lisp环境。 Vecto是   在类似BSD的许可下可用。   当前版本是1.4.3,已发布   在2009年8月26日。   http://www.xach.com/lisp/vecto/