【发布时间】:2015-06-30 12:47:09
【问题描述】:
我认为我的生日是尝试解决我的 Lisp 问题的好时机。
我从某人那里收到了一个用于运行实验的 Lisp 程序。它在他的 OS X 环境中运行良好。但是,我无法让它在 Windows 7 或 Ubuntu 上运行。该程序使用 Act-R 6.2 运行模型。当我尝试加载 .lisp 文件时,我收到以下错误:
:Reader error on #<BASIC-FILE-CHARACTER-INPUT-STREAM ("*path*"/28 UTF-8)#xCFAD1AE, near position 1048, within "smile* (#initWithCo":
Undefined character #\/ in a #\# dispatch macro.
While executing: CCL:SIGNAL-READER-ERROR, in process listener(1)
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 有关。
任何想法都将不胜感激。
【问题讨论】:
-
是的,
#/表示法是用于调用 Cocoa 的 CCL 特殊语法。我怀疑它在 MacOs 之外可用 -
@Vsevolod Dyomkin:它可以,但它会使用 Cocotron。曾经/正在尝试使用 Cocotron 在 Windows 上提供 CCL 的 GUI。 github.com/cjwl/cocotroncocotron.org
-
我会问作者代码是否应该在 Windows 或 Ubuntu 上运行,我对此表示怀疑。也许作者可以替换特定平台的代码?
标签: lisp common-lisp ccl reader-macro