问题标签 [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.

0 投票
0 回答
305 浏览

cocoa - 仅在 OSX 10.8.3 上打开沙盒可可应用程序窗口时出现奇怪的崩溃

这个很奇怪。我最近在我的开发机器上升级到了 Mountain Lion,现在每次我打开我的应用程序的主项目窗口时它都会崩溃。奇怪的是,它只发生在 10.8.3 上,而且只有在我对应用程序进行沙箱处理时才会发生。我有另一台运行 10.8.2(也是 Mountain Lion)的测试机器并且没有发生崩溃。此外,如果我在没有沙盒的情况下重新创建应用程序,它不会崩溃。这个应用程序实际上是用一个 common lisp 实现创建的,它使用一个名为 CCL 的可可桥。

以下是我在应用程序崩溃时在控制台中收到的一些报告:

和大痕迹:

最后:

我对这一切感到非常困惑,我想知道 10.8.3 中与沙盒交互不好的地方会发生什么变化?

0 投票
1 回答
369 浏览

string - 在 common lisp 中测试非标准 ascii 字符

我需要测试一个字符串,看看它是否包含任何代码高于十进制 127(扩展 ASCII 代码)或低于 32 的字符。有什么非常好的方法可以做到这一点,或者我只需要遍历整个字符串和比较字符的字符代码?我正在使用常见的 lisp 实现 CCL。

0 投票
1 回答
219 浏览

cocoa - NSMatrix 在 NSTextFieldCell 原型上调用 NSFormCell 的方法

我创建了一个以 NSTextFieldCell 作为原型的 NSMatrix。但是当视图被添加到窗口并被绘制时,我得到了这个错误:

为什么 Cocoa 在 NSTextFieldCell 原型上调用 setTitleWidth:?setTitleWidth: 是一个 NSFormCell 方法,而不是一个 NSTextFieldCell 方法。

如果我将该原型子类化并为 setTitleWidth: 和 titleWidth: 添加虚拟方法,那么一切正常,但这肯定是一个 hack。

有什么想法吗?以下是工作代码的相关部分:

0 投票
2 回答
249 浏览

lisp - lambda 可以有文档字符串吗?

我知道它def*可以有文档字符串,所以我只是尝试一下 lambdas。

令人尴尬的是,以下返回 NIL。

怎么了?lambdas 不能有文档字符串吗?有没有办法做到这一点?

0 投票
2 回答
352 浏览

locking - lisp,CLOS:向锁类添加一个槽

我正在尝试向锁类添加一个新插槽。这很有用,因为我在层次结构中有很多锁,如果我为每个锁存储父锁,则在调试时更容易检测问题。

不幸的是,这显然不能用 ensure-class 函数来完成。我可以将插槽添加到“进程”,但不能添加到“锁定”,因为它被列为内置类。请参阅我之前的问题,了解如何为“进程: lisp,CLOS:向进程类添加插槽”

你知道如何解决这个问题吗?如果不可能,我能想到的唯一选择是将锁的层次关系存储在哈希表中,但是由于某些锁是在运行时和不同进程中创建的,所以我必须再添加一个锁访问在锁上存储元数据的哈希表。

这让我觉得效率非常低。你有更好的主意吗?

编辑:为澄清起见,我使用的是 Clozure Common Lisp。

0 投票
1 回答
376 浏览

windows - clozure cl:Windows 7 上的 cl-freetype2

我正在使用安装了 quicklisp 的 clozure cl(版本 1.8-r15286m)在 Windows 7 64 位系统上工作。

我需要一些用于普通 lisp 的 freetype2 绑定。(将字符映射到字形 + 字距调整信息)

我尝试使用安装“cl-freetype2”

从 32bit clozure cl 开始,我遇到了几个问题。

  1. quicklisp/software/cffi_0.11.1/grovel/grovel.lisp“ grovel.lisp ”(位于 通过将“grovel.lisp”中的“c:/msys/1.0/bin/gcc.exe”替换为“gcc”来修复。
  2. 当尝试为 freetype2 编译 cffi 绑定时,在将包含目录传递给编译器时,同一文件不包含驱动器号(即,而不是-i"d:/somedir"传递-i"/somedir"给 gcc`)。
  3. “grovel.lisp”试图包含 unix 包含目录。

我自己无法修复#2。我找到了这个讨论,尝试了两个列出的补丁,但它们都不起作用。(第一个破坏了 cffi,因为 ccl 既找不到“namestring-prefix”函数也找不到“pathname-prefix”函数),第二个没有解决问题。

在这种情况下我能做什么?我宁愿避免自己修复“groveller”,我只需要一些freetype2的绑定。基本上,我需要能够

  1. 加载 truetype 字体。
  2. 将 unicode char 映射到字形。
  3. 获取一对字形的字距调整信息。
  4. 加载字形位图。

有任何想法吗?

0 投票
2 回答
312 浏览

common-lisp - cffi/外部类型的推荐命名约定

在 common lisp 中,是否有推荐的外部类型命名约定?(和一般类型)?例如:

在此示例defcstruct Point中对应于 C/C++ 类型struct Point{int32 x, y;};glyph-index-t对应于typedef uint32 GlyphIndex;并且font-ptr-tstruct Font*

我不确定我是否应该简单地-t为所有内容添加后缀(就像我对 所做的那样glyph-index-t),使解释器区分大小写(所以我可以使用大写来指示类型,就像在 C++ 中一样,这可能是一个坏主意),或者是否有是其他一些传统的方法。有什么建议吗?

0 投票
1 回答
2938 浏览

common-lisp - common lisp:defstruct 结构的槽值

在常见的 lisp 中,我可以使用什么来使用插槽名称/符号访问结构插槽?

我想要的是

我正在使用 clozure cl,并且在 clozure cl 中这有效。但是,AFAIK 这是非标准行为(相当于“未定义行为”C++)。我不打算切换到另一个 CL 实现,所以我应该继续使用 slot-valuefor 结构,还是有更好的方法来做到这一点?

0 投票
1 回答
111 浏览

lisp - CCL 突破文件/目录名称中的非法字符?

考虑以下:

这会中断,因为其中一个目录包含字符“;”。

如果上面的“*”被删除,代码会返回一个目录列表,其中“;” 被逃脱。

似乎我不能让它更进一步,因为某些目录包含“;”

有解决办法吗?

任何和所有的赞扬表示赞赏。谢谢你。

0 投票
2 回答
620 浏览

lisp - 在 Windows 上,在 Common Lisp 中读取行后 CR 仍然存在

我有一个在 Windows 上读取文本文件的函数(因此是一个以 CRLF 作为行结尾的文件),当我在该文件上调用read-line时,我得到以 CR 结尾的字符串,而这与 SBCL 或 Clozure CL 一起。使用 MKCL,CR 和 LF 都被删除。

所以我想知道,哪个实现是正确的?

根据标准,主要值 line 是读取的行,表示为字符串(如果有,则不带尾随换行符)。(见这里)。因此,我认为应该没有 CR 或 LF,但对我来说不是很清楚。

当然,有一些解决方法,但这很烦人,我想知道它是一个错误,还是仅仅依赖于实现。