projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle introduction of MkCore in MatchCon
[ghc-hetmet.git]
/
compiler
/
deSugar
/
MatchCon.lhs
diff --git
a/compiler/deSugar/MatchCon.lhs
b/compiler/deSugar/MatchCon.lhs
index
3baa966
..
801944a
100644
(file)
--- a/
compiler/deSugar/MatchCon.lhs
+++ b/
compiler/deSugar/MatchCon.lhs
@@
-15,8
+15,6
@@
Pattern-matching constructors
module MatchCon ( matchConFamily ) where
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 )
#include "HsVersions.h"
import {-# SOURCE #-} Match ( match )
@@
-27,6
+25,7
@@
import DataCon
import TcType
import Type
import CoreSyn
import TcType
import Type
import CoreSyn
+import MkCore
import DsMonad
import DsUtils
import Util ( takeList )
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)
= 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
eqn { eqn_pats = conArgPats con1 arg_tys args ++ pats }) }
conArgPats :: DataCon