On Wed, Jan 30, 2013 at 11:36 PM, Bas van Dijk <v.dijk.bas@gmail.com> wrote:
 

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 <greg@gregorycollins.net>