X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FdeSugar%2FMatchCon.lhs;h=801944a642da79382cc753d19d3f7b612bb9dbd7;hb=cec9b62f2ccdd358aa1d99c4143794b541b87f7e;hp=3baa9666e98df957380243f00cb0ec521a6fb478;hpb=ea722559243ea0640903b1ac663563cd7eb8d7e9;p=ghc-hetmet.git diff --git a/compiler/deSugar/MatchCon.lhs b/compiler/deSugar/MatchCon.lhs index 3baa966..801944a 100644 --- a/compiler/deSugar/MatchCon.lhs +++ b/compiler/deSugar/MatchCon.lhs @@ -15,8 +15,6 @@ Pattern-matching constructors module MatchCon ( matchConFamily ) where --- XXX This define is a bit of a hack, and should be done more nicely -#define FAST_STRING_NOT_NEEDED 1 #include "HsVersions.h" import {-# SOURCE #-} Match ( match ) @@ -27,6 +25,7 @@ import DataCon import TcType import Type import CoreSyn +import MkCore import DsMonad import DsUtils import Util ( takeList ) @@ -126,7 +125,7 @@ matchOneCon vars ty (eqn1 : eqns) -- All eqns for a single constructor = do { prs <- dsLHsBinds bind ; return (wrapBinds (tvs `zip` tvs1) . wrapBinds (ds `zip` dicts1) - . mkDsLet (Rec prs), + . mkCoreLet (Rec prs), eqn { eqn_pats = conArgPats con1 arg_tys args ++ pats }) } conArgPats :: DataCon