
On Wed, Jan 30, 2013 at 11:36 PM, Bas van Dijk
The only function which could be controversial is:
hash :: Hashable a => a -> Int
since that function could give different results on different application runs when the environment variable HASHABLE_SALT is set to "random". However since this behavior is configurable and not the default I don't think it's an issue.
I think Johan is thinking of revisiting this issue for hashable 1.3 and
reverting to the old behaviour. Hashable 1.2 also introduced some
unfortunate performance regressions. My suggestion was to remove the
randomized salt by default in favor of providing a "newtype RandomSalt a =
RandomSalt a" for use in situations where guarding against hash collision
attacks was important.
G
--
Gregory Collins