summaryrefslogtreecommitdiff
path: root/compiler/GHC/HsToCore/ListComp.hs
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2021-01-12 19:30:55 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-01-22 15:02:45 -0500
commit957b53760e50d072accc17c77948f18a10a4bb53 (patch)
tree5099bcc355fc9a5047e5dac697511259f688e155 /compiler/GHC/HsToCore/ListComp.hs
parent887eb6ec23eed243604f71c025d280c0b854f4c4 (diff)
downloadhaskell-957b53760e50d072accc17c77948f18a10a4bb53.tar.gz
Core: introduce Alt/AnnAlt/IfaceAlt datatypes
Alt, AnnAlt and IfaceAlt were using triples. This patch makes them use dedicated types so that we can try to make some fields strict (for example) in the future.
Diffstat (limited to 'compiler/GHC/HsToCore/ListComp.hs')
-rw-r--r--compiler/GHC/HsToCore/ListComp.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/GHC/HsToCore/ListComp.hs b/compiler/GHC/HsToCore/ListComp.hs
index 1c7cee081e..ea10cdaf39 100644
--- a/compiler/GHC/HsToCore/ListComp.hs
+++ b/compiler/GHC/HsToCore/ListComp.hs
@@ -295,8 +295,8 @@ deBindComp pat core_list1 quals core_list2 = do
let
rhs = Lam u1 $
Case (Var u1) u1 res_ty
- [(DataAlt nilDataCon, [], core_list2),
- (DataAlt consDataCon, [u2, u3], core_match)]
+ [Alt (DataAlt nilDataCon) [] core_list2
+ ,Alt (DataAlt consDataCon) [u2, u3] core_match]
-- Increasing order of tag
return (Let (Rec [(h, rhs)]) letrec_body)
@@ -423,8 +423,8 @@ mkZipBind elt_tys = do
mk_case (as, a', as') rest
= Case (Var as) as elt_tuple_list_ty
- [(DataAlt nilDataCon, [], mkNilExpr elt_tuple_ty),
- (DataAlt consDataCon, [a', as'], rest)]
+ [ Alt (DataAlt nilDataCon) [] (mkNilExpr elt_tuple_ty)
+ , Alt (DataAlt consDataCon) [a', as'] rest]
-- Increasing order of tag