fortran-src-0.15.0: Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial).
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.PrettyPrint.GenericPretty.ViaShow

Description

Low-boilerplate Out instances for Showables using DerivingVia.

Useful for integrating types that don't work nicely with Generic with GenericPretty. (Really, there should be a class like Out directly in pretty, but alas.)

Use as follows:

data EeGadts a where C1 :: EeGadts Bool C2 :: EeGadts String deriving stock instance Show (EeGadts a) deriving via OutShowly (EeGadts a) instance Out (EeGadts a)

Synopsis

Documentation

newtype OutShowly a Source #

Constructors

OutShowly 

Fields

Instances

Instances details
Show a => Out (OutShowly a) Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.ViaShow

Methods

docPrec :: Int -> OutShowly a -> Doc #

doc :: OutShowly a -> Doc #

docList :: [OutShowly a] -> Doc #

class Out a #

The class Out is the equivalent of Show

It provides conversion of values to pretty printable Pretty.Doc's.

Minimal complete definition: docPrec or doc.

Derived instances of Out have the following properties

  • The result of docPrec is a syntactically correct Haskell expression containing only constants, given the fixity declarations in force at the point where the type is declared. It contains only the constructor names defined in the data type, parentheses, and spaces. When labelled constructor fields are used, braces, commas, field names, and equal signs are also used.
  • If the constructor is defined to be an infix operator, then docPrec will produce infix applications of the constructor.
  • the representation will be enclosed in parentheses if the precedence of the top-level constructor in x is less than d (associativity is ignored). Thus, if d is 0 then the result is never surrounded in parentheses; if d is 11 it is always surrounded in parentheses, unless it is an atomic expression.
  • If the constructor is defined using record syntax, then docPrec will produce the record-syntax form, with the fields given in the same order as the original declaration.

For example, given the declarations

data Tree a =  Leaf a  |  Node (Tree a) (Tree a) deriving (Generic)

The derived instance of Out is equivalent to:

instance (Out a) => Out (Tree a) where
 
        docPrec d (Leaf m) = Pretty.sep $ wrapParens (d > appPrec) $
             text "Leaf" : [nest (constrLen + parenLen) (docPrec (appPrec+1) m)]
          where appPrec = 10
                constrLen = 5;
                parenLen = if(d > appPrec) then 1 else 0

        docPrec d (Node u v) = Pretty.sep $ wrapParens (d > appPrec) $
             text "Node" : 
             nest (constrLen + parenLen) (docPrec (appPrec+1) u) : 
             [nest (constrLen + parenLen) (docPrec (appPrec+1) v)]
          where appPrec = 10
                constrLen = 5
                parenLen = if(d > appPrec) then 1 else 0

Instances

Instances details
Out Int16 Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Int16 -> Doc #

doc :: Int16 -> Doc #

docList :: [Int16] -> Doc #

Out Int32 Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Int32 -> Doc #

doc :: Int32 -> Doc #

docList :: [Int32] -> Doc #

Out Int64 Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Int64 -> Doc #

doc :: Int64 -> Doc #

docList :: [Int64] -> Doc #

Out Int8 Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Int8 -> Doc #

doc :: Int8 -> Doc #

docList :: [Int8] -> Doc #

Out Rational 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Rational -> Doc #

doc :: Rational -> Doc #

docList :: [Rational] -> Doc #

Out BaseType Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> BaseType -> Doc #

doc :: BaseType -> Doc #

docList :: [BaseType] -> Doc #

Out BinaryOp Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> BinaryOp -> Doc #

doc :: BinaryOp -> Doc #

docList :: [BinaryOp] -> Doc #

Out Intent Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Intent -> Doc #

doc :: Intent -> Doc #

docList :: [Intent] -> Doc #

Out MetaInfo Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> MetaInfo -> Doc #

doc :: MetaInfo -> Doc #

docList :: [MetaInfo] -> Doc #

Out ModuleNature Source # 
Instance details

Defined in Language.Fortran.AST

Out Only Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Only -> Doc #

doc :: Only -> Doc #

docList :: [Only] -> Doc #

Out UnaryOp Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> UnaryOp -> Doc #

doc :: UnaryOp -> Doc #

docList :: [UnaryOp] -> Doc #

Out Boz Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Boz

Methods

docPrec :: Int -> Boz -> Doc #

doc :: Boz -> Doc #

docList :: [Boz] -> Doc #

Out BozPrefix Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Boz

Methods

docPrec :: Int -> BozPrefix -> Doc #

doc :: BozPrefix -> Doc #

docList :: [BozPrefix] -> Doc #

Out Conforming Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Boz

Out Exponent Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Real

Methods

docPrec :: Int -> Exponent -> Doc #

doc :: Exponent -> Doc #

docList :: [Exponent] -> Doc #

Out ExponentLetter Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Real

Out RealLit Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Real

Methods

docPrec :: Int -> RealLit -> Doc #

doc :: RealLit -> Doc #

docList :: [RealLit] -> Doc #

Out ConstructType Source # 
Instance details

Defined in Language.Fortran.Analysis

Out IDType Source # 
Instance details

Defined in Language.Fortran.Analysis

Methods

docPrec :: Int -> IDType -> Doc #

doc :: IDType -> Doc #

docList :: [IDType] -> Doc #

Out NameType Source # 
Instance details

Defined in Language.Fortran.Analysis

Methods

docPrec :: Int -> NameType -> Doc #

doc :: NameType -> Doc #

docList :: [NameType] -> Doc #

Out CharacterLen Source # 
Instance details

Defined in Language.Fortran.Analysis.SemanticTypes

Out SemType Source # 
Instance details

Defined in Language.Fortran.Analysis.SemanticTypes

Methods

docPrec :: Int -> SemType -> Doc #

doc :: SemType -> Doc #

docList :: [SemType] -> Doc #

Out FTComplexWrapper Source # 
Instance details

Defined in Language.Fortran.Repr.Type.Scalar.Complex

Out FTInt Source # 
Instance details

Defined in Language.Fortran.Repr.Type.Scalar.Int

Methods

docPrec :: Int -> FTInt -> Doc #

doc :: FTInt -> Doc #

docList :: [FTInt] -> Doc #

Out FTReal Source # 
Instance details

Defined in Language.Fortran.Repr.Type.Scalar.Real

Methods

docPrec :: Int -> FTReal -> Doc #

doc :: FTReal -> Doc #

docList :: [FTReal] -> Doc #

Out CharLen Source # 
Instance details

Defined in Language.Fortran.Repr.Type.Scalar.String

Methods

docPrec :: Int -> CharLen -> Doc #

doc :: CharLen -> Doc #

docList :: [CharLen] -> Doc #

Out FValue Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Machine

Methods

docPrec :: Int -> FValue -> Doc #

doc :: FValue -> Doc #

docList :: [FValue] -> Doc #

Out FComplex Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Complex

Methods

docPrec :: Int -> FComplex -> Doc #

doc :: FComplex -> Doc #

docList :: [FComplex] -> Doc #

Out FInt Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Machine

Methods

docPrec :: Int -> FInt -> Doc #

doc :: FInt -> Doc #

docList :: [FInt] -> Doc #

Out FScalarValue Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Machine

Out FReal Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Real

Methods

docPrec :: Int -> FReal -> Doc #

doc :: FReal -> Doc #

docList :: [FReal] -> Doc #

Out SomeFString Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.String

Out SrcSpan Source # 
Instance details

Defined in Language.Fortran.Util.Position

Methods

docPrec :: Int -> SrcSpan -> Doc #

doc :: SrcSpan -> Doc #

docList :: [SrcSpan] -> Doc #

Out FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Out Text Source #

Not particularly efficient (but neither is GenericPretty).

Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Text -> Doc #

doc :: Text -> Doc #

docList :: [Text] -> Doc #

Out Integer 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Integer -> Doc #

doc :: Integer -> Doc #

docList :: [Integer] -> Doc #

Out Natural Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Natural -> Doc #

doc :: Natural -> Doc #

docList :: [Natural] -> Doc #

Out () 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> () -> Doc #

doc :: () -> Doc #

docList :: [()] -> Doc #

Out Bool 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Bool -> Doc #

doc :: Bool -> Doc #

docList :: [Bool] -> Doc #

Out Char 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Char -> Doc #

doc :: Char -> Doc #

docList :: [Char] -> Doc #

Out Double 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Double -> Doc #

doc :: Double -> Doc #

docList :: [Double] -> Doc #

Out Float 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Float -> Doc #

doc :: Float -> Doc #

docList :: [Float] -> Doc #

Out Int 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Int -> Doc #

doc :: Int -> Doc #

docList :: [Int] -> Doc #

Out a => Out (AllocOpt a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> AllocOpt a -> Doc #

doc :: AllocOpt a -> Doc #

docList :: [AllocOpt a] -> Doc #

Out a => Out (Argument a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Argument a -> Doc #

doc :: Argument a -> Doc #

docList :: [Argument a] -> Doc #

Out a => Out (ArgumentExpression a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (Attribute a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Attribute a -> Doc #

doc :: Attribute a -> Doc #

docList :: [Attribute a] -> Doc #

Out a => Out (Block a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Block a -> Doc #

doc :: Block a -> Doc #

docList :: [Block a] -> Doc #

Out a => Out (CommonGroup a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> CommonGroup a -> Doc #

doc :: CommonGroup a -> Doc #

docList :: [CommonGroup a] -> Doc #

Out a => Out (ControlPair a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ControlPair a -> Doc #

doc :: ControlPair a -> Doc #

docList :: [ControlPair a] -> Doc #

Out a => Out (DataGroup a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> DataGroup a -> Doc #

doc :: DataGroup a -> Doc #

docList :: [DataGroup a] -> Doc #

Out a => Out (Declarator a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Declarator a -> Doc #

doc :: Declarator a -> Doc #

docList :: [Declarator a] -> Doc #

Out a => Out (DeclaratorType a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (DimensionDeclarator a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (DoSpecification a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (Expression a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Expression a -> Doc #

doc :: Expression a -> Doc #

docList :: [Expression a] -> Doc #

Out a => Out (FlushSpec a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> FlushSpec a -> Doc #

doc :: FlushSpec a -> Doc #

docList :: [FlushSpec a] -> Doc #

Out a => Out (ForallHeader a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ForallHeader a -> Doc #

doc :: ForallHeader a -> Doc #

docList :: [ForallHeader a] -> Doc #

Out a => Out (ForallHeaderPart a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (FormatItem a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> FormatItem a -> Doc #

doc :: FormatItem a -> Doc #

docList :: [FormatItem a] -> Doc #

Out a => Out (ImpElement a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ImpElement a -> Doc #

doc :: ImpElement a -> Doc #

docList :: [ImpElement a] -> Doc #

Out a => Out (ImpList a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ImpList a -> Doc #

doc :: ImpList a -> Doc #

docList :: [ImpList a] -> Doc #

Out a => Out (Index a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Index a -> Doc #

doc :: Index a -> Doc #

docList :: [Index a] -> Doc #

Out a => Out (Namelist a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Namelist a -> Doc #

doc :: Namelist a -> Doc #

docList :: [Namelist a] -> Doc #

Out a => Out (Prefix a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Prefix a -> Doc #

doc :: Prefix a -> Doc #

docList :: [Prefix a] -> Doc #

Out a => Out (ProcDecl a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ProcDecl a -> Doc #

doc :: ProcDecl a -> Doc #

docList :: [ProcDecl a] -> Doc #

Out a => Out (ProcInterface a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (ProgramFile a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ProgramFile a -> Doc #

doc :: ProgramFile a -> Doc #

docList :: [ProgramFile a] -> Doc #

Out a => Out (ProgramUnit a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> ProgramUnit a -> Doc #

doc :: ProgramUnit a -> Doc #

docList :: [ProgramUnit a] -> Doc #

Out a => Out (Selector a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Selector a -> Doc #

doc :: Selector a -> Doc #

docList :: [Selector a] -> Doc #

Out a => Out (Statement a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Statement a -> Doc #

doc :: Statement a -> Doc #

docList :: [Statement a] -> Doc #

Out a => Out (StructureItem a) Source # 
Instance details

Defined in Language.Fortran.AST

Out a => Out (Suffix a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Suffix a -> Doc #

doc :: Suffix a -> Doc #

docList :: [Suffix a] -> Doc #

Out a => Out (TypeSpec a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> TypeSpec a -> Doc #

doc :: TypeSpec a -> Doc #

docList :: [TypeSpec a] -> Doc #

Out a => Out (UnionMap a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> UnionMap a -> Doc #

doc :: UnionMap a -> Doc #

docList :: [UnionMap a] -> Doc #

Out a => Out (Use a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Use a -> Doc #

doc :: Use a -> Doc #

docList :: [Use a] -> Doc #

Out a => Out (Value a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Value a -> Doc #

doc :: Value a -> Doc #

docList :: [Value a] -> Doc #

Out a => Out (KindParam a) Source # 
Instance details

Defined in Language.Fortran.AST.Literal

Methods

docPrec :: Int -> KindParam a -> Doc #

doc :: KindParam a -> Doc #

docList :: [KindParam a] -> Doc #

Out a => Out (ComplexLit a) Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Complex

Methods

docPrec :: Int -> ComplexLit a -> Doc #

doc :: ComplexLit a -> Doc #

docList :: [ComplexLit a] -> Doc #

Out a => Out (ComplexPart a) Source # 
Instance details

Defined in Language.Fortran.AST.Literal.Complex

Methods

docPrec :: Int -> ComplexPart a -> Doc #

doc :: ComplexPart a -> Doc #

docList :: [ComplexPart a] -> Doc #

Out (Analysis a) Source # 
Instance details

Defined in Language.Fortran.Analysis

Methods

docPrec :: Int -> Analysis a -> Doc #

doc :: Analysis a -> Doc #

docList :: [Analysis a] -> Doc #

Out a => Out (Dim a) Source #

Fortran syntax uses lower:upper, so only provide an Out instance for that style.

Instance details

Defined in Language.Fortran.Common.Array

Methods

docPrec :: Int -> Dim a -> Doc #

doc :: Dim a -> Doc #

docList :: [Dim a] -> Doc #

Out (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

docPrec :: Int -> FIntI k -> Doc #

doc :: FIntI k -> Doc #

docList :: [FIntI k] -> Doc #

Show a => Out (OutShowly a) Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.ViaShow

Methods

docPrec :: Int -> OutShowly a -> Doc #

doc :: OutShowly a -> Doc #

docList :: [OutShowly a] -> Doc #

Out a => Out (NonEmpty a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> NonEmpty a -> Doc #

doc :: NonEmpty a -> Doc #

docList :: [NonEmpty a] -> Doc #

Out a => Out (Maybe a) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Maybe a -> Doc #

doc :: Maybe a -> Doc #

docList :: [Maybe a] -> Doc #

Out a => Out [a] 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> [a] -> Doc #

doc :: [a] -> Doc #

docList :: [[a]] -> Doc #

(Out a, Out b) => Out (Either a b) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> Either a b -> Doc #

doc :: Either a b -> Doc #

docList :: [Either a b] -> Doc #

Out a => Out (Comment a) Source # 
Instance details

Defined in Language.Fortran.AST

Methods

docPrec :: Int -> Comment a -> Doc #

doc :: Comment a -> Doc #

docList :: [Comment a] -> Doc #

(Out a, Out (t a)) => Out (AList t a) Source # 
Instance details

Defined in Language.Fortran.AST.AList

Methods

docPrec :: Int -> AList t a -> Doc #

doc :: AList t a -> Doc #

docList :: [AList t a] -> Doc #

(Foldable t, Functor t, Out (Dim a), Out a) => Out (Dims t a) Source # 
Instance details

Defined in Language.Fortran.Common.Array

Methods

docPrec :: Int -> Dims t a -> Doc #

doc :: Dims t a -> Doc #

docList :: [Dims t a] -> Doc #

(Out a, Out b) => Out (a, b) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> (a, b) -> Doc #

doc :: (a, b) -> Doc #

docList :: [(a, b)] -> Doc #

(Out a, Out (t1 a), Out (t2 a)) => Out (ATuple t1 t2 a) Source # 
Instance details

Defined in Language.Fortran.AST.AList

Methods

docPrec :: Int -> ATuple t1 t2 a -> Doc #

doc :: ATuple t1 t2 a -> Doc #

docList :: [ATuple t1 t2 a] -> Doc #

(forall (fk :: k2). Show (ft fk)) => Out (SomeFKinded k1 ft) Source #

Derive Out instances via Show.

Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Common

Methods

docPrec :: Int -> SomeFKinded k1 ft -> Doc #

doc :: SomeFKinded k1 ft -> Doc #

docList :: [SomeFKinded k1 ft] -> Doc #

(Out a, Out b, Out c) => Out (a, b, c) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> (a, b, c) -> Doc #

doc :: (a, b, c) -> Doc #

docList :: [(a, b, c)] -> Doc #

(Out a, Out b, Out c, Out d) => Out (a, b, c, d) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> (a, b, c, d) -> Doc #

doc :: (a, b, c, d) -> Doc #

docList :: [(a, b, c, d)] -> Doc #

(Out a, Out b, Out c, Out d, Out e) => Out (a, b, c, d, e) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> (a, b, c, d, e) -> Doc #

doc :: (a, b, c, d, e) -> Doc #

docList :: [(a, b, c, d, e)] -> Doc #

(Out a, Out b, Out c, Out d, Out e, Out f) => Out (a, b, c, d, e, f) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> (a, b, c, d, e, f) -> Doc #

doc :: (a, b, c, d, e, f) -> Doc #

docList :: [(a, b, c, d, e, f)] -> Doc #

(Out a, Out b, Out c, Out d, Out e, Out f, Out g) => Out (a, b, c, d, e, f, g) 
Instance details

Defined in Text.PrettyPrint.GenericPretty

Methods

docPrec :: Int -> (a, b, c, d, e, f, g) -> Doc #

doc :: (a, b, c, d, e, f, g) -> Doc #

docList :: [(a, b, c, d, e, f, g)] -> Doc #