Thank you too(Re: Thank you!(Re: [Q] missing car/cdr))
nojimaです。
申し訳ないです。以前のサマリに突込み入りまくりでしたので、修正します。
情報いただいた方々ありがとうございました。
Takahide Nojima <nojima@taito.co.jp> writes:
> > nojimaです。
> >
> > [Q] 最近はcar/cdrの代りにfirst/restというのが今時なのでしょうか?
> > それともCommon Lispだけの方言と思えばよいのでしょうか?
> >
>
> 皆様に沢山のフォローいただき解決しました。ありがとうございました。
>
> 以下に自分なりにサマリあげます。
修正サマリ
[A] 現在はCommon Lispでfirst/restが採択されております。
Common Lispに習った処理系であれば利用できるかもしれません。
参考:Common LispのLispにおける立場は
http://ja.wikipedia.org/wiki/Lisp
を参照
なお、
1. car/cdrだけでは可読性がちょっと悪すぎなので、
・nth とか、
・first,second,third,...,rest
とかにした方が良いという話があります。(補足1参照)
2. 順列を意識する場合は、car/cdr使わずあえて
・nth とか、
・first,second,third,...,rest
とかにした方が良いという話があります。
3. cadd*r等使わざるを得ない場合はCommon Lispの場合
defstructする方が何かと良い場合がある模様です。
4. firstに限りcarする人も多い模様です。
さらにLispからcar/cdrが消え去り、nthやらfirst/restに完全にとって変わる
かは不明です。
補足:
1. 可読性が犠牲になる例:
・ caddddrでd何個だからどこの要素だとか、
・ cdaddaaadrとか言われてもちょとすぐにわからん
2. Winston-Horn の教科書 Lisp 2nd Ed (1988) が既に
car/cdr を使ってなかったりしてます。
3. caddr,caddddrに習って、firrest,firrrrestはさすがに無いもようです。
4. common lispにcadddr等は無いそうです。
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735