X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FhsSyn%2FHsLit.lhs;h=a85bc627ecdbb29c2d047646a0a03fbd0399f165;hb=30c122df62ec75f9ed7f392f24c2925675bf1d06;hp=3c18102191abd6c253f3b084770b043db8fcf337;hpb=6a05ec5ef5373f61b7f9f5bdc344483417fa801b;p=ghc-hetmet.git diff --git a/compiler/hsSyn/HsLit.lhs b/compiler/hsSyn/HsLit.lhs index 3c18102..a85bc62 100644 --- a/compiler/hsSyn/HsLit.lhs +++ b/compiler/hsSyn/HsLit.lhs @@ -5,13 +5,6 @@ \section[HsLit]{Abstract syntax: source-language literals} \begin{code} -{-# OPTIONS -w #-} --- The above warning supression flag is a temporary kludge. --- While working on this module you are encouraged to remove it and fix --- any warnings in the module. See --- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings --- for details - module HsLit where #include "HsVersions.h" @@ -59,12 +52,12 @@ instance Eq HsLit where (HsRat x1 _) == (HsRat x2 _) = x1==x2 (HsFloatPrim x1) == (HsFloatPrim x2) = x1==x2 (HsDoublePrim x1) == (HsDoublePrim x2) = x1==x2 - lit1 == lit2 = False + _ == _ = False data HsOverLit id -- An overloaded literal - = HsIntegral Integer (SyntaxExpr id) PostTcType -- Integer-looking literals; - | HsFractional Rational (SyntaxExpr id) PostTcType -- Frac-looking literals - | HsIsString FastString (SyntaxExpr id) PostTcType -- String-looking literals + = HsIntegral !Integer (SyntaxExpr id) PostTcType -- Integer-looking literals; + | HsFractional !Rational (SyntaxExpr id) PostTcType -- Frac-looking literals + | HsIsString !FastString (SyntaxExpr id) PostTcType -- String-looking literals -- Before type checking, the SyntaxExpr is 'fromInteger' or 'fromRational' -- After type checking, it is (fromInteger 3) or lit_78; that is, -- the expression that should replace the literal. @@ -92,18 +85,18 @@ instance Eq (HsOverLit id) where (HsIntegral i1 _ _) == (HsIntegral i2 _ _) = i1 == i2 (HsFractional f1 _ _) == (HsFractional f2 _ _) = f1 == f2 (HsIsString s1 _ _) == (HsIsString s2 _ _) = s1 == s2 - l1 == l2 = False + _ == _ = False instance Ord (HsOverLit id) where compare (HsIntegral i1 _ _) (HsIntegral i2 _ _) = i1 `compare` i2 compare (HsIntegral _ _ _) (HsFractional _ _ _) = LT compare (HsIntegral _ _ _) (HsIsString _ _ _) = LT compare (HsFractional f1 _ _) (HsFractional f2 _ _) = f1 `compare` f2 - compare (HsFractional f1 _ _) (HsIntegral _ _ _) = GT - compare (HsFractional f1 _ _) (HsIsString _ _ _) = LT + compare (HsFractional _ _ _) (HsIntegral _ _ _) = GT + compare (HsFractional _ _ _) (HsIsString _ _ _) = LT compare (HsIsString s1 _ _) (HsIsString s2 _ _) = s1 `compare` s2 - compare (HsIsString s1 _ _) (HsIntegral _ _ _) = GT - compare (HsIsString s1 _ _) (HsFractional _ _ _) = GT + compare (HsIsString _ _ _) (HsIntegral _ _ _) = GT + compare (HsIsString _ _ _) (HsFractional _ _ _) = GT \end{code} \begin{code}