我正在使用带有 CLISP 和 Slime 的 Emacs,并且希望能够在屏幕上绘制图片。我特别考虑绘制图表,但任何能让我绘制基本形状并操纵它们的东西都可以让我开始。
8 回答
道格是对的;CAPI 可以正常工作。您可以尝试的其他事情:
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 最有信心,它用于 Windows、Linux、MacOS X 和相当多的大型 unice 上的 LispWorks IDE...
问候
我想我已经找到了自己的答案。Clojure似乎拥有我想要的一切,只是因为我现在可以在 LISP 中本地使用所有 Java GUI 项。它是与我使用的 Common-Lisp 不同的 LISP 方言,但似乎有很多社区支持,并且通过 SLIME 或通过 Inferior-Lisp 解释器与我的 Windows 安装的 Emacs 集成。到目前为止,我印象非常深刻。
哦,一个代码示例:
(. javax.swing.JOptionPane (showMessageDialog nil "Hello World"))
任何猜测这是做什么的?:)
Bill Clementson 的博客有很多关于 Clojure 的内容,包括很多关于安装它的有用帖子。见这里:他在 Clojure 上的帖子
您可以从 CLISP 切换到免费的 LispWorks 个人版并使用CAPI图形端口绘图 API。
或者您可以使用 Lisp 的Foreign Function Interface并使用适用于您的操作系统的图形工具包之一。
滚动你自己的(就像你说的,基本形状)尝试Lispbuilder-SDL或其中一个 cl-cairo FFI(不过我猜后者适用于 MS Windows)。
我知道这是一篇旧帖子,但是这里的信息是为像我这样发现这个线程正在寻找相同内容的其他人提供的。
这个在 common lisp 中用于 tk 绑定的库似乎工作得相当好。 http://www.peter-herth.de/ltk/
Clojure 是一个优秀的 Lisp,而 Swing 是一个可靠的(如果不是特别令人兴奋的)窗口工具包。如果您想做更高级的图形和/或涉足游戏编程,您可能需要查看Slick,这是一个通用图形/游戏库,位于 Swing 之上,可让您访问 OpenGL 和许多其他东西。
我发现 Clojure/Slick 组合是进行探索性图形编程的绝佳方式,因为您可以直接从 REPL 与图形窗口进行交互。
CLISP 用户可能会发现以下内容对他们的图形应用程序很有用:
cl-vectors 是一个纯 Common Lisp 库,用于创建、转换和渲染抗锯齿矢量路径。它可以使用 ASDF-Install 安装。 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/