Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2011-05-29

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

| 17:09 | 'T と () は劣悪なパッケージ環境でも平気 - わだばLisperになる を含むブックマーク はてなブックマーク - 'T と () は劣悪なパッケージ環境でも平気 - わだばLisperになる

以前にも書いた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