On Nov 9, 2014, at 2:11 PM, Simon Peyton Jones <[email protected]> wrote: > > * One other possibility would be two => thus > pattern P :: (Eq b) => (Num a, Eq a) => ...blha... >
I should note that I can say this in 7.8.3: foo :: Show a => Eq a => a -> String foo x = show x ++ show (x == x) Note that I've separated the two constraints with a =>, not a comma. This syntax does what you might expect. (I actually believe that this is an improvement over the conventional syntax, but that's a story for another day.) For better or worse, this trick does not work for GADT constructors (which is a weird incongruence with function type signatures), so adding the extra arrow does not really steal syntax from GADT pattern synonyms. Richard _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
