- 127 名前:95 mailto:sage [04/08/20 18:59]
- いや、どうも。。。
結局のところ cons セルを "ナイーブに" 実装するだけだったら ポインタを2つ積めば良いのは分かっているんだけど、 確か世の中には、それをもう少し圧縮する技法が あったと思ってたので。 例えば >>115 のように、cdr となるセルを (物理的に)隣のメモリに配置することが出来て、 それを cons 表現の(内部的に)特殊な表現として扱えれば、 本来であれば (car . cdr) を表現するためには 3つのセルを使用しなければならないところを、 たった2つのセルで表現できてしまう。 ていうか、セル1つの表現が4バイトあればほぼ事足りてしまう。 (勿論再帰などの問題があるので、通常のポインタ2つ丸々 使用する例外的な表現も許すようにしておけばよい) Lisp で使うセルの大半は cons なので、 こういうのは結構お得な発想だと思っていたけど?
|

|