diff options
author | John Ericson <git@JohnEricson.me> | 2020-04-18 17:30:10 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-04-22 23:10:28 -0400 |
commit | cde23cd47170cc33845b6859a47dd06ee85094d8 (patch) | |
tree | c8ecf86787942e27be27b27ff58c62835b286693 /compiler/GHC/HsToCore/Match | |
parent | dcb7fe5aa2bc331fa71b537b042ec08a7c79b1ac (diff) | |
download | haskell-cde23cd47170cc33845b6859a47dd06ee85094d8.tar.gz |
Inline `adjustMatchResult`
It is just `fmap`
Diffstat (limited to 'compiler/GHC/HsToCore/Match')
-rw-r--r-- | compiler/GHC/HsToCore/Match/Constructor.hs | 3 | ||||
-rw-r--r-- | compiler/GHC/HsToCore/Match/Literal.hs | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/compiler/GHC/HsToCore/Match/Constructor.hs b/compiler/GHC/HsToCore/Match/Constructor.hs index 779d893eaf..b3c639ca86 100644 --- a/compiler/GHC/HsToCore/Match/Constructor.hs +++ b/compiler/GHC/HsToCore/Match/Constructor.hs @@ -141,7 +141,8 @@ matchOneConLike vars ty (eqn1 :| eqns) -- All eqns for a single constructor do { (wraps, eqns') <- liftM unzip (mapM shift arg_eqn_prs) ; let group_arg_vars = select_arg_vars arg_vars arg_eqn_prs ; match_result <- match (group_arg_vars ++ vars) ty eqns' - ; return (adjustMatchResult (foldr1 (.) wraps) match_result) } + ; return $ foldr1 (.) wraps <$> match_result + } shift (_, eqn@(EqnInfo { eqn_pats = ConPatOut{ pat_tvs = tvs, pat_dicts = ds, pat_binds = bind, pat_args = args diff --git a/compiler/GHC/HsToCore/Match/Literal.hs b/compiler/GHC/HsToCore/Match/Literal.hs index d835e62e42..acb5be40f4 100644 --- a/compiler/GHC/HsToCore/Match/Literal.hs +++ b/compiler/GHC/HsToCore/Match/Literal.hs @@ -515,7 +515,7 @@ matchNPlusKPats (var :| vars) ty (eqn1 :| eqns) ; match_result <- match vars ty eqns' ; return (mkGuardedMatchResult pred_expr $ mkCoLetMatchResult (NonRec n1 minusk_expr) $ - adjustMatchResult (foldr1 (.) wraps) $ + fmap (foldr1 (.) wraps) $ match_result) } where shift n1 eqn@(EqnInfo { eqn_pats = NPlusKPat _ (L _ n) _ _ _ _ : pats }) |