'T と () は劣悪なパッケージ環境でも平気 — #:g1

Posted 2011-05-29 08:09:00 GMT

- (http://g000001.cddddr.org/1254928967)
以前にも書いたMacLISPのコードに散見される誰かのスタイルですが、どうでも良いメリットを発見したのでメモしておきます。
そのメリットとは、'Tも () リードマクロが関係するために劣悪なパッケージ環境にも強いということです!

(make-package :foo :use nil)

(in-package :foo)

(cl:when '() "foo!") ;=> COMMON-LISP:NIL

(cl:when 'nil "foo!") ;=> "foo!"

(cl:when t "foo!") ;>>> error

(cl:when 't "foo!") ;=> "foo!"

(cl:when (quote ()) "foo!") ;>>> error

(cl:when (quote nil) "foo!") ;>>> error

(cl:when (quote t) "foo!") ;>>> error


comments powered by Disqus