projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make -dppr-debug print locations in HsSyn
[ghc-hetmet.git]
/
compiler
/
utils
/
Outputable.lhs
diff --git
a/compiler/utils/Outputable.lhs
b/compiler/utils/Outputable.lhs
index
5842c63
..
622138c
100644
(file)
--- a/
compiler/utils/Outputable.lhs
+++ b/
compiler/utils/Outputable.lhs
@@
-29,7
+29,7
@@
module Outputable (
($$), ($+$), vcat,
sep, cat,
fsep, fcat,
($$), ($+$), vcat,
sep, cat,
fsep, fcat,
- hang, punctuate,
+ hang, punctuate, ppWhen, ppUnless,
speakNth, speakNTimes, speakN, speakNOf, plural,
-- * Converting 'SDoc' into strings and outputing it
speakNth, speakNTimes, speakN, speakNOf, plural,
-- * Converting 'SDoc' into strings and outputing it
@@
-71,12
+71,11
@@
import FastString
import FastTypes
import qualified Pretty
import Pretty ( Doc, Mode(..) )
import FastTypes
import qualified Pretty
import Pretty ( Doc, Mode(..) )
-import Char ( isAlpha )
import Panic
import Panic
-import Data.Word ( Word32 )
+import Data.Char
+import Data.Word
import System.IO ( Handle, stderr, stdout, hFlush )
import System.IO ( Handle, stderr, stdout, hFlush )
-import Data.Char ( ord )
import System.FilePath
\end{code}
import System.FilePath
\end{code}
@@
-473,6
+472,13
@@
punctuate p (d:ds) = go d ds
where
go d [] = [d]
go d (e:es) = (d <> p) : go e es
where
go d [] = [d]
go d (e:es) = (d <> p) : go e es
+
+ppWhen, ppUnless :: Bool -> SDoc -> SDoc
+ppWhen True doc = doc
+ppWhen False _ = empty
+
+ppUnless True _ = empty
+ppUnless False doc = doc
\end{code}
\end{code}
@@
-496,9
+502,15
@@
instance Outputable Bool where
instance Outputable Int where
ppr n = int n
instance Outputable Int where
ppr n = int n
+instance Outputable Word16 where
+ ppr n = integer $ fromIntegral n
+
instance Outputable Word32 where
ppr n = integer $ fromIntegral n
instance Outputable Word32 where
ppr n = integer $ fromIntegral n
+instance Outputable Word where
+ ppr n = integer $ fromIntegral n
+
instance Outputable () where
ppr _ = text "()"
instance Outputable () where
ppr _ = text "()"