X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FdeSugar%2FCheck.lhs;h=c5b13eb2d3837b2b94d6ecc470433aaa8e5e31c9;hb=90ce88a0a9b5611416e592a6ff96781ba884975f;hp=9961603a5801d315a56c4d60b08c9b6c235d425b;hpb=92204c069515e5ea0c5db55686f894a99c18bab9;p=ghc-hetmet.git diff --git a/compiler/deSugar/Check.lhs b/compiler/deSugar/Check.lhs index 9961603..c5b13eb 100644 --- a/compiler/deSugar/Check.lhs +++ b/compiler/deSugar/Check.lhs @@ -389,7 +389,7 @@ make_row_vars used_lits (_, EqnInfo { eqn_pats = pats}) hash_x :: Name hash_x = mkInternalName unboundKey {- doesn't matter much -} - (mkVarOccFS FSLIT("#x")) + (mkVarOccFS (fsLit "#x")) noSrcSpan make_row_vars_for_constructor :: (EqnNo, EquationInfo) -> [WarningPat] @@ -433,11 +433,11 @@ get_lit :: Pat id -> Maybe HsLit -- Get a representative HsLit to stand for the OverLit -- It doesn't matter which one, because they will only be compared -- with other HsLits gotten in the same way -get_lit (LitPat lit) = Just lit -get_lit (NPat (HsIntegral i _ _) mb _) = Just (HsIntPrim (mb_neg mb i)) -get_lit (NPat (HsFractional f _ _) mb _) = Just (HsFloatPrim (mb_neg mb f)) -get_lit (NPat (HsIsString s _ _) _ _) = Just (HsStringPrim s) -get_lit _ = Nothing +get_lit (LitPat lit) = Just lit +get_lit (NPat (OverLit { ol_val = HsIntegral i}) mb _) = Just (HsIntPrim (mb_neg mb i)) +get_lit (NPat (OverLit { ol_val = HsFractional f }) mb _) = Just (HsFloatPrim (mb_neg mb f)) +get_lit (NPat (OverLit { ol_val = HsIsString s }) _ _) = Just (HsStringPrim s) +get_lit _ = Nothing mb_neg :: Num a => Maybe b -> a -> a mb_neg Nothing v = v