6

我不知道它是否依赖于实现。以防万一,我正在使用 Corman Lisp 3.0

当我做这样的事情时:

(loop for v being the hash-values of *my-hash-table*
  when (> v 1) sum v)

我收到两个警告:

;;; Warning: Unused variable G9063 in anonymous function
;;; Warning: Unused variable G9062 in anonymous function

随着G的数量每次都在变化。

结果是正确的。他们的意思是什么?它们为什么会出现?我想可能存在某种loop语法误用,导致这些警告,但我看不到。

4

1 回答 1

6

Corman Lisp 多年未更新。未使用的G*变量可能是gensyms 的宏展开中的 s loop。尝试

(macroexpand '(loop ...))

查看这些变量存储的内容。

于 2013-08-14T10:34:54.110 回答