Hello!
I think it's better that the ghc can read what is printed by pretty
printer.
Now:
pprLit 0 (RationalL 3.5) => 7 % 2
I want:
pprLit 0 (RationalL 3.5) => 7 / 2
I'll send patch
---
pprLit i (RationalL rat) = parensIf (i > noPrec) $
integer (numerator rat) <+> char '/' <+> integer (denominator rat)
diff --git a/Language/Haskell/TH/Ppr.hs b/Language/Haskell/TH/Ppr.hs
index 78d422a..563c7f7 100644
--- a/Language/Haskell/TH/Ppr.hs
+++ b/Language/Haskell/TH/Ppr.hs
@@ -12,6 +12,7 @@ import Language.Haskell.TH.Syntax
import Data.Word ( Word8 )
import Data.Char ( toLower, chr )
import GHC.Show ( showMultiLineString )
+import Data.Ratio ( numerator, denominator )
nestDepth :: Int
nestDepth = 4
@@ -189,7 +190,8 @@ pprLit i (IntegerL x) = parensIf (i > noPrec && x < 0) (integer x)
pprLit _ (CharL c) = text (show c)
pprLit _ (StringL s) = pprString s
pprLit _ (StringPrimL s) = pprString (bytesToString s) <> char '#'
-pprLit i (RationalL rat) = parensIf (i > noPrec) $ rational rat
+pprLit i (RationalL rat) = parensIf (i > noPrec) $
+ integer (numerator rat) <+> char '/' <+> integer (denominator rat)
bytesToString :: [Word8] -> String
bytesToString = map (chr . fromIntegral)
_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs