问题标签 [ccl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 尽管有 sudo 权限,但编译 Clozure CL 的权限错误
我通过 subversion 查看了 Clozure Common Lisp 1.10 以获取我的 raspian raspberry pi。当我尝试运行 armcl 时,出现“未找到 GLIBC_2.15”错误。我用apt-get安装了最新版本的m4,1.4.16-3。我按照 Clozure 的说明构建 lisp 内核, http: //ccl.clozure.com/install.html
这个权限错误是意外的,因为我在这台机器上有 sudo 权限。可能出了什么问题?
common-lisp - Clozure CL 中长时间运行的应用程序的应用程序交付
Application Delivery 的所有基本示例都展示了如何用您自己的函数替换顶层函数。一旦该功能完成,应用程序就会退出。我想知道为长时间运行的应用程序创建顶级函数的最佳方法是什么。我的代码是
有没有更好的办法?我不喜欢循环,但释放终端的东西也可以。
build - 无法在 OS X 10.10 Yosemite 上使用 Clozure CL 编译为本机可执行文件
我创建了一个简单的 hello world (hello.lisp) ,代码:
, 用于测试 CCL 的本机可执行编译的程序。我继续从 CCL GUI 编译和加载缓冲区(使用 Clozure Common Lisp 版本 1.10-store-r16266 (DarwinX8664))。
当我测试它时:
它找到了主要功能。当我继续用: 编译它时 (save-application "/tmp/h" :toplevel-function #'main :prepend-kernel t)
,它继续操作并且 CCL 退出。
该文件已创建,约为 56MB。当我尝试运行它时,虽然我得到以下输出:
错误:没有适用于通用函数的方法:# 使用参数调用时:(# :NOTE-CURRENT-PACKAGE #) 执行时:#,在进程 toplevel(6) 中。错误:通用函数没有适用的方法:# 使用参数调用时:(# :BREAK-OPTIONS-STRING T) 执行时:#,在进程 toplevel(6) 中。错误:通用函数没有适用的方法:# 使用参数调用时:(# :BREAK-OPTIONS-STRING T) 执行时:#,在进程 toplevel(6) 中。错误:泛型函数没有适用的方法:# 使用参数调用时:
并且错误继续。我做错了什么?它是一个错误吗?
谢谢
emacs - Common Lisp:如何让(包内...)在 Emacs Slime 中工作
64 位 Windows 7
Clozure Common Lisp 版本 1.9 WindowsX8632
Emacs 24.3.1
Slime 更新日志日期 2014-06-17
我有一个示例 .lisp 文件,其开头如下:
程序的其余部分显示一个对话框。当我从命令行运行它时,wx86cl -load helloqt.lisp
它似乎工作正常。当我从 Emacs Slime ( C-x C-k
) 运行它时,它说没有包“QT”。C-x C-e
但是,如果我首先单独评估第一行(
如何制作它,以便我可以从 emacs 编译/运行文件,而不必先手动评估第一行?
另外,为什么不在(in-package ...)
Slime 会话中更改当前包?如果我想与包内容交互,我必须手动更改它。
python - 如何将 Lisp 程序的输出转换为 Python?
我有一个非常大的 Lisp 项目,我想以编程方式将其输出传递给 Python 程序,即使用 Python 在某些输入上调用 Lisp 程序并将输出返回到 Python。
该项目仅在 Clozure Common Lisp (ccl64) 中编译,我确实尝试找到一种方法将其转换为可执行文件(我使用的是 Mac OS X),但这遇到了很多死胡同(我不是 Lisp程序员)。
Clozure Common Lisp 的文档应该提供上述解决方案,但我无法理解它。我制作的示例创建了一个文件,但终端不会将它们作为可执行文件运行。
我试图按照这个问题的答案将 Common Lisp 编译为可执行文件,除了使用 ccl64 的保存应用程序功能。
我正在尝试使用 Python 的子进程来调用 ccl64,运行 Lisp 程序并获取输出。但是,子进程由于某种原因拒绝运行 ccl64 命令。这是我到目前为止写的:
该变量out
应包含从 ccl64 获取使用/帮助的输出。相反,我得到一个错误:
如何让 Python 调用 ccl64 并从 Lisp 项目中获取输出?
lisp - Retrieving (load)ed source code from CCL?
I called (load "code.lisp")
with CCL, then accidentally deleted code.lisp. Is there any way for me to retrieve the source code? Does CCL have it in memory anywhere?
lisp - Lisp 加载错误:调度宏中的未定义字符
我决定我的生日是尝试解决我的 Lisp 问题的好时机。
我从某人那里收到了一个 Lisp 程序来运行一个实验。它在他的 OS X 环境中运行良好。但是,我无法让它在 Windows 7 或 Ubuntu 上运行。该程序使用 Act-R 6.2 运行模型。当我尝试加载 .lisp 文件时,我收到以下错误:
Windows 7 和 Ubuntu 的错误完全相同。如果需要,这是控制台输出:
http://i.stack.imgur.com/dFXVm.png
似乎 load-turing-application.lisp 加载了多个其他文件,其中一个是 turing-application-v1.lisp,其中的行(setf *smile* (#/initWithContentsOfFile: (#/alloc ns:ns-image)(ccl::%make-nsstring "smiley.jpg")))
似乎是罪魁祸首。我怀疑它与 #/-notation 有关。
任何想法,将不胜感激。
common-lisp - 获取带有损坏的符号链接的目录中的目录条目列表
我在 OS X Yosemite 上使用 CCL。
当我使用例如
在目录中
用于列出所有目录条目,但/Users/Tom
包含损坏的符号链接(例如slime
,链接到的目录不再存在),
被抛出。
有没有办法在符号链接损坏的目录中获取目录条目列表?
sockets - 通用 Lisp 套接字
具体使用 ccl,我试图在同一个程序中设置两个套接字作为 fifo 数据结构。
为此,我一直在站着测试代码来锻炼我对 api 的理解,现在我遇到了一个我无法弄清楚的问题。下面的代码snipped设置了两个socket,一个listen,一个连接listen,并在listen socket上接受连接(accept调用在返回之前等待一个连接进来,这就是我在这种情况下想要的) ,之后我们写入一个套接字并从另一个套接字读取。代码挂起,我不知道为什么(我认为是因为套接字没有连接)。
编码:
common-lisp - 通过 Clozure CL 与 Windows API 交互
我想通过 Clozure CL 的外部函数接口调用 Windows API 函数,但我遇到了一些问题,因为我能够找到的文档相当稀缺。
作为一个足够丰富的例子,我试图调用SHGetKnownFolderPath。它的签名是
获取入口点
我可以使用以下内容来获取函数的入口点:
获取/设置正确的方法签名
这是我认为调用它的一般步骤,但我不确定每个步骤如何:
- 检索 CCL 为该函数生成的签名,以便我知道如何调用它。
- 使用
external-call
. - 定义一个 FFI 结构或类来保存
GUID
(第一个参数)viadef-foreign-type
或相关构造。 - 调用后,使用
CoTaskMemFree
释放 指向的内存*ppszPath
。
猜测最终代码的形式
我对最终代码的一般形式的猜测是
在 C/FFI 和 Lisp 之间仍有各种未知函数和函数调用进行转换。
附录
我对 Windows API 非常熟悉,并且已经完成了其他语言的 Win32 API 调用。我还设法让这个在 CLisp 中工作,在某种程度上,因为我遇到了 Windows 中 CLisp 的 Unicode 支持不佳的问题(我最终只得到了路径的第一个字符,因为 CLisp 读取 UTF-16 字符串作为ASCII)。
我坚持的一点是 CCL 中有什么功能可以完成这项工作。任何在正确方向上的帮助将不胜感激。