From: Ian Lynagh Date: Mon, 18 Feb 2008 18:34:24 +0000 (+0000) Subject: Make literals in the syntax tree strict X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=b4fec12ba528ef6460b2dce61832d4bafa2800bd Make literals in the syntax tree strict --- diff --git a/compiler/hsSyn/HsLit.lhs b/compiler/hsSyn/HsLit.lhs index 51455e2..a85bc62 100644 --- a/compiler/hsSyn/HsLit.lhs +++ b/compiler/hsSyn/HsLit.lhs @@ -55,9 +55,9 @@ instance Eq HsLit where _ == _ = 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.