【发布时间】:2021-05-10 03:20:28
【问题描述】:
在带有sbcl-1.4.14 的Windows XP 机器上,我使用ASDF 安装了
(load "C:\\Program Files\\clisp-2.49\\asdf\\asdf.lisp")
(require :asdf)
(push "C:\\Documents and Settings\\mayhem\\lisp\\iterate\\" asdf:*central-registry*)
开启SLIME
(require :iterate)
(iterate (for i from 1 to 5) (collect (* i i)))
给出变量 I 未绑定错误
如果我执行(in-package :iterate),上面的代码可以正常工作,但这次熟悉的函数,如exit 和我在.sbclrc 中定义的其他函数停止工作,它们给出The function ITERATE::EXIT is undefined 类型的错误,例如。
如果我执行(use-package :iterate),那么它会给出[Condition of type NAME-CONFLICT] 错误。
于是我开始像这样使用这个包:
(iterate:iterate (iterate:for i from 1 to 5) (iterate:collect (* i i)))
但我想你会同意这是一种糟糕的风格。
如何正确使用iterate?
注意:我已经看到 the post 关于非常相似的问题,但它没有帮助。关于这个特定问题的帖子或文章并不多。
【问题讨论】:
-
对于 sbcl,请参阅 sbcl.org/manual/#Package-Variance 以了解其他错误并在包差异时重新启动
标签: package iteration lisp common-lisp asdf