packages feed

mainland-pretty 0.5.0.0 → 0.6

raw patch · 3 files changed

+291/−232 lines, 3 filesdep +transformersdep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: transformers

Dependency ranges changed: base

API changes (from Hackage documentation)

- Text.PrettyPrint.Mainland: class Pretty a where ppr = pprPrec 0 pprPrec _ = ppr pprPrecList _ = pprList pprList xs = list (map ppr xs)
- Text.PrettyPrint.Mainland: instance (GHC.Real.Integral a, Text.PrettyPrint.Mainland.Pretty a) => Text.PrettyPrint.Mainland.Pretty (GHC.Real.Ratio a)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b) => Text.PrettyPrint.Mainland.Pretty (a, b)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c) => Text.PrettyPrint.Mainland.Pretty (a, b, c)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i, Text.PrettyPrint.Mainland.Pretty j) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i, j)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i, Text.PrettyPrint.Mainland.Pretty j, Text.PrettyPrint.Mainland.Pretty k) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i, j, k)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i, Text.PrettyPrint.Mainland.Pretty j, Text.PrettyPrint.Mainland.Pretty k, Text.PrettyPrint.Mainland.Pretty l) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i, j, k, l)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i, Text.PrettyPrint.Mainland.Pretty j, Text.PrettyPrint.Mainland.Pretty k, Text.PrettyPrint.Mainland.Pretty l, Text.PrettyPrint.Mainland.Pretty m) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i, Text.PrettyPrint.Mainland.Pretty j, Text.PrettyPrint.Mainland.Pretty k, Text.PrettyPrint.Mainland.Pretty l, Text.PrettyPrint.Mainland.Pretty m, Text.PrettyPrint.Mainland.Pretty n) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty a, Text.PrettyPrint.Mainland.Pretty b, Text.PrettyPrint.Mainland.Pretty c, Text.PrettyPrint.Mainland.Pretty d, Text.PrettyPrint.Mainland.Pretty e, Text.PrettyPrint.Mainland.Pretty f, Text.PrettyPrint.Mainland.Pretty g, Text.PrettyPrint.Mainland.Pretty h, Text.PrettyPrint.Mainland.Pretty i, Text.PrettyPrint.Mainland.Pretty j, Text.PrettyPrint.Mainland.Pretty k, Text.PrettyPrint.Mainland.Pretty l, Text.PrettyPrint.Mainland.Pretty m, Text.PrettyPrint.Mainland.Pretty n, Text.PrettyPrint.Mainland.Pretty o) => Text.PrettyPrint.Mainland.Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
- Text.PrettyPrint.Mainland: instance (Text.PrettyPrint.Mainland.Pretty k, Text.PrettyPrint.Mainland.Pretty v) => Text.PrettyPrint.Mainland.Pretty (Data.Map.Base.Map k v)
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty ()
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty Data.Loc.Loc
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty Data.Loc.Pos
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty Data.Text.Internal.Lazy.Text
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty Data.Text.Internal.Text
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Int.Int16
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Int.Int32
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Int.Int64
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Int.Int8
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Integer.Type.Integer
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Types.Bool
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Types.Char
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Types.Double
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Types.Float
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Types.Int
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Word.Word16
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Word.Word32
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Word.Word64
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty GHC.Word.Word8
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty a => Text.PrettyPrint.Mainland.Pretty (Data.Set.Base.Set a)
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty a => Text.PrettyPrint.Mainland.Pretty (GHC.Base.Maybe a)
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty a => Text.PrettyPrint.Mainland.Pretty [a]
- Text.PrettyPrint.Mainland: instance Text.PrettyPrint.Mainland.Pretty x => Text.PrettyPrint.Mainland.Pretty (Data.Loc.L x)
- Text.PrettyPrint.Mainland: ppr :: Pretty a => a -> Doc
- Text.PrettyPrint.Mainland: pprList :: Pretty a => [a] -> Doc
- Text.PrettyPrint.Mainland: pprPrec :: Pretty a => Int -> a -> Doc
- Text.PrettyPrint.Mainland: pprPrecList :: Pretty a => Int -> [a] -> Doc
+ Text.PrettyPrint.Mainland: prettyCompact :: Doc -> String
+ Text.PrettyPrint.Mainland: prettyCompactS :: Doc -> ShowS
+ Text.PrettyPrint.Mainland.Class: class Pretty a where ppr = pprPrec 0 pprPrec _ = ppr pprList xs = list (map ppr xs)
+ Text.PrettyPrint.Mainland.Class: instance (GHC.Float.RealFloat a, Text.PrettyPrint.Mainland.Class.Pretty a) => Text.PrettyPrint.Mainland.Class.Pretty (Data.Complex.Complex a)
+ Text.PrettyPrint.Mainland.Class: instance (GHC.Real.Integral a, Text.PrettyPrint.Mainland.Class.Pretty a) => Text.PrettyPrint.Mainland.Class.Pretty (GHC.Real.Ratio a)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b) => Text.PrettyPrint.Mainland.Class.Pretty (a, b)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i, Text.PrettyPrint.Mainland.Class.Pretty j) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i, j)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i, Text.PrettyPrint.Mainland.Class.Pretty j, Text.PrettyPrint.Mainland.Class.Pretty k) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i, j, k)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i, Text.PrettyPrint.Mainland.Class.Pretty j, Text.PrettyPrint.Mainland.Class.Pretty k, Text.PrettyPrint.Mainland.Class.Pretty l) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i, j, k, l)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i, Text.PrettyPrint.Mainland.Class.Pretty j, Text.PrettyPrint.Mainland.Class.Pretty k, Text.PrettyPrint.Mainland.Class.Pretty l, Text.PrettyPrint.Mainland.Class.Pretty m) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i, Text.PrettyPrint.Mainland.Class.Pretty j, Text.PrettyPrint.Mainland.Class.Pretty k, Text.PrettyPrint.Mainland.Class.Pretty l, Text.PrettyPrint.Mainland.Class.Pretty m, Text.PrettyPrint.Mainland.Class.Pretty n) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty a, Text.PrettyPrint.Mainland.Class.Pretty b, Text.PrettyPrint.Mainland.Class.Pretty c, Text.PrettyPrint.Mainland.Class.Pretty d, Text.PrettyPrint.Mainland.Class.Pretty e, Text.PrettyPrint.Mainland.Class.Pretty f, Text.PrettyPrint.Mainland.Class.Pretty g, Text.PrettyPrint.Mainland.Class.Pretty h, Text.PrettyPrint.Mainland.Class.Pretty i, Text.PrettyPrint.Mainland.Class.Pretty j, Text.PrettyPrint.Mainland.Class.Pretty k, Text.PrettyPrint.Mainland.Class.Pretty l, Text.PrettyPrint.Mainland.Class.Pretty m, Text.PrettyPrint.Mainland.Class.Pretty n, Text.PrettyPrint.Mainland.Class.Pretty o) => Text.PrettyPrint.Mainland.Class.Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
+ Text.PrettyPrint.Mainland.Class: instance (Text.PrettyPrint.Mainland.Class.Pretty k, Text.PrettyPrint.Mainland.Class.Pretty v) => Text.PrettyPrint.Mainland.Class.Pretty (Data.Map.Base.Map k v)
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty ()
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty Data.Loc.Loc
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty Data.Loc.Pos
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty Data.Text.Internal.Lazy.Text
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty Data.Text.Internal.Text
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Int.Int16
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Int.Int32
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Int.Int64
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Int.Int8
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Integer.Type.Integer
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Types.Bool
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Types.Char
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Types.Double
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Types.Float
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Types.Int
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Word.Word16
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Word.Word32
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Word.Word64
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty GHC.Word.Word8
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty a => Text.PrettyPrint.Mainland.Class.Pretty (Data.Set.Base.Set a)
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty a => Text.PrettyPrint.Mainland.Class.Pretty (GHC.Base.Maybe a)
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty a => Text.PrettyPrint.Mainland.Class.Pretty [a]
+ Text.PrettyPrint.Mainland.Class: instance Text.PrettyPrint.Mainland.Class.Pretty x => Text.PrettyPrint.Mainland.Class.Pretty (Data.Loc.L x)
+ Text.PrettyPrint.Mainland.Class: ppr :: Pretty a => a -> Doc
+ Text.PrettyPrint.Mainland.Class: pprList :: Pretty a => [a] -> Doc
+ Text.PrettyPrint.Mainland.Class: pprPrec :: Pretty a => Int -> a -> Doc
+ Text.PrettyPrint.Mainland.Class: pprint :: (Pretty a, MonadIO m) => a -> m ()

Files

Text/PrettyPrint/Mainland.hs view
@@ -66,19 +66,15 @@      -- * Document rendering     render, renderCompact,-    displayS, prettyS, pretty,+    displayS, prettyS, pretty, prettyCompactS, prettyCompact,     displayPragmaS, prettyPragmaS, prettyPragma,     displayLazyText, prettyLazyText,     displayPragmaLazyText, prettyPragmaLazyText,      -- * Document output-    putDoc, putDocLn, hPutDoc, hPutDocLn,--    -- * The 'Pretty' type class for pretty printing-    Pretty(..)+    putDoc, putDocLn, hPutDoc, hPutDocLn   ) where -import Data.Int import Data.Loc (L(..),                  Loc(..),                  Located(..),@@ -97,8 +93,6 @@ import qualified Data.Text.Lazy.IO as TIO import qualified Data.Text.Lazy as L import qualified Data.Text.Lazy.Builder as B-import Data.Word-import GHC.Real (Ratio(..)) import System.IO (Handle)  -- | The abstract type of documents.@@ -686,6 +680,14 @@ pretty :: Int -> Doc -> String pretty w x = prettyS w x "" +-- | Render and display a document compactly.+prettyCompactS :: Doc -> ShowS+prettyCompactS x = displayS (renderCompact x)++-- | Render and convert a document to a 'String' compactly.+prettyCompact :: Doc -> String+prettyCompact x = prettyCompactS x ""+ -- | Display a rendered document with #line pragmas. displayPragmaS :: RDoc -> ShowS displayPragmaS = go@@ -782,10 +784,10 @@         renderPosFile p      renderPosLine :: Pos -> B.Builder-    renderPosLine = go . renderCompact . ppr . posLine+    renderPosLine = go . renderCompact . int . posLine      renderPosFile :: Pos -> B.Builder-    renderPosFile = go . renderCompact . enclose dquote dquote . ppr . posFile+    renderPosFile = go . renderCompact . enclose dquote dquote . string . posFile  -- | Render and convert a document to 'L.Text' with #line pragmas. Uses a builder. prettyPragmaLazyText :: Int -> Doc -> L.Text@@ -808,219 +810,3 @@ -- followed by a newline. hPutDocLn :: Handle -> Doc -> IO () hPutDocLn h = TIO.hPutStrLn h . prettyLazyText 80--class Pretty a where-#if __GLASGOW_HASKELL__ >= 708-    {-# MINIMAL pprPrec | ppr #-}-#endif-    ppr     :: a -> Doc-    pprPrec :: Int -> a -> Doc--    pprList     :: [a] -> Doc-    pprPrecList :: Int -> [a] -> Doc--    ppr        = pprPrec 0-    pprPrec _  = ppr--    pprPrecList _  = pprList-    pprList xs     = list (map ppr xs)--instance Pretty a => Pretty [a] where-    ppr     = pprList-    pprPrec = pprPrecList--instance Pretty a => Pretty (Maybe a) where-    pprPrec _ Nothing  = empty-    pprPrec p (Just a) = pprPrec p a--instance Pretty Bool where-    ppr = bool--instance Pretty Char where-    ppr     = char-    pprList = string--instance Pretty Int where-    ppr = int--instance Pretty Integer where-    ppr = integer--instance Pretty Float where-    ppr = float--instance Pretty Double where-    ppr = double--ratioPrec, ratioPrec1 :: Int-ratioPrec  = 7  -- Precedence of ':%' constructor-ratioPrec1 = ratioPrec + 1--instance (Integral a, Pretty a) => Pretty (Ratio a)  where-    {-# SPECIALIZE instance Pretty Rational #-}-    pprPrec p (x:%y) =-        parensIf (p > ratioPrec) $-        pprPrec ratioPrec1 x <+> char '%' <+> pprPrec ratioPrec1 y--instance Pretty Word8 where-    ppr = text . show--instance Pretty Word16 where-    ppr = text . show--instance Pretty Word32 where-    ppr = text . show--instance Pretty Word64 where-    ppr = text . show--instance Pretty Int8 where-    ppr = text . show--instance Pretty Int16 where-    ppr = text . show--instance Pretty Int32 where-    ppr = text . show--instance Pretty Int64 where-    ppr = text . show--instance Pretty T.Text where-    ppr = strictText--instance Pretty L.Text where-    ppr = lazyText--instance Pretty Pos where-    ppr p@(Pos _ l c _) =-        text (posFile p) <> colon <> ppr l <> colon <> ppr c--instance Pretty Loc where-    ppr NoLoc = text "<no location info>"--    ppr (Loc p1@(Pos f1 l1 c1 _) p2@(Pos f2 l2 c2 _))-        | f1 == f2   = text (posFile p1) <> colon <//> pprLineCol l1 c1 l2 c2-        | otherwise  = ppr p1 <> text "-" <> ppr p2-      where-        pprLineCol :: Int -> Int -> Int -> Int -> Doc-        pprLineCol l1 c1 l2 c2-            | l1 == l2 && c1 == c2  =  ppr l1 <//> colon <//> ppr c1-            | l1 == l2 && c1 /= c2  =  ppr l1 <//> colon <//>-                                       ppr c1 <> text "-" <> ppr c2-            | otherwise             =  ppr l1 <//> colon <//> ppr c1-                                       <> text "-" <>-                                       ppr l2 <//> colon <//> ppr c2--instance Pretty x => Pretty (L x) where-    pprPrec p (L _ x) = pprPrec p x--instance (Pretty k, Pretty v) => Pretty (Map.Map k v) where-    ppr = pprList . Map.toList--instance Pretty a => Pretty (Set.Set a) where-    ppr = pprList . Set.toList--instance Pretty () where-    ppr () =-        tuple []--instance (Pretty a, Pretty b)-  => Pretty (a, b) where-    ppr (a, b) =-        tuple [ppr a, ppr b]--instance (Pretty a, Pretty b, Pretty c)-  => Pretty (a, b, c) where-    ppr (a, b, c) =-        tuple [ppr a, ppr b, ppr c]--instance (Pretty a, Pretty b, Pretty c, Pretty d)-  => Pretty (a, b, c, d) where-    ppr (a, b, c, d) =-        tuple [ppr a, ppr b, ppr c, ppr d]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e)-  => Pretty (a, b, c, d, e) where-    ppr (a, b, c, d, e) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f)-  => Pretty (a, b, c, d, e, f) where-    ppr (a, b, c, d, e, f) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g)-  => Pretty (a, b, c, d, e, f, g) where-    ppr (a, b, c, d, e, f, g) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h)-  => Pretty (a, b, c, d, e, f, g, h) where-    ppr (a, b, c, d, e, f, g, h) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i)-  => Pretty (a, b, c, d, e, f, g, h, i) where-    ppr (a, b, c, d, e, f, g, h, i) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j)-  => Pretty (a, b, c, d, e, f, g, h, i, j) where-    ppr (a, b, c, d, e, f, g, h, i, j) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i, ppr j]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,-          Pretty k)-  => Pretty (a, b, c, d, e, f, g, h, i, j, k) where-    ppr (a, b, c, d, e, f, g, h, i, j, k) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i, ppr j,-               ppr k]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,-          Pretty k, Pretty l)-  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l) where-    ppr (a, b, c, d, e, f, g, h, i, j, k, l) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i, ppr j,-               ppr k, ppr l]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,-          Pretty k, Pretty l, Pretty m)-  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m) where-    ppr (a, b, c, d, e, f, g, h, i, j, k, l, m) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i, ppr j,-               ppr k, ppr l, ppr m]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,-          Pretty k, Pretty l, Pretty m, Pretty n)-  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n) where-    ppr (a, b, c, d, e, f, g, h, i, j, k, l, m, n) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i, ppr j,-               ppr k, ppr l, ppr m, ppr n]--instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,-          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,-          Pretty k, Pretty l, Pretty m, Pretty n, Pretty o)-  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) where-    ppr (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) =-        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,-               ppr f, ppr g, ppr h, ppr i, ppr j,-               ppr k, ppr l, ppr m, ppr n, ppr o]
+ Text/PrettyPrint/Mainland/Class.hs view
@@ -0,0 +1,270 @@+{-# LANGUAGE CPP #-}++-- |+-- Module      :  Text.PrettyPrint.Mainland+-- Copyright   :  (c) 2006-2011 Harvard University+--                (c) 2011-2012 Geoffrey Mainland+--                (c) 2015-2017 Drexel University+-- License     :  BSD-style+-- Maintainer  :  mainland@drexel.edu+--+-- Stability   :  provisional+-- Portability :  portable+--+-- This module is based on /A Prettier Printer/ by Phil Wadler in+-- /The Fun of Programming/, Jeremy Gibbons and Oege de Moor (eds)+-- <http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf>+--+-- At the time it was originally written I didn't know about Daan Leijen's+-- pretty printing module based on the same paper. I have since incorporated+-- many of his improvements. This module is geared towards pretty printing+-- source code; its main advantages over other libraries are the ability to+-- automatically track the source locations associated with pretty printed+-- values and output appropriate #line pragmas and the use of+-- 'Data.Text.Lazy.Text' for output.++module Text.PrettyPrint.Mainland.Class (+    -- * The 'Pretty' type class for pretty printing+    Pretty(..),++    pprint+  ) where++import Control.Monad.IO.Class (MonadIO, liftIO)+import Data.Complex (Complex, realPart, imagPart)+import Data.Int+import Data.Loc (L(..),+                 Loc(..),+                 Pos(..),+                 posFile)+import qualified Data.Map as Map+import qualified Data.Set as Set+import qualified Data.Text as T+import qualified Data.Text.Lazy as L+import Data.Word+import Data.Ratio (Ratio(..), denominator, numerator)++import Text.PrettyPrint.Mainland++-- | The 'pprint' function outputs a value of any type that is an instance of+-- 'Pretty' to the standard output device by calling 'ppr' and adding a newline.+pprint :: (Pretty a, MonadIO m) => a -> m ()+pprint = liftIO . putDocLn . ppr++class Pretty a where+#if __GLASGOW_HASKELL__ >= 708+    {-# MINIMAL pprPrec | ppr #-}+#endif+    ppr     :: a -> Doc+    pprPrec :: Int -> a -> Doc+    pprList :: [a] -> Doc++    ppr        = pprPrec 0+    pprPrec _  = ppr+    pprList xs = list (map ppr xs)++instance Pretty a => Pretty [a] where+    ppr = pprList++instance Pretty a => Pretty (Maybe a) where+    pprPrec _ Nothing  = empty+    pprPrec p (Just a) = pprPrec p a++instance Pretty Bool where+    ppr = bool++instance Pretty Char where+    ppr     = char+    pprList = string++instance Pretty Int where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Integer where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Float where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Double where+    pprPrec p x = text (showsPrec p x "")++ratioPrec, ratioPrec1 :: Int+ratioPrec  = 7  -- Precedence of ':%' constructor+ratioPrec1 = ratioPrec + 1++instance (Integral a, Pretty a) => Pretty (Ratio a)  where+    pprPrec p x =+        parensIf (p > ratioPrec) $+        pprPrec ratioPrec1 (numerator x) <+> char '%' <+> pprPrec ratioPrec1 (denominator x)++addPrec :: Int+addPrec  = 6  -- Precedence of '+'++instance (RealFloat a, Pretty a) => Pretty (Complex a)  where+    pprPrec p x =+        parensIf (p > addPrec) $+        pprPrec addPrec (realPart x) <+> text ":+" <+> pprPrec addPrec (imagPart x)++instance Pretty Word8 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Word16 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Word32 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Word64 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Int8 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Int16 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Int32 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty Int64 where+    pprPrec p x = text (showsPrec p x "")++instance Pretty T.Text where+    ppr = strictText++instance Pretty L.Text where+    ppr = lazyText++instance Pretty Pos where+    ppr p@(Pos _ l c _) =+        text (posFile p) <> colon <> ppr l <> colon <> ppr c++instance Pretty Loc where+    ppr NoLoc = text "<no location info>"++    ppr (Loc p1@(Pos f1 l1 c1 _) p2@(Pos f2 l2 c2 _))+        | f1 == f2   = text (posFile p1) <> colon <//> pprLineCol l1 c1 l2 c2+        | otherwise  = ppr p1 <> text "-" <> ppr p2+      where+        pprLineCol :: Int -> Int -> Int -> Int -> Doc+        pprLineCol l1 c1 l2 c2+            | l1 == l2 && c1 == c2  =  ppr l1 <//> colon <//> ppr c1+            | l1 == l2 && c1 /= c2  =  ppr l1 <//> colon <//>+                                       ppr c1 <> text "-" <> ppr c2+            | otherwise             =  ppr l1 <//> colon <//> ppr c1+                                       <> text "-" <>+                                       ppr l2 <//> colon <//> ppr c2++instance Pretty x => Pretty (L x) where+    pprPrec p (L _ x) = pprPrec p x++instance (Pretty k, Pretty v) => Pretty (Map.Map k v) where+    ppr = pprList . Map.toList++instance Pretty a => Pretty (Set.Set a) where+    ppr = pprList . Set.toList++instance Pretty () where+    ppr () =+        tuple []++instance (Pretty a, Pretty b)+  => Pretty (a, b) where+    ppr (a, b) =+        tuple [ppr a, ppr b]++instance (Pretty a, Pretty b, Pretty c)+  => Pretty (a, b, c) where+    ppr (a, b, c) =+        tuple [ppr a, ppr b, ppr c]++instance (Pretty a, Pretty b, Pretty c, Pretty d)+  => Pretty (a, b, c, d) where+    ppr (a, b, c, d) =+        tuple [ppr a, ppr b, ppr c, ppr d]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e)+  => Pretty (a, b, c, d, e) where+    ppr (a, b, c, d, e) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f)+  => Pretty (a, b, c, d, e, f) where+    ppr (a, b, c, d, e, f) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g)+  => Pretty (a, b, c, d, e, f, g) where+    ppr (a, b, c, d, e, f, g) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h)+  => Pretty (a, b, c, d, e, f, g, h) where+    ppr (a, b, c, d, e, f, g, h) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i)+  => Pretty (a, b, c, d, e, f, g, h, i) where+    ppr (a, b, c, d, e, f, g, h, i) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j)+  => Pretty (a, b, c, d, e, f, g, h, i, j) where+    ppr (a, b, c, d, e, f, g, h, i, j) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i, ppr j]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,+          Pretty k)+  => Pretty (a, b, c, d, e, f, g, h, i, j, k) where+    ppr (a, b, c, d, e, f, g, h, i, j, k) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i, ppr j,+               ppr k]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,+          Pretty k, Pretty l)+  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l) where+    ppr (a, b, c, d, e, f, g, h, i, j, k, l) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i, ppr j,+               ppr k, ppr l]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,+          Pretty k, Pretty l, Pretty m)+  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m) where+    ppr (a, b, c, d, e, f, g, h, i, j, k, l, m) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i, ppr j,+               ppr k, ppr l, ppr m]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,+          Pretty k, Pretty l, Pretty m, Pretty n)+  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n) where+    ppr (a, b, c, d, e, f, g, h, i, j, k, l, m, n) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i, ppr j,+               ppr k, ppr l, ppr m, ppr n]++instance (Pretty a, Pretty b, Pretty c, Pretty d, Pretty e,+          Pretty f, Pretty g, Pretty h, Pretty i, Pretty j,+          Pretty k, Pretty l, Pretty m, Pretty n, Pretty o)+  => Pretty (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) where+    ppr (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) =+        tuple [ppr a, ppr b, ppr c, ppr d, ppr e,+               ppr f, ppr g, ppr h, ppr i, ppr j,+               ppr k, ppr l, ppr m, ppr n, ppr o]
mainland-pretty.cabal view
@@ -1,5 +1,5 @@ name:           mainland-pretty-version:        0.5.0.0+version:        0.6 cabal-version:  >= 1.6 license:        BSD3 license-file:   LICENSE@@ -10,6 +10,7 @@ maintainer:     Geoffrey Mainland <mainland@drexel.edu> stability:      alpha homepage:       https://github.com/mainland/mainland-pretty+bug-reports:    https://github.com/mainland/mainland-pretty/issues category:       Text synopsis:       Pretty printing designed for printing source code. description:    Pretty printing designed for printing source code based on@@ -18,19 +19,21 @@ 		locations associated with pretty printed values and output 		appropriate #line pragmas and its ability to produce output                 in the form of lazy text using a builder.-tested-with:    GHC==7.4.2, GHC==7.6.3, GHC==7.8.3, GHC==7.10.3, GHC==8.0.1+tested-with:    GHC==7.4.2, GHC==7.6.3, GHC==7.8.3, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1  build-type:     Simple  library   exposed-modules:     Text.PrettyPrint.Mainland+    Text.PrettyPrint.Mainland.Class    build-depends:-    base       >= 4    && < 5,-    containers >= 0.2  && < 0.6,-    srcloc     >= 0.2  && < 0.6,-    text       >  0.11 && < 1.3+    base         >= 4.5  && < 5,+    containers   >= 0.2  && < 0.6,+    srcloc       >= 0.2  && < 0.6,+    text         >  0.11 && < 1.3,+    transformers >  0.3  && < 0.6  source-repository head   type:     git