diff --git a/ghc/compiler/typecheck/TcGenDeriv.lhs b/ghc/compiler/typecheck/TcGenDeriv.lhs index 14cf7a0e651ab35fd1a65df734b3c7984df2267a..dde873ef589f95b1c0f3918cb105cb13196aa590 100644 --- a/ghc/compiler/typecheck/TcGenDeriv.lhs +++ b/ghc/compiler/typecheck/TcGenDeriv.lhs @@ -640,8 +640,6 @@ gen_Ix_binds tycon = mk_easy_FunMonoBind tycon_loc index_RDR [TuplePatIn [con_pat as_needed, con_pat bs_needed], con_pat cs_needed] [range_size] ( foldl mk_index (HsLit (HsInt 0)) (zip3 as_needed bs_needed cs_needed)) where - mk_index (HsLit (HsInt 0)) (l, u, i) -- optim. - = HsApp (HsApp (HsVar index_RDR) (ExplicitTuple [HsVar l, HsVar u])) (HsVar i) mk_index multiply_by (l, u, i) = genOpApp ( (HsApp (HsApp (HsVar index_RDR) (ExplicitTuple [HsVar l, HsVar u])) (HsVar i)) @@ -742,7 +740,7 @@ gen_Read_binds tycon (zipEqual "bs_needed" ((str_qual (SLIT("{")): concat ( - intersperse ([str_qual SLIT(",")]) $ + intersperse ([str_qual (_CONS_ ',' _NIL_)]) $ zipWithEqual "field_quals" (\ as b -> as ++ [b])