diff options
author | Jakob Bruenker <jakob.bruenker@gmail.com> | 2022-03-21 00:14:25 +0100 |
---|---|---|
committer | Jakob Bruenker <jakob.bruenker@gmail.com> | 2022-04-01 20:31:08 +0200 |
commit | 32070e6c2e1b4b7c32530a9566fe14543791f9a6 (patch) | |
tree | f0913ef2a69fd660542723ec07240167dbd37961 /compiler/GHC/Tc/Utils | |
parent | d85c7dcb7c457efc23b20ac8f4e4ae88bae5b050 (diff) | |
download | haskell-32070e6c2e1b4b7c32530a9566fe14543791f9a6.tar.gz |
Implement \cases (Proposal 302)
This commit implements proposal 302: \cases - Multi-way lambda
expressions.
This adds a new expression heralded by \cases, which works exactly like
\case, but can match multiple apats instead of a single pat.
Updates submodule haddock to support the ITlcases token.
Closes #20768
Diffstat (limited to 'compiler/GHC/Tc/Utils')
-rw-r--r-- | compiler/GHC/Tc/Utils/Zonk.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/GHC/Tc/Utils/Zonk.hs b/compiler/GHC/Tc/Utils/Zonk.hs index b0af88d813..0747db57e4 100644 --- a/compiler/GHC/Tc/Utils/Zonk.hs +++ b/compiler/GHC/Tc/Utils/Zonk.hs @@ -763,9 +763,9 @@ zonkExpr env (HsLam x matches) = do new_matches <- zonkMatchGroup env zonkLExpr matches return (HsLam x new_matches) -zonkExpr env (HsLamCase x matches) +zonkExpr env (HsLamCase x lc_variant matches) = do new_matches <- zonkMatchGroup env zonkLExpr matches - return (HsLamCase x new_matches) + return (HsLamCase x lc_variant new_matches) zonkExpr env (HsApp x e1 e2) = do new_e1 <- zonkLExpr env e1 @@ -1004,9 +1004,9 @@ zonkCmd env (HsCmdCase x expr ms) new_ms <- zonkMatchGroup env zonkLCmd ms return (HsCmdCase x new_expr new_ms) -zonkCmd env (HsCmdLamCase x ms) +zonkCmd env (HsCmdLamCase x lc_variant ms) = do new_ms <- zonkMatchGroup env zonkLCmd ms - return (HsCmdLamCase x new_ms) + return (HsCmdLamCase x lc_variant new_ms) zonkCmd env (HsCmdIf x eCond ePred cThen cElse) = do { (env1, new_eCond) <- zonkSyntaxExpr env eCond |