
For the merge into Hashable, the default instance is only included if we're
on a compatible GHC. This means Hashable itself will be portable, but it
strongly encourages other packages not to be.
I think the portability requirement is just used as an easy way to filter
out lower quality code, anyway.
- Clark
On Tue, Nov 6, 2012 at 6:31 AM, Herbert Valerio Riedel
Clark Gaebel
writes: How would the ghc-dependance affect hashable's inclusion in the haskell platform? Doesn't the haskell platform ship only a recent version of ghc (i.e. one with support for generics)?
I was under the impression that the haskell platform, albeit currently bundling GHC, aims for portability, as in [1] its required that a package
| * Compile on all operating systems and compilers that the platform targets. [rationale-8.4]
and in [2] there's a (somewhat weaker) mention of portability as well:
| *Portability*. Good code is portable. In particular, try to ensure the | code runs in Hugs and GHC, and on Windows and Linux.
Maybe Hugs is a bit too outdated/unmaintained, but on the other hand maybe JHC and UHC compatibility should be aimed for instead these days for core packages?
[1]: http://trac.haskell.org/haskell-platform/wiki/AddingPackages#Packagerequirem... [2]: http://www.haskell.org/haskellwiki/Library_submissions#Guidance_for_proposer...