小编pet*_*ter的帖子

是否更好的做法使用package-name:符号在代码中:使用:package-name在DEFPACKAGE中?

我怀疑这是风格和/或个人品味的问题,但我想我还是会问.

我一直习惯于定义包:

(defpackage :wibble
  (:use :cl :drakma)
  (:export :main))
Run Code Online (Sandbox Code Playgroud)

一旦我执行了IN-PACKAGE(在这种情况下是wibble),我就可以使用DRAKMA中的符号:

(http-request ...
Run Code Online (Sandbox Code Playgroud)

然后我最近读到经验丰富的Lisp黑客不愿意:使用但是:

(drakma:http-request ...
Run Code Online (Sandbox Code Playgroud)

只是想知道意见的共识是什么,以及是否有任何利弊(不是那种类型的CONS :))?

干杯,

彼得

lisp common-lisp

6
推荐指数
3
解决办法
340
查看次数

有关保存宏/函数调用的任何提示?

不久之前,对于一个基于动物园的小例子,我写了一个基类ANIMAL,一些子类CAT,MOUSE等.一个通用方法FEED采用ANIMAL参数和一些专门用于每个ANIMAL子类型的方法.

在编写了第二和第三类之后,方法对我意识到我一遍又一遍地写同样的东西,并决定编写一个宏DEF-ANIMAL-SUBCLASS,它扩展为PROGN,定义了新的子类和适当的方法.

然后我意识到我刚刚给了我的用户一种定义他们自己的ANIMAL子类型的方法,他们可能觉得这些子类很有用!然而,虽然他们可能只是在正在运行的图像中执行此操作,但我没有办法保存其新的ANIMAL类型,以便在重新启动图像的情况下,将为它们重新创建任何新的ANIMAL类型(没有他们必须重新评估宏).

有这样做的传统方式吗?

这是不应该做的事情?

任何提示都会感激不尽!

干杯,

P

lisp common-lisp

3
推荐指数
2
解决办法
171
查看次数

标签 统计

common-lisp ×2

lisp ×2