Re: [Haskell-cafe] Hashing over equivalence classes

2009-03-16 Thread Roman Cheplyaka
* Ryan Ingram ryani.s...@gmail.com [2009-03-14 11:36:33-0700] For the second case you might be able to come up with a commutative hash-combiner function for and ||. What a beautiful idea! I wish I thought of it myself. For the lambda-term situation, I can think of a couple ways to hash that

[Haskell-cafe] Hashing over equivalence classes

2009-03-14 Thread Roman Cheplyaka
Are there some known ways to define hashing (or any other) functions over equivalence classes? I.e. a ~ b = hash(a) == hash(b) where (~) is some equivalence relation. For example, you might want to hash lambda terms modulo alpha-equivalence or hash logical terms with respect to commutativity

Re: [Haskell-cafe] Hashing over equivalence classes

2009-03-14 Thread Ryan Ingram
For the second case you might be able to come up with a commutative hash-combiner function for and ||. For the lambda-term situation, I can think of a couple ways to hash that give what you want. (1) Ignore variable names altogether while hashing; this gives you what you want but has the