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

Reply via email to