projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-11-30 14:20:06 by simonpj]
[ghc-hetmet.git]
/
ghc
/
compiler
/
hsSyn
/
HsPat.lhs
diff --git
a/ghc/compiler/hsSyn/HsPat.lhs
b/ghc/compiler/hsSyn/HsPat.lhs
index
322549b
..
4880120
100644
(file)
--- a/
ghc/compiler/hsSyn/HsPat.lhs
+++ b/
ghc/compiler/hsSyn/HsPat.lhs
@@
-79,7
+79,7
@@
data Pat id
| LitPat HsLit -- Used for *non-overloaded* literal patterns:
-- Int#, Char#, Int, Char, String, etc.
| LitPat HsLit -- Used for *non-overloaded* literal patterns:
-- Int#, Char#, Int, Char, String, etc.
- | NPat (HsOverLit id) -- *Always* positive
+ | NPat (HsOverLit id) -- ALWAYS positive
(Maybe (SyntaxExpr id)) -- Just (Name of 'negate') for negative
-- patterns, Nothing otherwise
(SyntaxExpr id) -- Equality checker, of type t->t->Bool
(Maybe (SyntaxExpr id)) -- Just (Name of 'negate') for negative
-- patterns, Nothing otherwise
(SyntaxExpr id) -- Equality checker, of type t->t->Bool
@@
-166,7
+166,8
@@
pprPat (ConPatOut con tvs dicts binds details _)
else pprUserCon con details
pprPat (LitPat s) = ppr s
else pprUserCon con details
pprPat (LitPat s) = ppr s
-pprPat (NPat l _ _ _) = ppr l
+pprPat (NPat l Nothing _ _) = ppr l
+pprPat (NPat l (Just _) _ _) = char '-' <> ppr l
pprPat (NPlusKPat n k _ _) = hcat [ppr n, char '+', ppr k]
pprPat (TypePat ty) = ptext SLIT("{|") <> ppr ty <> ptext SLIT("|}")
pprPat (SigPatIn pat ty) = ppr pat <+> dcolon <+> ppr ty
pprPat (NPlusKPat n k _ _) = hcat [ppr n, char '+', ppr k]
pprPat (TypePat ty) = ptext SLIT("{|") <> ppr ty <> ptext SLIT("|}")
pprPat (SigPatIn pat ty) = ppr pat <+> dcolon <+> ppr ty