[Haskell-cafe] [ANNOUNCE] hashable-generics
Herbert Valerio Riedel
hvr at gnu.org
Tue Nov 6 15:32:10 CET 2012
Clark Gaebel <cgaebel at uwaterloo.ca> writes:
> For the merge into Hashable, the default instance is only included if we're
> on a compatible GHC.
I originally tried to make the same argument for enhancing `deepseq`,
but I was made aware this would lead to a conditional API, which is
frowned upon, or to quote a succinct summary of the `deepseq`-thread:
| [...] the conclusion is that we don't want to modify the deepseq
| package because that would take it outside Haskell 98, and we don't
| want to have a conditional API (quite rightly).
| There's no disadvantage to having the generic functionality in a
| separate package, right?
So what's different with `hashable`, that the arguments that applied to
`deepseq` back then shouldn't apply to `hashable` now?
> This means Hashable itself will be portable, but it strongly
> encourages other packages not to be.
What do you mean by "encouraging other packages not to be"? Does this
mean, a package depending on hashable will most likely be non-portable
(due to the conditional API)?
> I think the portability requirement is just used as an easy way to filter
> out lower quality code, anyway.
I'm not sure I follow...
More information about the Haskell-Cafe