On 20/06/2012 6:56 AM, Henning Thielemann wrote:
QuickCheck is Haskell-98 and thus is very portable. I see that
GenCheck needs some more extensions - type families, multi-parameter
type classes, what else?
FlexibleContexts and FlexibleInstances.
However, I am fairly sure that the multi-parameter type classes are not
in fact needed. Certainly a branch of the current implementation could
easily be done that removes these without harming the functionality
currently implemented, although it might harm some of the
extensibility. And I think most of the uses of
FlexibleContexts/Instances are tied to these MPTCs.
The one use of type families is to implement a view or, if you prefer,
the 'get' part of a lens. With type families, this is extremely
elegant. If portability is really important, this too could probably be
branched into an implementation that does this otherwise.
I am actively working on refactoring the LabelledPartition MPTC into
simpler pieces, but you'll have to wait until gencheck-0.2 for that.
Jacques
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe