Common Lisp では()
、自己評価形式のようです。つまり、それ自体 (またはそのエイリアスnil
) に評価されます。したがって、引用する必要はないように思われます。しかし、私の quicklisp ディレクトリで grep を使用すると'()
、さまざまなプロジェクトのさまざまな人々によって書かれた の多数のインスタンスが見つかります。引用されたバージョンを書き出す技術的な理由はありますか? Common Lisp the Lanugage, 2nd Edition , Section 1.2.2()
では、 で空リストを強調したり、 boolean false で強調したい文体の違いについて言及していますがnil
、この質問については触れていません。スティールが使用する例の1つは次のとおりです。
(append '() '())
...次のように書くこともできると思います:
(append () ())
...では、なぜ余分なQUOTEs
ものをそこに投げ込むのですか? 確かに、それは物事を傷つけません。文体的には、どちらの形式が一般的に好まれますか? 誰かが確かに、気が変わった場合に要素を追加するのが簡単になり、代わりに空でないリテラルリストが本当に必要になると主張することができます。または、空でないリテラル リストでも引用符が必要になるため、引用符の使用に特定の対称性があること。
この歴史的な荷物は、伝統によって引き継がれてきた他の/古い関連言語からぶら下がっていますか?
これは、引用する必要があるSchemeとは異なります。また、elisp でそれを引用する必要はないように思われるので、もしかすると、それは lisp-1 と lisp-2 との関係で遠回りになるのでしょうか?