Agda-2.6.3.20230914: A dependently typed functional programming language and proof assistant
Safe HaskellSafe-Inferred
LanguageHaskell2010

Agda.Syntax.Common.Pretty

Description

Pretty printing functions.

Synopsis

Documentation

type Doc = Doc Aspects Source #

The type of documents. We use documents annotated by Aspects to record syntactic highlighting information that is generated during pretty-printing.

class Pretty a where Source #

While Show is for rendering data in Haskell syntax, Pretty is for displaying data to the world, i.e., the user and the environment.

Atomic data has no inner document structure, so just implement pretty as pretty a = text $ ... a ....

Minimal complete definition

Nothing

Methods

pretty :: a -> Doc Source #

prettyPrec :: Int -> a -> Doc Source #

prettyList :: [a] -> Doc Source #

Instances

Instances details
Pretty Phase Source # 
Instance details

Defined in Agda.Benchmarking

Pretty HaskellPragma Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pragmas

Pretty CompilerBackend Source # 
Instance details

Defined in Agda.Interaction.Base

Pretty InterfaceFile Source # 
Instance details

Defined in Agda.Interaction.FindFile

Pretty SourceFile Source # 
Instance details

Defined in Agda.Interaction.FindFile

Pretty LibError' Source #

Pretty-print library management error without position info.

Instance details

Defined in Agda.Interaction.Library.Base

Pretty LibParseError Source #

Print library file parse error without position info.

Instance details

Defined in Agda.Interaction.Library.Base

Pretty LibWarning Source # 
Instance details

Defined in Agda.Interaction.Library.Base

Pretty LibWarning' Source # 
Instance details

Defined in Agda.Interaction.Library.Base

Pretty OptionWarning Source # 
Instance details

Defined in Agda.Interaction.Options.Base

Pretty ScopeCopyInfo Source # 
Instance details

Defined in Agda.Syntax.Abstract

Pretty AmbiguousQName Source # 
Instance details

Defined in Agda.Syntax.Abstract.Name

Pretty ModuleName Source # 
Instance details

Defined in Agda.Syntax.Abstract.Name

Pretty Name Source # 
Instance details

Defined in Agda.Syntax.Abstract.Name

Pretty QName Source # 
Instance details

Defined in Agda.Syntax.Abstract.Name

Pretty Suffix Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty BuiltinId Source # 
Instance details

Defined in Agda.Syntax.Builtin

Pretty PrimitiveId Source # 
Instance details

Defined in Agda.Syntax.Builtin

Pretty Access Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty Associativity Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Cohesion Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Erased Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty FileType Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty Fixity Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Fixity' Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty FixityLevel Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Hiding Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty InteractionId Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty MetaId Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty Modality Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty NameId Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty NotationPart Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty OpaqueId Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty ProblemId Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty Q0Origin Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Q1Origin Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Quantity Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty QωOrigin Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Relevance Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Induction Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty BoundName Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Declaration Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty DoStmt Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Expr Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty LHS Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty LHSCore Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty LamBinding Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty LamClause Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty ModuleApplication Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty ModuleAssignment Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty OpenShortHand Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Pattern Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Pragma Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty RHS Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty TypedBinding Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty WhereClause Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty DeclarationException' Source # 
Instance details

Defined in Agda.Syntax.Concrete.Definitions.Errors

Pretty DeclarationWarning Source # 
Instance details

Defined in Agda.Syntax.Concrete.Definitions.Errors

Pretty DeclarationWarning' Source # 
Instance details

Defined in Agda.Syntax.Concrete.Definitions.Errors

Pretty DataRecOrFun Source # 
Instance details

Defined in Agda.Syntax.Concrete.Definitions.Types

Pretty NiceDeclaration Source # 
Instance details

Defined in Agda.Syntax.Concrete.Definitions.Types

Pretty Name Source # 
Instance details

Defined in Agda.Syntax.Concrete.Name

Pretty NamePart Source # 
Instance details

Defined in Agda.Syntax.Concrete.Name

Pretty QName Source # 
Instance details

Defined in Agda.Syntax.Concrete.Name

Pretty NamedBinding Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Tel Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty Precedence Source # 
Instance details

Defined in Agda.Syntax.Fixity

Pretty Clause Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty ConHead Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty DBPatVar Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty Level Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty PlusLevel Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty Sort Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty Term Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty Type Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty Blocker Source # 
Instance details

Defined in Agda.Syntax.Internal.Blockers

Pretty Literal Source # 
Instance details

Defined in Agda.Syntax.Literal

Pretty NewNotation Source # 
Instance details

Defined in Agda.Syntax.Notation

Pretty NotationKind Source # 
Instance details

Defined in Agda.Syntax.Notation

Pretty NotationSection Source # 
Instance details

Defined in Agda.Syntax.Notation

Pretty ParseError Source # 
Instance details

Defined in Agda.Syntax.Parser.Monad

Pretty ParseWarning Source # 
Instance details

Defined in Agda.Syntax.Parser.Monad

Pretty IntervalWithoutFile Source # 
Instance details

Defined in Agda.Syntax.Position

Pretty PositionWithoutFile Source # 
Instance details

Defined in Agda.Syntax.Position

Pretty RangeFile Source # 
Instance details

Defined in Agda.Syntax.Position

Pretty AbstractModule Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty AbstractName Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty BindingSource Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty LocalVar Source #

We show shadowed variables as prefixed by a ".", as not in scope.

Instance details

Defined in Agda.Syntax.Scope.Base

Pretty NameSpace Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty NameSpaceId Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty ResolvedName Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty Scope Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty ScopeInfo Source # 
Instance details

Defined in Agda.Syntax.Scope.Base

Pretty FlatScope Source # 
Instance details

Defined in Agda.Syntax.Scope.Flat

Pretty RawTopLevelModuleName Source # 
Instance details

Defined in Agda.Syntax.TopLevelModuleName

Pretty TopLevelModuleName Source # 
Instance details

Defined in Agda.Syntax.TopLevelModuleName

Pretty Compiled Source # 
Instance details

Defined in Agda.Compiler.Treeless.Pretty

Pretty TTerm Source # 
Instance details

Defined in Agda.Compiler.Treeless.Pretty

Pretty CallMatrix Source # 
Instance details

Defined in Agda.Termination.CallMatrix

Pretty CallPath Source #

Only show intermediate nodes. (Drop last CallInfo).

Instance details

Defined in Agda.Termination.Monad

Pretty Order Source # 
Instance details

Defined in Agda.Termination.Order

Pretty CompiledClauses Source # 
Instance details

Defined in Agda.TypeChecking.CompiledClause

Pretty Cl Source # 
Instance details

Defined in Agda.TypeChecking.CompiledClause.Compile

Pretty BlockingVar Source # 
Instance details

Defined in Agda.TypeChecking.Coverage.Match

Pretty SplitPatVar Source # 
Instance details

Defined in Agda.TypeChecking.Coverage.Match

Pretty SplitTag Source # 
Instance details

Defined in Agda.TypeChecking.Coverage.SplitTree

Pretty Call Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty CallInfo Source #

We only show the name of the callee.

Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty CheckpointId Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty CompareAs Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty CompareDirection Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Comparison Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty ConstructorData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty DataOrRecSigData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty DatatypeData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Definition Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Defn Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty DisplayForm Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty DisplayTerm Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty FunctionData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Interface Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty MetaInstantiation Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty NamedMeta Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty OpaqueBlock Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Polarity Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty PrimitiveData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty PrimitiveSortData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty ProjLams Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Projection Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty ProjectionLikenessMissing Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty RecordData Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty Section Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty TermHead Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty DeepSizeView Source # 
Instance details

Defined in Agda.TypeChecking.Monad.SizedTypes

Pretty Item Source # 
Instance details

Defined in Agda.TypeChecking.Positivity

Pretty Node Source # 
Instance details

Defined in Agda.TypeChecking.Positivity

Pretty Occurrence Source # 
Instance details

Defined in Agda.TypeChecking.Positivity.Occurrence

Pretty OccursWhere Source # 
Instance details

Defined in Agda.TypeChecking.Positivity.Occurrence

Pretty Where Source # 
Instance details

Defined in Agda.TypeChecking.Positivity.Occurrence

Pretty Lvl Source # 
Instance details

Defined in Agda.TypeChecking.Primitive

Pretty Nat Source # 
Instance details

Defined in Agda.TypeChecking.Primitive

Pretty CType Source # 
Instance details

Defined in Agda.TypeChecking.Primitive.Cubical

Pretty AsBinding Source # 
Instance details

Defined in Agda.TypeChecking.Rules.LHS.Problem

Pretty OldSizeConstraint Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes

Pretty OldSizeExpr Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes

Pretty NamedRigid Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Solve

Pretty SizeMeta Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Solve

Pretty Cmp Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

Pretty Flex Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

Pretty Offset Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

Pretty Polarity Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

Pretty Rigid Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

Pretty Label Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.WarshallSolver

Pretty Weight Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.WarshallSolver

Pretty CallSite Source # 
Instance details

Defined in Agda.Utils.CallStack.Pretty

Pretty AbsolutePath Source # 
Instance details

Defined in Agda.Utils.FileName

Pretty Alt Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Binds Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty ConDecl Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty DataOrNew Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Decl Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Exp Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty ImportDecl Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty ImportSpec Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Literal Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Match Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Module Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty ModuleName Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty ModulePragma Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Name Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Pat Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty QName Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty QOp Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Stmt Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Strictness Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty TyVarBind Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty Type Source # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Pretty CPUTime Source #

Print CPU time in milli (10^-3) seconds.

Instance details

Defined in Agda.Utils.Time

Pretty Constraint Source # 
Instance details

Defined in Agda.Utils.Warshall

Pretty Node Source # 
Instance details

Defined in Agda.Utils.Warshall

Pretty SizeExpr Source # 
Instance details

Defined in Agda.Utils.Warshall

Pretty Weight Source # 
Instance details

Defined in Agda.Utils.Warshall

Pretty Int32 Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty CallStack Source # 
Instance details

Defined in Agda.Utils.CallStack.Pretty

Pretty SrcLoc Source # 
Instance details

Defined in Agda.Utils.CallStack.Pretty

Pretty Word64 Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty IntSet Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty Text Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty Integer Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty () Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Methods

pretty :: () -> Doc Source #

prettyPrec :: Int -> () -> Doc Source #

prettyList :: [()] -> Doc Source #

Pretty Bool Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty Char Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty Double Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty Int Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty a => Pretty (Lisp a) Source # 
Instance details

Defined in Agda.Interaction.EmacsCommand

Methods

pretty :: Lisp a -> Doc Source #

prettyPrec :: Int -> Lisp a -> Doc Source #

prettyList :: [Lisp a] -> Doc Source #

Pretty a => Pretty (QNamed a) Source # 
Instance details

Defined in Agda.Syntax.Abstract.Name

Pretty a => Pretty (Arg a) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Methods

pretty :: Arg a -> Doc Source #

prettyPrec :: Int -> Arg a -> Doc Source #

prettyList :: [Arg a] -> Doc Source #

Pretty a => Pretty (MaybePlaceholder a) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty e => Pretty (Named_ e) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty a => Pretty (Ranged a) Source #

Ignores range.

Instance details

Defined in Agda.Syntax.Common

Pretty a => Pretty (WithHiding a) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty a => Pretty (WithOrigin a) Source # 
Instance details

Defined in Agda.Syntax.Common

Pretty a => Pretty (Binder' a) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty a => Pretty (FieldAssignment' a) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty (OpApp Expr) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty (ThingWithFixity Name) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Pretty t => Pretty (Abs t) Source # 
Instance details

Defined in Agda.Syntax.Internal

Methods

pretty :: Abs t -> Doc Source #

prettyPrec :: Int -> Abs t -> Doc Source #

prettyList :: [Abs t] -> Doc Source #

Pretty a => Pretty (Blocked a) Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty a => Pretty (Pattern' a) Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty a => Pretty (Substitution' a) Source # 
Instance details

Defined in Agda.Syntax.Internal

Pretty a => Pretty (Tele (Dom a)) Source # 
Instance details

Defined in Agda.Syntax.Internal

Methods

pretty :: Tele (Dom a) -> Doc Source #

prettyPrec :: Int -> Tele (Dom a) -> Doc Source #

prettyList :: [Tele (Dom a)] -> Doc Source #

Pretty t => Pretty (NotBlocked' t) Source # 
Instance details

Defined in Agda.Syntax.Internal.Blockers

Pretty tm => Pretty (Elim' tm) Source # 
Instance details

Defined in Agda.Syntax.Internal.Elim

Methods

pretty :: Elim' tm -> Doc Source #

prettyPrec :: Int -> Elim' tm -> Doc Source #

prettyList :: [Elim' tm] -> Doc Source #

Pretty a => Pretty (Interval' (Maybe a)) Source # 
Instance details

Defined in Agda.Syntax.Position

Methods

pretty :: Interval' (Maybe a) -> Doc Source #

prettyPrec :: Int -> Interval' (Maybe a) -> Doc Source #

prettyList :: [Interval' (Maybe a)] -> Doc Source #

Pretty a => Pretty (Position' (Maybe a)) Source # 
Instance details

Defined in Agda.Syntax.Position

Methods

pretty :: Position' (Maybe a) -> Doc Source #

prettyPrec :: Int -> Position' (Maybe a) -> Doc Source #

prettyList :: [Position' (Maybe a)] -> Doc Source #

(Pretty a, HasRange a) => Pretty (PrintRange a) Source # 
Instance details

Defined in Agda.Syntax.Position

Pretty a => Pretty (Range' (Maybe a)) Source # 
Instance details

Defined in Agda.Syntax.Position

Methods

pretty :: Range' (Maybe a) -> Doc Source #

prettyPrec :: Int -> Range' (Maybe a) -> Doc Source #

prettyList :: [Range' (Maybe a)] -> Doc Source #

Pretty cinfo => Pretty (CallGraph cinfo) Source #

Displays the recursion behaviour corresponding to a call graph.

Instance details

Defined in Agda.Termination.CallGraph

Methods

pretty :: CallGraph cinfo -> Doc Source #

prettyPrec :: Int -> CallGraph cinfo -> Doc Source #

prettyList :: [CallGraph cinfo] -> Doc Source #

Pretty cinfo => Pretty (CMSet cinfo) Source # 
Instance details

Defined in Agda.Termination.CallMatrix

Methods

pretty :: CMSet cinfo -> Doc Source #

prettyPrec :: Int -> CMSet cinfo -> Doc Source #

prettyList :: [CMSet cinfo] -> Doc Source #

Pretty cinfo => Pretty (CallMatrixAug cinfo) Source # 
Instance details

Defined in Agda.Termination.CallMatrix

Pretty a => Pretty (Case a) Source # 
Instance details

Defined in Agda.TypeChecking.CompiledClause

Methods

pretty :: Case a -> Doc Source #

prettyPrec :: Int -> Case a -> Doc Source #

prettyList :: [Case a] -> Doc Source #

Pretty a => Pretty (WithArity a) Source # 
Instance details

Defined in Agda.TypeChecking.CompiledClause

Pretty a => Pretty (SplitTree' a) Source # 
Instance details

Defined in Agda.TypeChecking.Coverage.SplitTree

Pretty a => Pretty (SplitTreeLabel a) Source # 
Instance details

Defined in Agda.TypeChecking.Coverage.SplitTree

Pretty c => Pretty (FunctionInverse' c) Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty c => Pretty (IPFace' c) Source # 
Instance details

Defined in Agda.Interaction.BasicOps

Pretty a => Pretty (Judgement a) Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Pretty a => Pretty (Open a) Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

pretty :: Open a -> Doc Source #

prettyPrec :: Int -> Open a -> Doc Source #

prettyList :: [Open a] -> Doc Source #

Pretty flex => Pretty (PolarityAssignment flex) Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

(Ord a, Pretty a) => Pretty (Benchmark a) Source #

Print benchmark as three-column table with totals.

Instance details

Defined in Agda.Utils.Benchmark

Pretty n => Pretty (WithUniqueInt n) Source # 
Instance details

Defined in Agda.Utils.Graph.AdjacencyMap.Unidirectional

Pretty a => Pretty (List1 a) Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty a => Pretty (IntMap a) Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty a => Pretty (Set a) Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Methods

pretty :: Set a -> Doc Source #

prettyPrec :: Int -> Set a -> Doc Source #

prettyList :: [Set a] -> Doc Source #

a ~ Aspects => Pretty (Doc a) Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Methods

pretty :: Doc a -> Doc0 Source #

prettyPrec :: Int -> Doc a -> Doc0 Source #

prettyList :: [Doc a] -> Doc0 Source #

Pretty a => Pretty (Maybe a) Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Pretty a => Pretty [a] Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Methods

pretty :: [a] -> Doc Source #

prettyPrec :: Int -> [a] -> Doc Source #

prettyList :: [[a]] -> Doc Source #

(Pretty a, Pretty b) => Pretty (OutputConstraint a b) Source # 
Instance details

Defined in Agda.Interaction.BasicOps

(Pretty a, Pretty b) => Pretty (OutputConstraint' a b) Source # 
Instance details

Defined in Agda.Interaction.BasicOps

(Pretty a, Pretty b) => Pretty (OutputForm a b) Source # 
Instance details

Defined in Agda.Interaction.BasicOps

(Pretty a, Pretty b) => Pretty (ImportDirective' a b) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

(Pretty a, Pretty b) => Pretty (ImportedName' a b) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

(Pretty a, Pretty b) => Pretty (Renaming' a b) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

(Pretty a, Pretty b) => Pretty (Using' a b) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Methods

pretty :: Using' a b -> Doc Source #

prettyPrec :: Int -> Using' a b -> Doc Source #

prettyList :: [Using' a b] -> Doc Source #

(Pretty t, Pretty e) => Pretty (Dom' t e) Source # 
Instance details

Defined in Agda.Syntax.Internal

Methods

pretty :: Dom' t e -> Doc Source #

prettyPrec :: Int -> Dom' t e -> Doc Source #

prettyList :: [Dom' t e] -> Doc Source #

(Integral i, HasZero b, Pretty b) => Pretty (Matrix i b) Source # 
Instance details

Defined in Agda.Termination.SparseMatrix

Methods

pretty :: Matrix i b -> Doc Source #

prettyPrec :: Int -> Matrix i b -> Doc Source #

prettyList :: [Matrix i b] -> Doc Source #

(Pretty r, Pretty f) => Pretty (Constraint' r f) Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

(Pretty r, Pretty f) => Pretty (SizeExpr' r f) Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

(Pretty r, Pretty f) => Pretty (Solution r f) Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.Syntax

(Pretty rigid, Pretty flex) => Pretty (Node rigid flex) Source # 
Instance details

Defined in Agda.TypeChecking.SizedTypes.WarshallSolver

Methods

pretty :: Node rigid flex -> Doc Source #

prettyPrec :: Int -> Node rigid flex -> Doc Source #

prettyList :: [Node rigid flex] -> Doc Source #

(Pretty n, Pretty e) => Pretty (Edge n e) Source # 
Instance details

Defined in Agda.Utils.Graph.AdjacencyMap.Unidirectional

Methods

pretty :: Edge n e -> Doc Source #

prettyPrec :: Int -> Edge n e -> Doc Source #

prettyList :: [Edge n e] -> Doc Source #

(Ord n, Pretty n, Pretty e) => Pretty (Graph n e) Source # 
Instance details

Defined in Agda.Utils.Graph.AdjacencyMap.Unidirectional

Methods

pretty :: Graph n e -> Doc Source #

prettyPrec :: Int -> Graph n e -> Doc Source #

prettyList :: [Graph n e] -> Doc Source #

(Pretty a, Pretty b) => Pretty (Either a b) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Methods

pretty :: Either a b -> Doc Source #

prettyPrec :: Int -> Either a b -> Doc Source #

prettyList :: [Either a b] -> Doc Source #

(Pretty k, Pretty v) => Pretty (Map k v) Source # 
Instance details

Defined in Agda.Syntax.Common.Pretty

Methods

pretty :: Map k v -> Doc Source #

prettyPrec :: Int -> Map k v -> Doc Source #

prettyList :: [Map k v] -> Doc Source #

(Pretty a, Pretty b) => Pretty (a, b) Source # 
Instance details

Defined in Agda.Syntax.Concrete.Pretty

Methods

pretty :: (a, b) -> Doc Source #

prettyPrec :: Int -> (a, b) -> Doc Source #

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

(Pretty a, Pretty b, Pretty c) => Pretty (LegendMatrix a b c) Source # 
Instance details

Defined in Agda.Utils.Warshall

(Pretty nm, Pretty p, Pretty e) => Pretty (RewriteEqn' qn nm p e) Source # 
Instance details

Defined in Agda.Syntax.Common

Methods

pretty :: RewriteEqn' qn nm p e -> Doc Source #

prettyPrec :: Int -> RewriteEqn' qn nm p e -> Doc Source #

prettyList :: [RewriteEqn' qn nm p e] -> Doc Source #

parens Source #

Arguments

:: Doc 
-> Doc

Wrap document in (...)

(<?>) :: Doc -> Doc -> Doc infixl 6 Source #

a ? b = hang a 2 b

braces Source #

Arguments

:: Doc 
-> Doc

Wrap document in {...}

brackets Source #

Arguments

:: Doc 
-> Doc

Wrap document in [...]

quotes Source #

Arguments

:: Doc 
-> Doc

Wrap document in '...'

doubleQuotes Source #

Arguments

:: Doc 
-> Doc

Wrap document in "..."

hcat :: Foldable t => t Doc -> Doc Source #

hsep :: Foldable t => t Doc -> Doc Source #

vcat :: Foldable t => t Doc -> Doc Source #

punctuate :: Foldable t => Doc -> t Doc -> [Doc] Source #

sep :: Foldable t => t Doc -> Doc Source #

fsep :: Foldable t => t Doc -> Doc Source #

prettyShow :: Pretty a => a -> String Source #

Use instead of show when printing to world.

prettyList_ :: Pretty a => [a] -> Doc Source #

Comma separated list, without the brackets.

singPlural :: Sized a => a -> c -> c -> c Source #

pshow :: Show a => a -> Doc Source #

pshow = text . show

prettySet :: Pretty a => [a] -> Doc Source #

Pretty print a set.

prettyMap :: (Pretty k, Pretty v) => [(k, v)] -> Doc Source #

Pretty print an association list.

hsepWith :: Doc -> Doc -> Doc -> Doc Source #

Separate, but only if both separees are not null.

prettyAssign :: (Pretty k, Pretty v) => (k, v) -> Doc Source #

Pretty print a single association.

mparens :: Bool -> Doc -> Doc Source #

Apply parens to Doc if boolean is true.

parensNonEmpty :: Doc -> Doc Source #

Only wrap in parens if not empty

align :: Int -> [(String, Doc)] -> Doc Source #

align max rows lays out the elements of rows in two columns, with the second components aligned. The alignment column of the second components is at most max characters to the right of the left-most column.

Precondition: max > 0.

multiLineText :: String -> Doc Source #

Handles strings with newlines properly (preserving indentation)

prefixedThings :: Doc -> [Doc] -> Doc Source #

Used for with-like telescopes

annotateAspect :: Aspect -> Doc -> Doc Source #

Attach a simple Aspect, rather than a full set of Aspects, to a document.

data Mode #

Rendering mode.

Constructors

PageMode

Normal rendering (lineLength and ribbonsPerLine respected').

ZigZagMode

With zig-zag cuts.

LeftMode

No indentation, infinitely long lines (lineLength ignored), but explicit new lines, i.e., text "one" $$ text "two", are respected.

OneLineMode

All on one line, lineLength ignored and explicit new lines ($$) are turned into spaces.

Instances

Instances details
Generic Mode 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep Mode :: Type -> Type #

Methods

from :: Mode -> Rep Mode x #

to :: Rep Mode x -> Mode #

Show Mode 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

Eq Mode 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

(==) :: Mode -> Mode -> Bool #

(/=) :: Mode -> Mode -> Bool #

type Rep Mode 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

type Rep Mode = D1 ('MetaData "Mode" "Text.PrettyPrint.Annotated.HughesPJ" "pretty-1.1.3.6" 'False) ((C1 ('MetaCons "PageMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ZigZagMode" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LeftMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OneLineMode" 'PrefixI 'False) (U1 :: Type -> Type)))

data Span a #

A Span represents the result of an annotation after a Doc has been rendered, capturing where the annotation now starts and ends in the rendered output.

Constructors

Span 

Fields

Instances

Instances details
Functor Span 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

fmap :: (a -> b) -> Span a -> Span b #

(<$) :: a -> Span b -> Span a #

Show a => Show (Span a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

showsPrec :: Int -> Span a -> ShowS #

show :: Span a -> String #

showList :: [Span a] -> ShowS #

Eq a => Eq (Span a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

(==) :: Span a -> Span a -> Bool #

(/=) :: Span a -> Span a -> Bool #

data Style #

A rendering style. Allows us to specify constraints to choose among the many different rendering options.

Constructors

Style 

Fields

  • mode :: Mode

    The rendering mode.

  • lineLength :: Int

    Maximum length of a line, in characters.

  • ribbonsPerLine :: Float

    Ratio of line length to ribbon length. A ribbon refers to the characters on a line excluding indentation. So a lineLength of 100, with a ribbonsPerLine of 2.0 would only allow up to 50 characters of ribbon to be displayed on a line, while allowing it to be indented up to 50 characters.

Instances

Instances details
Generic Style 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep Style :: Type -> Type #

Methods

from :: Style -> Rep Style x #

to :: Rep Style x -> Style #

Show Style 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

showsPrec :: Int -> Style -> ShowS #

show :: Style -> String #

showList :: [Style] -> ShowS #

Eq Style 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

(==) :: Style -> Style -> Bool #

(/=) :: Style -> Style -> Bool #

type Rep Style 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

type Rep Style = D1 ('MetaData "Style" "Text.PrettyPrint.Annotated.HughesPJ" "pretty-1.1.3.6" 'False) (C1 ('MetaCons "Style" 'PrefixI 'True) (S1 ('MetaSel ('Just "mode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Mode) :*: (S1 ('MetaSel ('Just "lineLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "ribbonsPerLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))

pattern Chr :: !Char -> TextDetails #

A single Char fragment

pattern PStr :: String -> TextDetails #

Used to represent a Fast String fragment but now deprecated and identical to the Str constructor.

text :: String -> Doc a #

A document of height 1 containing a literal string. text satisfies the following laws:

The side condition on the last law is necessary because text "" has height 1, while empty has no height.

char :: Char -> Doc a #

A document of height and width 1, containing a literal character.

(<+>) :: Doc a -> Doc a -> Doc a infixl 6 #

Beside, separated by space, unless one of the arguments is empty. <+> is associative, with identity empty.

isEmpty :: Doc a -> Bool #

Returns True if the document is empty

integer #

Arguments

:: Integer 
-> Doc a
integer n = text (show n)

float #

Arguments

:: Float 
-> Doc a
float n = text (show n)

annotate :: a -> Doc a -> Doc a #

Attach an annotation to a document.

ptext :: String -> Doc a #

Same as text. Used to be used for Bytestrings.

sizedText :: Int -> String -> Doc a #

Some text with any width. (text s = sizedText (length s) s)

zeroWidthText :: String -> Doc a #

Some text, but without any width. Use for non-printing text such as a HTML or Latex tags

int #

Arguments

:: Int 
-> Doc a
int n = text (show n)

double #

Arguments

:: Double 
-> Doc a
double n = text (show n)

rational #

Arguments

:: Rational 
-> Doc a
rational n = text (show n)

nest :: Int -> Doc a -> Doc a #

Nest (or indent) a document by a given number of positions (which may also be negative). nest satisfies the laws:

The side condition on the last law is needed because empty is a left identity for <>.

hang :: Doc a -> Int -> Doc a -> Doc a #

hang d1 n d2 = sep [d1, nest n d2]

($$) :: Doc a -> Doc a -> Doc a infixl 5 #

Above, except that if the last line of the first argument stops at least one position before the first line of the second begins, these two lines are overlapped. For example:

   text "hi" $$ nest 5 (text "there")

lays out as

   hi   there

rather than

   hi
        there

$$ is associative, with identity empty, and also satisfies

  • (x $$ y) <> z = x $$ (y <> z), if y non-empty.

($+$) :: Doc a -> Doc a -> Doc a infixl 5 #

Above, with no overlapping. $+$ is associative, with identity empty.

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

Either hcat or vcat.

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

"Paragraph fill" version of cat.

style :: Style #

The default style (mode=PageMode, lineLength=100, ribbonsPerLine=1.5).

render :: Doc a -> String #

Render the Doc to a String using the default Style (see style).

renderStyle :: Style -> Doc a -> String #

Render the Doc to a String using the given Style.

fullRender #

Arguments

:: Mode

Rendering mode.

-> Int

Line length.

-> Float

Ribbons per line.

-> (TextDetails -> a -> a)

What to do with text.

-> a

What to do at the end.

-> Doc b

The document.

-> a

Result.

The general rendering interface. Please refer to the Style and Mode types for a description of rendering mode, line length and ribbons.

fullRenderAnn #

Arguments

:: Mode

Rendering mode.

-> Int

Line length.

-> Float

Ribbons per line.

-> (AnnotDetails b -> a -> a)

What to do with text.

-> a

What to do at the end.

-> Doc b

The document.

-> a

Result.

The general rendering interface, supporting annotations. Please refer to the Style and Mode types for a description of rendering mode, line length and ribbons.

renderSpans :: Doc ann -> (String, [Span ann]) #

Render an annotated Doc to a String and list of annotations (see Span) using the default Style (see style).

(<>) :: Semigroup a => a -> a -> a infixr 6 #

An associative operation.

>>> [1,2,3] <> [4,5,6]
[1,2,3,4,5,6]