Mikan
Safe HaskellNone
LanguageHaskell2010

Mikan.TypeChecking.Pretty

Synopsis

Documentation

($$) :: Applicative m => m Doc -> m Doc -> m Doc infixl 5 Source #

($+$) :: Applicative m => m Doc -> m Doc -> m Doc infixl 5 Source #

(<+>) :: Applicative m => m Doc -> m Doc -> m Doc infixl 6 Source #

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

braces :: Functor m => m Doc -> m Doc Source #

brackets :: Functor m => m Doc -> m Doc Source #

dbraces :: Functor m => m Doc -> m Doc Source #

fsep :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

githubIssue :: Applicative m => Int -> m Doc Source #

Link to an issue on the Agda bug tracker.

hang :: Applicative m => m Doc -> Int -> m Doc -> m Doc Source #

hcat :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

hlArgument :: Functor m => m Doc -> m Doc Source #

hlBound :: Functor m => m Doc -> m Doc Source #

hlComment :: Functor m => m Doc -> m Doc Source #

hlDatatype :: Functor m => m Doc -> m Doc Source #

hlField :: Functor m => m Doc -> m Doc Source #

hlFunction :: Functor m => m Doc -> m Doc Source #

hlHole :: Functor m => m Doc -> m Doc Source #

hlKeyword :: Functor m => m Doc -> m Doc Source #

hlMacro :: Functor m => m Doc -> m Doc Source #

hlModule :: Functor m => m Doc -> m Doc Source #

hlNumber :: Functor m => m Doc -> m Doc Source #

hlPragma :: Functor m => m Doc -> m Doc Source #

hlRecord :: Functor m => m Doc -> m Doc Source #

hlString :: Functor m => m Doc -> m Doc Source #

hlSymbol :: Functor m => m Doc -> m Doc Source #

hsep :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

nest :: Functor m => Int -> m Doc -> m Doc Source #

parens :: Functor m => m Doc -> m Doc Source #

pluralS :: (Functor m, Sized a) => a -> m Doc -> m Doc Source #

pretty :: (Applicative m, Pretty a) => a -> m Doc Source #

prettyAs :: (ToConcrete a, ConOfAbs a ~ [ce], Pretty ce, MonadAbsToCon m) => a -> m Doc Source #

prettyList :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

Comma-separated list in brackets.

prettyList_ :: (Applicative m, Semigroup (m Doc), Foldable t) => t (m Doc) -> m Doc Source #

prettyList without the brackets.

prettyR :: (ToAbstract r, PrettyTCM (AbsOfRef r), MonadPretty m, MonadError TCErr m) => r -> m Doc Source #

For unquote.

prettyTCMCtx :: (PrettyTCM a, MonadPretty m) => Precedence -> a -> m Doc Source #

Pretty print with a given context precedence

prettyTCMPatterns :: MonadPretty m => [NamedArg DeBruijnPattern] -> m [Doc] Source #

Proper pretty printing of patterns:

pshow :: (Applicative m, Show a) => a -> m Doc Source #

punctuate :: (Applicative m, Semigroup (m Doc), Foldable t) => m Doc -> t (m Doc) -> [m Doc] Source #

quotes :: Functor m => m Doc -> m Doc Source #

sep :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

sequenceAFoldable :: (Applicative m, Foldable t) => t (m a) -> m [a] Source #

sequenceAFoldable == sequenceA . Fold.toList

vcat :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

vsep :: (Applicative m, Foldable t) => t (m Doc) -> m Doc Source #

type Doc = Doc Source #

newtype PrettyContext Source #

Constructors

PrettyContext Context 

Instances

Instances details
PrettyTCM PrettyContext Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

class PrettyTCM a where Source #

Methods

prettyTCM :: MonadPretty m => a -> m Doc Source #

Instances

Instances details
PrettyTCM InteractionError Source # 
Instance details

Defined in Mikan.Interaction.Errors

PrettyTCM BaseComponents Source # 
Instance details

Defined in Mikan.Mimer.Types

PrettyTCM Component Source # 
Instance details

Defined in Mikan.Mimer.Types

PrettyTCM MimerResult Source # 
Instance details

Defined in Mikan.Mimer.Types

PrettyTCM SearchOptions Source # 
Instance details

Defined in Mikan.Mimer.Types

PrettyTCM Expr Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Expr -> m Doc Source #

PrettyTCM Pattern Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Pattern -> m Doc Source #

PrettyTCM ProblemEq Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

PrettyTCM TypedBinding Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM AbstractName Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM ConHead Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => ConHead -> m Doc Source #

PrettyTCM ModuleName Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Name Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Name -> m Doc Source #

PrettyTCM QName Source #

Automatically highlights the resulting document with the correct name kind.

Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => QName -> m Doc Source #

PrettyTCM DataOrRecord_ Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Warning

PrettyTCM InteractionId Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM MetaId Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => MetaId -> m Doc Source #

PrettyTCM Nat Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Nat -> m Doc Source #

PrettyTCM ProblemId Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM ImportedName Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM LHS Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => LHS -> m Doc Source #

PrettyTCM DeclarationException' Source # 
Instance details

Defined in Mikan.TypeChecking.Monad.Diagnostic

PrettyTCM DeclarationWarning Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Warning

PrettyTCM Name Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Name -> m Doc Source #

PrettyTCM QName Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => QName -> m Doc Source #

PrettyTCM Blocker Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Blocker -> m Doc Source #

PrettyTCM Clause Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Clause -> m Doc Source #

PrettyTCM DBPatVar Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Telescope Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Teletype Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Elim Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Elim -> m Doc Source #

PrettyTCM Level Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Level -> m Doc Source #

PrettyTCM Sort Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Sort -> m Doc Source #

PrettyTCM Term Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Term -> m Doc Source #

PrettyTCM Type Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Type -> m Doc Source #

PrettyTCM Literal Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Literal -> m Doc Source #

PrettyTCM Range Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Range -> m Doc Source #

PrettyTCM IgnoredRecordDeclaration Source # 
Instance details

Defined in Mikan.Syntax.Scope.Errors

PrettyTCM PatternSynonymError Source # 
Instance details

Defined in Mikan.Syntax.Scope.Errors

PrettyTCM TopLevelModuleName Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM NamedClause Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM CallMatrix Source # 
Instance details

Defined in Mikan.Termination.Monad

PrettyTCM CallPath Source #

Show all nodes.

Instance details

Defined in Mikan.Termination.Monad

PrettyTCM NoConstraintsError Source # 
Instance details

Defined in Mikan.TypeChecking.Constraints

PrettyTCM ConversionError Source # 
Instance details

Defined in Mikan.TypeChecking.Conversion.Errors

PrettyTCM ConversionZipper Source # 
Instance details

Defined in Mikan.TypeChecking.Conversion.Errors

PrettyTCM FailedCompareAs Source # 
Instance details

Defined in Mikan.TypeChecking.Conversion.Errors

PrettyTCM SplitError Source # 
Instance details

Defined in Mikan.TypeChecking.Coverage.Errors

PrettyTCM UnificationFailure Source # 
Instance details

Defined in Mikan.TypeChecking.Coverage.Errors

PrettyTCM WrongProjectionName Source # 
Instance details

Defined in Mikan.TypeChecking.Coverage.Errors

PrettyTCM SplitClause Source #

For debugging only.

Instance details

Defined in Mikan.TypeChecking.Coverage

PrettyTCM SplitPatVar Source # 
Instance details

Defined in Mikan.TypeChecking.Coverage.SplitPattern

PrettyTCM SplitTag Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Key Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Key -> m Doc Source #

PrettyTCM DeferredError Source # 
Instance details

Defined in Mikan.TypeChecking.Errors.Deferred

PrettyTCM MetaSet Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => MetaSet -> m Doc Source #

PrettyTCM InstanceSearchError Source # 
Instance details

Defined in Mikan.TypeChecking.InstanceArguments.Errors

PrettyTCM Call Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Call

Methods

prettyTCM :: MonadPretty m => Call -> m Doc Source #

PrettyTCM CallInfo Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Call

PrettyTCM Candidate Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM CheckpointId Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM CompareAs Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Constraint Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Constraint

PrettyTCM DisplayTerm Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM IsForced Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM MissingTypeSignatureInfo Source # 
Instance details

Defined in Mikan.TypeChecking.Errors

PrettyTCM NegativeUnification Source # 
Instance details

Defined in Mikan.TypeChecking.Errors

PrettyTCM ProblemConstraint Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Constraint

PrettyTCM TCErr Source # 
Instance details

Defined in Mikan.TypeChecking.Errors

Methods

prettyTCM :: MonadPretty m => TCErr -> m Doc Source #

PrettyTCM TypeCheckingProblem Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM TypeError Source # 
Instance details

Defined in Mikan.TypeChecking.Errors

PrettyTCM UnsolvedWarning Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Warning

PrettyTCM Warning Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Warning

Methods

prettyTCM :: MonadPretty m => Warning -> m Doc Source #

PrettyTCM Comparison Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Context Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Context -> m Doc Source #

PrettyTCM ContextEntry Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM NamedMeta Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM Polarity Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM TopLevelModuleNameWithSourceFile Source # 
Instance details

Defined in Mikan.TypeChecking.Errors

PrettyTCM EqualityView Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM EncodedDiagnostic Source # 
Instance details

Defined in Mikan.TypeChecking.Monad.Diagnostic

PrettyTCM SomeDiagnostic Source # 
Instance details

Defined in Mikan.TypeChecking.Monad.Diagnostic

PrettyTCM Node Source # 
Instance details

Defined in Mikan.TypeChecking.Positivity

Methods

prettyTCM :: MonadPretty m => Node -> m Doc Source #

PrettyTCM Occurrence Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM PrettyContext Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM ElimType Source # 
Instance details

Defined in Mikan.TypeChecking.Records

PrettyTCM UnboundParameters Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.Data

PrettyTCM AbsurdPattern Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

PrettyTCM AnnotationPattern Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

PrettyTCM AsBinding Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

PrettyTCM DotPattern Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

PrettyTCM LeftoverPatterns Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

PrettyTCM DigestedUnifyStep Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Unify.LeftInverse

PrettyTCM NoLeftInv Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Unify.LeftInverse

PrettyTCM UnifyState Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Unify.Types

PrettyTCM UnifyStep Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Unify.Types

PrettyTCM ErrorPart Source # 
Instance details

Defined in Mikan.TypeChecking.Unquote

PrettyTCM ExecError Source # 
Instance details

Defined in Mikan.TypeChecking.Unquote.Errors

PrettyTCM UnquoteError Source # 
Instance details

Defined in Mikan.TypeChecking.Unquote.Errors

PrettyTCM Permutation Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM VarSet Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => VarSet -> m Doc Source #

PrettyTCM ShortText Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM String Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => String -> m Doc Source #

PrettyTCM Bool Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Bool -> m Doc Source #

PrettyTCM (QNamed Clause) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM (Arg Expr) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Arg Expr -> m Doc Source #

PrettyTCM (Arg Term) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Arg Term -> m Doc Source #

PrettyTCM (Arg Type) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Arg Type -> m Doc Source #

PrettyTCM (Arg ShortText) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM (Arg Bool) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Arg Bool -> m Doc Source #

PrettyTCM (NamedArg Expr) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM (NamedArg Term) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM (Named_ Term) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => WithHiding a -> m Doc Source #

(PrettyTCM a, Subst a) => PrettyTCM (Abs a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Abs a -> m Doc Source #

PrettyTCM (Elim' DisplayTerm) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Pattern' a -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Blocked a -> m Doc Source #

PrettyTCM (Dom Type) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Dom Type -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

PrettyTCM cinfo => PrettyTCM (Call cinfo) Source # 
Instance details

Defined in Mikan.Termination.Monad

Methods

prettyTCM :: MonadPretty m => Call cinfo -> m Doc Source #

PrettyTCM cinfo => PrettyTCM (CallGraph cinfo) Source # 
Instance details

Defined in Mikan.Termination.Monad

Methods

prettyTCM :: MonadPretty m => CallGraph cinfo -> m Doc Source #

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

Defined in Mikan.Termination.Monad

Methods

prettyTCM :: MonadPretty m => CMSet cinfo -> m Doc Source #

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

Defined in Mikan.Termination.Monad

Methods

prettyTCM :: MonadPretty m => CallMatrixAug cinfo -> m Doc Source #

PrettyTCM a => PrettyTCM (DiscrimTree a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM a => PrettyTCM (FlexRig' a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => FlexRig' a -> m Doc Source #

PrettyTCM a => PrettyTCM (VarMap' a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => VarMap' a -> m Doc Source #

PrettyTCM a => PrettyTCM (VarOcc' a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => VarOcc' a -> m Doc Source #

PrettyTCM a => PrettyTCM (Closure a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Closure a -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Judgement a -> m Doc Source #

PrettyTCM a => PrettyTCM (MaybeReduced a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

PrettyTCM (TCWarning' a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty.Warning

Methods

prettyTCM :: MonadPretty m => TCWarning' a -> m Doc Source #

PrettyTCM (LHSState a) Source # 
Instance details

Defined in Mikan.TypeChecking.Rules.LHS.Problem

Methods

prettyTCM :: MonadPretty m => LHSState a -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => List1 a -> m Doc Source #

PrettyTCM (Seq OccursWhere) Source # 
Instance details

Defined in Mikan.TypeChecking.Positivity

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Set a -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Maybe a -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => [a] -> m Doc Source #

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

Defined in Mikan.Interaction.BasicOps

Methods

prettyTCM :: MonadPretty m => OutputForm a b -> m Doc Source #

(PrettyTCM x, PrettyTCM a) => PrettyTCM (Boundary' x a) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Boundary' x a -> m Doc Source #

(PrettyTCM n, PrettyTCMWithNode e) => PrettyTCM (Graph n e) Source # 
Instance details

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Graph n e -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => Map k v -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => (a, b) -> m Doc Source #

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

Defined in Mikan.TypeChecking.Pretty

Methods

prettyTCM :: MonadPretty m => (a, b, c) -> m Doc Source #

class PrettyTCMWithNode a where Source #

Pretty-print something paired with a (printable) node. | This intermediate typeclass exists to avoid UndecidableInstances.

data WithNode n a Source #

Pairing something with a node (for printing only).

Constructors

WithNode n a 

type MonadAbsToCon (m :: Type -> Type) = (MonadFileId m, MonadFresh NameId m, MonadInteractionPoints m, MonadStConcreteNames m, HasOptions m, PureTCM m, IsString (m Doc), Null (m Doc), Semigroup (m Doc)) Source #

Preconditions to run the AbstractToConcrete translation.

Orphan instances

Semigroup (TCM Doc) Source #

This instance is more specific than a generic instance Semigroup a => Semigroup (TCM a).

Instance details

Methods

(<>) :: TCM Doc -> TCM Doc -> TCM Doc #

sconcat :: NonEmpty (TCM Doc) -> TCM Doc #

stimes :: Integral b => b -> TCM Doc -> TCM Doc #