
Your first link says that any library in the Haskell Platform must be supported on all operating systems and compilers supported by the Haskell Platform. Right now, the platform only supports GHC, and on Windows, Linux, and Mac. This change does not break any of those. I say this because if someone tries to file a ticket for the haskell platform saying it doesn't work on Hugs (for example), that ticket will be immediately closed as WontFix. The second link you mentioned was for GHC core libraries. I'm not sure about Johan's intentions, but I wouldn't expect Hashable to become a core library. As for the difference between deepseq and Hashable - there's very little as far as I know, except for different maintainers. Johan has expressed interest in getting the changes merged, so I prepared a pull request for him. When I say "encouraging other packages not be to portable", you were absolutely right in your assumption that I meant that a package depending on Hashasble will more likely be non-portable because of the conditional API. Sorry that I wasn't clear on that. And the portability requirement didn't even seem like a hard rule. It just looked like it was trying to say that good code tends to be portable. I'm not sure if the author intended to say that *all* good code is portable. - Clark