Add tuple sections as a new feature
[ghc.git] / compiler / types / Generics.lhs
index fed023e..604db8d 100644 (file)
@@ -543,14 +543,14 @@ bimapArrow [ep1, ep2]
 -- bimapTuple :: [EP a1 b1, ... EP an bn] -> EP (a1,...an) (b1,..bn)
 bimapTuple :: [EP (LHsExpr RdrName)] -> EP (LHsExpr RdrName)
 bimapTuple eps 
-  = EP { fromEP = mkHsLam [noLoc tuple_pat] (noLoc from_body),
-        toEP   = mkHsLam [noLoc tuple_pat] (noLoc to_body) }
+  = EP { fromEP = mkHsLam [noLoc tuple_pat] from_body,
+        toEP   = mkHsLam [noLoc tuple_pat] to_body }
   where
     names      = takeList eps gs_RDR
     tuple_pat  = TuplePat (map nlVarPat names) Boxed placeHolderType
     eps_w_names = eps `zip` names
-    to_body     = ExplicitTuple [toEP   ep `mkHsApp` nlHsVar g | (ep,g) <- eps_w_names] Boxed
-    from_body   = ExplicitTuple [fromEP ep `mkHsApp` nlHsVar g | (ep,g) <- eps_w_names] Boxed
+    to_body     = mkLHsTupleExpr [toEP   ep `mkHsApp` nlHsVar g | (ep,g) <- eps_w_names]
+    from_body   = mkLHsTupleExpr [fromEP ep `mkHsApp` nlHsVar g | (ep,g) <- eps_w_names]
 
 -------------------
 -- bimapList :: EP a b -> EP [a] [b]