(declaim (declaration あび))
SERIES のコードを読んでたら (declaim (declaration indefinite-extent))
みたなコードが出てきた。
CLSH の declaration によると、標準じゃないけど有効の宣言だよ、とコンパイラに教えてあげる機能らしい。
普通はこんなふうにワーニングがでる。
(defun foo ()
(declare (あび))
'foo)
; in: LAMBDA NIL
; (あび)
;
; caught WARNING:
; unrecognized declaration (あび)
;
; compilation unit finished
; caught 1 WARNING condition
次のように declaim するとワーニングが出なくなる。
(declaim (declaration あび))
(defun foo ()
(declare (あび))
'foo)
SERIES はこれと (defmacro defun ...) で、あやしげな黒魔術を展開しているみたい。
0 件のコメント:
コメントを投稿