Shammer's Philosophy

My private adversaria

use-package を使う

:export も大文字がよさそう - Shammerismでできなかった、プレフィックスなしで別のパッケージで作成した関数を呼び出すには、use-package を使うことでできそうだ。

? (defpackage aaa)
#<Package "AAA">
? (in-package aaa)
#<Package "AAA">
? (defun hello () (format t "Hello~%"))
HELLO
? (export 'hello)
T
? (in-package common-lisp-user)
#<Package "COMMON-LISP-USER">
? (use-package 'aaa)
T
? (hello)
Hello
NIL
?

わかってみれば簡単だ・・・

でも、プレフィックスなしで呼び出すことができるようにしてしまうのはあまりよくないのかも。既存の定義済のシンボルとバッティングしてしまうけれどもその名前をどうしても使いたい、というような場合は困ることになる。別パッケージで定義されている関数やら変数へアクセスするときは、やっぱりプレフィックスを使うようにしよう。