C言語でLISPを作ってるんですが、リストに対して、効率的なhash値を
得る事はできないでしょうか?最初はリストのポインタのアドレスをそのまま
hash値にすれば速いかな、と思っていたんですが、後々gcを搭載する時に、
ポインタ値の比較をやっていたのでは、移動ができない事に気付きました。
(マークスイープのgcならこれでもいいんですが。)
シンボル探索を線形探索→hash(チェイン法)にしたら、とんでもなく
速くなったので、リストに対してもできないものか、と考えています。
carやcdr方向の長さとかで区別するしか無いでしょうか?