diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2016-03-30 17:14:11 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2016-03-31 08:04:04 +0100 |
commit | bdd90426a7f88d57bedf15411fa00f62aeb22172 (patch) | |
tree | 378a99bb29281b420a836cb13cfb78e65268cf57 /compiler/rename/RnExpr.hs | |
parent | 2e5e8223e2fd0fe7f6082a15627dfd54e3560b06 (diff) | |
download | haskell-bdd90426a7f88d57bedf15411fa00f62aeb22172.tar.gz |
Refactor in TcMatches
* Move the several calls of tauifyMultipleMatches into tcMatches,
so that it can be called only once, and the invariants are
clearer
* I discovered in doing this that HsLamCase had a redundant and
tiresome argument, so I removed it. That in turn allowed some
modest but nice code simplification
Diffstat (limited to 'compiler/rename/RnExpr.hs')
-rw-r--r-- | compiler/rename/RnExpr.hs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/compiler/rename/RnExpr.hs b/compiler/rename/RnExpr.hs index de03b8d796..86bd178c70 100644 --- a/compiler/rename/RnExpr.hs +++ b/compiler/rename/RnExpr.hs @@ -220,10 +220,9 @@ rnExpr (HsLam matches) = do { (matches', fvMatch) <- rnMatchGroup LambdaExpr rnLExpr matches ; return (HsLam matches', fvMatch) } -rnExpr (HsLamCase _arg matches) +rnExpr (HsLamCase matches) = do { (matches', fvs_ms) <- rnMatchGroup CaseAlt rnLExpr matches - -- ; return (HsLamCase arg matches', fvs_ms) } - ; return (HsLamCase placeHolderType matches', fvs_ms) } + ; return (HsLamCase matches', fvs_ms) } rnExpr (HsCase expr matches) = do { (new_expr, e_fvs) <- rnLExpr expr |