【问题标题】:Lisp loading error: undefined character in dispatch macroLisp 加载错误:调度宏中的未定义字符
【发布时间】: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


【解决方案1】:

这在 cmets 中得到了回答,但 #/ 是 CCL 语法,仅在 OS X 上可用。此代码预计不适用于 linux 或 windows。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 2013-12-08
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2017-05-02
    相关资源
    最近更新 更多