gpt4 book ai didi

configuration - 如何使用 Clozure Common Lisp 创建应用程序(在 Microsoft Windows 上)

转载 作者:行者123 更新时间:2023-12-04 06:00:15 26 4
gpt4 key购买 nike

我是Common Lisp的新手(在Microsoft Windows下使用Clozure Common Lisp),之前熟悉c和python。所以也许这里的问题很愚蠢,但请耐心给我一些帮助。

1) What's is the usual way to run a common lisp script?



现在,我在windows下写了一个bat文件来调用ccl exe(wx86cl.exe)并求值 (progn (load "my_script_full_path") (ccl:quit))每次我想“运行”我的脚本时。这是为普通 lisp“运行”脚本的标准方法吗?
关于这个还有其他建议吗?

2) What's the difference between (require 'cxml) and (asdf:operate 'asdf:load-op :cxml)?



它们似乎与我的脚本相同,我应该使用哪一个?

3) ignore it, not a clear question

4) When I want to load some library (such as require 'cxml), it always takes time(3s or even 5s) to load cxml every time when I "run" my script, there is also much log to standard output I show below, it seems like checking something internal. Does it means I have to spent 3-5s to load cxml every time when I want to run a simple test? It seems like a little inefficient and the output is noisy. Any suggestion?



我的脚本 (require 'cxml) (some-code-using-cxml)
和输出 ; Loading system definition from D:/_play_/lispbox-0.7/quicklisp/dists/quicklisp/software/cxml-20101107-git/cxml.asd into #<Package "ASDF0">

;;; Checking for wide character support... yes, using code points.

; Registering #<SYSTEM "cxml-xml">

......

some my script output

---编辑添加更多---

5) I must say that I almost forget the way of dumping image to accelerate the loading speed of lisp library. So, what is the normal process for us to develop a (maybe very simple) lisp script?



根据我现在得到的答案,我想也许
a) 编辑你的脚本
b) 通过 REPL 环境测试,SLIME 是一个非常好的选择,并且 a <==> b 之间应该有很多循环
c)转储图像以分发它?(我不确定)

6) Furthermore, what is the common way/form for us to release/distribute the final program?



对于 lisp 库,我们只是发布我们的源代码,让其他人可以“加载/需要”它们。
对于 lisp 程序,当我们确认所有功能都运行良好时,我们会转储一个图像来分发它。
我对吗?

我们在实际产品中使用什么形式?我们是否总是在最终将所有内容转储到图像中以加快加载速度?

最佳答案

1) 是的,运行整个程序的正常方法是使用启动程序脚本。然而,如今的 Windows 拥有比 bat 解释器更好的脚本支持。 Windows Scripting Host 和 PowerShell 作为标准提供。

1a) 在开发过程中,通常只是在 REPL(Read-Eval-Print-Loop,即 lisp 命令行)中输入内容,或者使用 SLIME(用于 emacs 或 xemacs)之类的东西作为开发环境。如果您不知道它们是什么,请查找它们。您可能希望使用 Cygwin 安装 xemacs,这将使您能够访问一系列 linux-ish 工具。

2)要求是,IIRC,标准的一部分。 ASDF 在技术上不是,它是一个使库工作更方便的库。如果您真的开始编写大型 Lisp 程序,ASDF 有很多您最终会想要的功能。

3)问题不清楚,通过。

4) 参见 1a) - 在正在运行的实例中进行测试和修改,从而避免多次加载库的需要(就像在 Python 中一样 - 你找到了 python repl,对吧?)。此外,当您的程序完成时,您可能可以转储一个预加载了所有库的图像。

编辑:其他答案:

5) 是的

6) 转储镜像后,您仍然需要分发 lisp 二进制文件来加载内存镜像。为了使这对用户透明,您还必须有一个加载程序脚本(或二进制文件)来运行带有图像的 lisp 二进制文件。

关于configuration - 如何使用 Clozure Common Lisp 创建应用程序(在 Microsoft Windows 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com