X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FdeSugar%2FMatchLit.lhs;h=5e30f327781d33b0a9b5e45ed542ae90d7748530;hb=2c8d42f32022f4950606d75d53e45a4c30d210df;hp=6d7db7cce87a8056d6452b7f5bd36447fd7d9893;hpb=ecdaf6bc29d23bd704df8c65442ee08032a585fc;p=ghc-hetmet.git diff --git a/compiler/deSugar/MatchLit.lhs b/compiler/deSugar/MatchLit.lhs index 6d7db7c..5e30f32 100644 --- a/compiler/deSugar/MatchLit.lhs +++ b/compiler/deSugar/MatchLit.lhs @@ -22,6 +22,7 @@ import HsSyn import Id import CoreSyn +import MkCore import TyCon import DataCon import TcHsSyn ( shortCutLit ) @@ -61,12 +62,12 @@ See also below where we look for @DictApps@ for \tr{plusInt}, etc. \begin{code} dsLit :: HsLit -> DsM CoreExpr -dsLit (HsStringPrim s) = return (mkLit (MachStr s)) -dsLit (HsCharPrim c) = return (mkLit (MachChar c)) -dsLit (HsIntPrim i) = return (mkLit (MachInt i)) -dsLit (HsWordPrim w) = return (mkLit (MachWord w)) -dsLit (HsFloatPrim f) = return (mkLit (MachFloat f)) -dsLit (HsDoublePrim d) = return (mkLit (MachDouble d)) +dsLit (HsStringPrim s) = return (Lit (MachStr s)) +dsLit (HsCharPrim c) = return (Lit (MachChar c)) +dsLit (HsIntPrim i) = return (Lit (MachInt i)) +dsLit (HsWordPrim w) = return (Lit (MachWord w)) +dsLit (HsFloatPrim f) = return (Lit (MachFloat f)) +dsLit (HsDoublePrim d) = return (Lit (MachDouble d)) dsLit (HsChar c) = return (mkCharExpr c) dsLit (HsString str) = mkStringExprFS str @@ -154,7 +155,7 @@ tidyLitPat lit = LitPat lit ---------------- tidyNPat :: HsOverLit Id -> Maybe (SyntaxExpr Id) -> SyntaxExpr Id -> Pat Id -tidyNPat over_lit@(OverLit val False _ ty) mb_neg eq +tidyNPat (OverLit val False _ ty) mb_neg _ -- Take short cuts only if the literal is not using rebindable syntax | isIntTy ty = mk_con_pat intDataCon (HsIntPrim int_val) | isWordTy ty = mk_con_pat wordDataCon (HsWordPrim int_val)