将命名空间重命名为其他名称的常见 lisp 方法是什么。因此,我可以写 ht:start,而不是写 hunchentoot:start。
我正在寻找类似 pythons import A as B 的东西。
编辑:使用接受的答案,为 hunchentoot 添加昵称的代码如下:
(rename-package :hunchentoot :hunchentoot '(:ht))
将命名空间重命名为其他名称的常见 lisp 方法是什么。因此,我可以写 ht:start,而不是写 hunchentoot:start。
我正在寻找类似 pythons import A as B 的东西。
编辑:使用接受的答案,为 hunchentoot 添加昵称的代码如下:
(rename-package :hunchentoot :hunchentoot '(:ht))
你所说的命名空间是一个使用创建的 Common Lisp 包defpackage
您希望包裹昵称是ht
defpackage
对现有包执行 a具有实现定义的行为,但某些实现允许以这种方式添加昵称。
还有一个功能rename-package
可以为包重命名和添加昵称。
我用这个:
(defpackage :foo+bar
(:use :bar)
(:export
#:*foo* #:foo #:foo-p #:foo-ffs!
. #.(let (ext)
(do-external-symbols (sym :bar)
(push (symbol-name sym) ext))
ext)))