• simonpj's avatar
    [project @ 2001-06-11 12:24:51 by simonpj] · 2c6d73e2
    simonpj 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
RnExpr.lhs 31.3 KB