
9 Nov
2014
9 Nov
'14
10:02 p.m.
On Nov 9, 2014, at 2:11 PM, Simon Peyton Jones
* 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