1. ホーム
  2. lisp

[解決済み] 私のもう一台の車はcdrです」とはどういう意味ですか?

2023-04-12 15:43:22

質問

このジョークについて、誰かlispに詳しい人は説明してくれますか? 関数型プログラミング言語の本を読んで、CAR/CDRがContents of Address/Decrement Registerを意味することは知っていますが、このユーモアはまだよく理解できていません。

どのように解決するのですか?

Lispでは、リンクリストの要素のことをCONSと呼びます。これは2つの要素を持つデータ構造で、歴史的な理由からCARとCDRと呼ばれています。(Common Lispプログラマの中には、FIRST関数やREST関数を使って参照することを好む人もいれば、(CADR x) ≡ (CAR (CDR x)) のようにあらかじめ合成されたものとよく合うのでCARやCDRを好む人もいます) 。

このジョークは、ボロボロの古い車に時々貼られているバンパー ステッカー「My other car is a Porsche/BMW/etc." 」のパロディです。

私の レスポンス このジョークに対する私の応答は、常に "私の他の CAR は CADR です。CDR は CAR ではありません。