Gauche > Archives > 2016/04/25

2016/04/25 07:30:24 UTCKei
#
sob-fold 自体はハッシュテーブルの中身を足すだけで、順序に依存してないように見えるんですけど、何故これで直るんでしょう?(参照実装をそのまま使ってるLarcenyは問題なく動いたので単なる疑問です。)
2016/04/25 07:35:07 UTCshiro
#
元のコードはただ足してるんじゃなくて (累積ハッシュ値*33 + 要素のハッシュ) でやってるので、hash-table-for-eachが要素を返す順番でハッシュ値が変わります。
#
たまたまhash-table-for-eachが要素をなめる順番が同じならテストは通りますね。
2016/04/25 07:44:47 UTCKei
#
あぁ、乗算がありましたか(見落とし)。加算のみなのに何故順序が関係するのかと勘違いしてました。