[Haskell-cafe] A curios monad

Andrew Coppin andrewcoppin at btinternet.com
Thu Dec 11 16:26:54 EST 2008


Alberto G. Corona wrote:
> but because keys and data must be of the same type, you are restricted 
> to instances of Eq and Ord. Itsn´n true?
>
> 2008/12/11 Andrew Coppin <andrewcoppin at btinternet.com 
> <mailto:andrewcoppin at btinternet.com>>
>
>     Alberto G. Corona wrote:
>
>         Well, you have not to use typeable, but instead you need to
>         use instances of Eq and Ord. This is because the values and
>         the keys must be of the same type. this is the  tradeoff.
>
>
>     Not really, no. The *keys* need Eq and Ord, but the values I'm
>     storing don't. The values I'm storing don't need any specific
>     properties at all. That's what I like about it.
>
>

No. Keys are of type "Key v", where "v" can be anything. It's a phantom 
type, so it's not used for anything (except knowing what to coerce the 
value back to when it's looked up). "Key v" is just an alias to Int, 
which *is* in Eq and Ord, as required. There are no constraints on "v" 
at all.



More information about the Haskell-Cafe mailing list