On 11/04/2014 05:32 AM, Simon Peyton Jones wrote: > The "; match-required" part is optional, and the "match-provided" part might > be empty. So P1 and P2 would look like this: > > pattern P1 :: forall a. (; Num a) => b -> (a,b) > pattern P2 :: forall a. (; Num a, Ord a) => a -> a
How about marking the match-provided parts with a keyword, as so: pattern P2 :: (match_required Num a, match_required Ord a) => a -> a Except with a better keyword. "if" might do in a pinch: pattern P2 :: forall a. (if Num a, if Ord a) => a -> a or "pattern needed" (pattern being a keyword) or "pattern forall" pattern P2 :: (pattern needed Num a, pattern needed Ord a) => a -> a _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
