-
Simon Peyton Jones authored
-------------------------------------- Tidy up and improve "pattern contexts" -------------------------------------- In various places (renamer, typechecker, desugarer) we need to know what the context of a pattern match is (case expression, function defn, let binding, etc). This commit tidies up the story quite a bit. I think it represents a net decrease in code, and certainly it improves the error messages from: f x x = 3 Prevsiously we got a message like "Conflicting bindings for x in a pattern match", but not it says "..in a defn of function f". WARNING: the tidy up had a more global effect than I originally expected, so it's possible that some other error messages look a bit peculiar. They should be easy to fix, but tell us!
2c6d73e2