ModuleAgda-2.7.0.1Haskell2010
Agda.Compiler.Backend
Interface for compiler backend writers.
- 192 types
- 31 classes
- 1368 values
- PackageAgda-2.7.0.1
- Exports1611
- LanguageHaskell2010
- LicenceMIT
- SourceBackend.hs
module Agda.Compiler.Backend.Base
Instances4Eq, Show, Semigroup, Monoid
f :: Flag opts is an action on the option record that results from
parsing an option. f opts produces either an error message or an
updated options record
module Agda.Syntax.Treeless
Type-checking errors.
Constructors
TypeErrortcErrLocation :: CallStackLocation in the internal Agda source code where the error was raised
tcErrState :: TCStateThe state in which the error was raised.
tcErrClosErr :: Closure TypeErrorThe environment in which the error as raised plus the error.
Exception Range DocIOException TCState Range IOExceptionThe first argument is the state in which the error was raised.
PatternErr BlockerThe exception which is usually caught. Raised for pattern violations during unification (
assignV) but also in other situations where we want to backtrack. Contains an unblocker to control when the computation should be retried.
Instances23Show, Exception, NFData, HasRange, MonadError, Pretty, …
Show TCErrDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseException TCErrDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TCErrDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange TCErrDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM TCErrDefined in Agda-2.7.0.1 · Agda.TypeChecking.Errors · orphanEncodeTCM DisplayInfoDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM Info_ErrorDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM ResponseDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM TCErrDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanMonadError TCErr ReplMDefined in Agda-2.7.0.1 · Agda.Interaction.CommandLineMonadError TCErr IMDefined in Agda-2.7.0.1 · Agda.Interaction.MonadMonadError TCErr TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadError TCErr TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => MonadError TCErr (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.Pure(Pretty a, Pretty b) => Pretty (OutputConstraint a b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan(Pretty a, Pretty b) => Pretty (OutputForm a b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphanMonad m => MonadBlock (ExceptT TCErr m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Pretty a, Pretty b) => PrettyTCM (OutputForm a b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan(ToConcrete a, ToConcrete b) => ToConcrete (OutputConstraint a b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan(ToConcrete a, ToConcrete b) => ToConcrete (OutputForm a b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphanEncodeTCM (OutputForm Expr Expr)Defined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphantype ConOfAbs (OutputConstraint a b) = OutputConstraint (ConOfAbs a) (ConOfAbs b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphantype ConOfAbs (OutputForm a b) = OutputForm (ConOfAbs a) (ConOfAbs b)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan
Constructors
DefndefArgInfo :: ArgInfoHiding should not be used.
defName :: QNameThe canonical name, used e.g. in compilation.
defType :: TypeType of the lifted definition.
defPolarity :: [Polarity]Variance information on arguments of the definition. Does not include info for dropped parameters to projection(-like) functions and constructors.
defArgOccurrences :: [Occurrence]Positivity information on arguments of the definition. Does not include info for dropped parameters to projection(-like) functions and constructors.
defArgGeneralizable :: NumGeneralizableArgsFor a generalized variable, shows how many arguments should be generalised.
defGeneralizedParams :: [Maybe Name]Gives the name of the (bound variable) parameter for named generalized parameters. This is needed to bring it into scope when type checking the data/record definition corresponding to a type with generalized parameters.
defDisplay :: [LocalDisplayForm]defMutual :: MutualIddefCompiledRep :: CompiledRepresentationdefInstance :: Maybe InstanceInfoJust qwhen this definition is an instance.defCopy :: BoolHas this function been created by a module instantiation?
defMatchable :: Set QNameThe set of symbols with rewrite rules that match against this symbol
defNoCompilation :: Boolshould compilers skip this? Used for e.g. cubical's comp
defInjective :: BoolShould the def be treated as injective by the pattern matching unifier?
defCopatternLHS :: BoolIs this a function defined by copatterns?
defBlocked :: Blocked_What blocking tag to use when we cannot reduce this def? Used when checking a function definition is blocked on a meta in the type.
defLanguage :: !LanguageThe language used for the definition.
theDef :: Defn
Instances16Show, Generic, NFData, Pretty, KillRange, LensArgInfo, …
Show DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange DefinitionsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensArgInfo DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensModality DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensQuantity DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensRelevance DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn DefinitionDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesAbstract DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanInstantiateFull DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj DefinitionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep Definition = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Definition"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Defn"
'PrefixI 'True) ((((S1 ('MetaSel ('Just"defArgInfo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel ('Just"defName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Just"defType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Just"defPolarity"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Polarity]))) :*: ((S1 ('MetaSel ('Just"defArgOccurrences"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Occurrence]) :*: S1 ('MetaSel ('Just"defArgGeneralizable"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NumGeneralizableArgs)) :*: (S1 ('MetaSel ('Just"defGeneralizedParams"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Name]) :*: (S1 ('MetaSel ('Just"defDisplay"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LocalDisplayForm]) :*: S1 ('MetaSel ('Just"defMutual"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MutualId))))) :*: (((S1 ('MetaSel ('Just"defCompiledRep"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompiledRepresentation) :*: S1 ('MetaSel ('Just"defInstance"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe InstanceInfo))) :*: (S1 ('MetaSel ('Just"defCopy"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just"defMatchable"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)) :*: S1 ('MetaSel ('Just"defNoCompilation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just"defInjective"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"defCopatternLHS"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just"defBlocked"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocked_) :*: (S1 ('MetaSel ('Just"defLanguage"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Language) :*: S1 ('MetaSel ('Just"theDef"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Defn)))))))
Instances10Functor, Foldable, Traversable, Show, Generic, NFData, …
Functor BuiltinDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFoldable BuiltinDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseTraversable BuiltinDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow pf => Show (Builtin pf)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric (Builtin pf)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData pf => NFData (Builtin pf)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn a => NamesIn (Builtin a)Defined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesInstantiateFull a => InstantiateFull (Builtin a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj a => EmbPrj (Builtin a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep (Builtin pf) = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Builtin"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Builtin"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons"Prim"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 pf)) :+: C1 ('MetaCons"BuiltinRewriteRelations"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)))))
An alternative representation of partial elements in a telescope: Γ ⊢ λ Δ. [φ₁ u₁, ... , φₙ uₙ] : Δ → PartialP (∨_ᵢ φᵢ) T see cubicaltt paper (however we do not store the type T).
Instances12Show, Generic, NFData, KillRange, NamesIn, Abstract, …
Show SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn SystemDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesAbstract SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanInstantiateFull SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj SystemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanReify (QNamed System)Defined in Agda-2.7.0.1 · Agda.Syntax.Translation.InternalToAbstracttype Rep System = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"System"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"System"
'PrefixI 'True) (S1 ('MetaSel ('Just"systemTel"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Just"systemClauses"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Face, Term)])))type ReifiesTo (QNamed System) = [Clause]Defined in Agda-2.7.0.1 · Agda.Syntax.Translation.InternalToAbstract
pattern Function :: [Clause] -> Maybe CompiledClauses -> Maybe SplitTree -> Maybe Compiled -> [Clause] -> FunctionInverse -> Maybe [QName] -> Either ProjectionLikenessMissing Projection -> SmallSet FunctionFlag -> Maybe Bool -> Maybe ExtLamInfo -> Maybe QName -> Maybe QName -> IsOpaque -> DefnType checking monad.
Instances42MonadTrans, MonadBench, MonadBlock, MonadStConcreteNames, MonadConstraint, MonadAddContext, …
MonadTrans TCMTDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadBench TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseWe store benchmark statistics in an IORef. This enables benchmarking pure computation, see Agda.Benchmarking.
MonadBlock TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadStConcreteNames TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadConstraint TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Constraints · orphanMonadAddContext TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadDebug TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadInteractionPoints TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsMonadMetaSolver TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars · orphanPureTCM TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PureMonadStatistics TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.StatisticsMonadTrace TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.TraceMonadFixityError ScopeMDefined in Agda-2.7.0.1 · Agda.Syntax.Scope.Monad · orphanMonadWarning TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.WarningsCatchImpossible TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLike catchError, but resets the state completely before running the handler. This means it also loses changes to the stPersistentState.
The intended use is to catch internal errors during debug printing. In debug printing, we are not expecting state changes.
MonadError TCErr TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh i => MonadFresh i TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => Monad (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFunctor m => Functor (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadFix m => MonadFix (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadFail (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseApplicative m => Applicative (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSemigroup (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty · orphanThis instance is more specific than a generic instance
Semigroup a => Semigroup (TCM a).MonadIO m => MonadIO (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => HasOptions (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadReduce (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadTCEnv (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadTCM (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadTCState (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => ReadTCState (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => HasBuiltins (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinReportS (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugReportS [TCM Doc]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS [TCM Doc]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugHasConstInfo (TCMT IO)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureNull (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(IsString a, MonadIO m) => IsString (TCMT m a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(MonadIO m, Semigroup a) => Semigroup (TCMT m a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(MonadIO m, Semigroup a, Monoid a) => Monoid (TCMT m a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseStrict (non-shortcut) monoid.
(MonadIO m, Null a) => Null (TCMT m a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype BenchPhase TCM = PhaseDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
class (Functor m, Applicative m, MonadFail m, HasOptions m, MonadDebug m, MonadTCEnv m) => HasConstInfo (m :: Type -> Type) whereMethods
getConstInfo :: QName -> m DefinitionLookup the definition of a name. The result is a closed thing, all free variables have been abstracted over.
getConstInfo' :: QName -> m (Either SigError Definition)Version that reports exceptions:
getRewriteRulesFor :: QName -> m RewriteRulesLookup the rewrite rules with the given head symbol.
Instances17HasConstInfo, …
HasConstInfo AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteHasConstInfo TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadHasConstInfo ForcedVariableCollection'Defined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingHasConstInfo ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanHasConstInfo NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchHasConstInfo (TCMT IO)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureHasConstInfo m => HasConstInfo (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesHasConstInfo m => HasConstInfo (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (ExceptT err m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SignatureHasConstInfo m => HasConstInfo (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Signature(Monoid w, HasConstInfo m) => HasConstInfo (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Signature
A complete log for a module will look like this:
EnterSection, entering the main module.
DeclEnterSectionLeaveSection, for declarations and nested modules
LeaveSection, leaving the main module.
Constructors
EnterSection !Erased !ModuleName !TelescopeLeaveSection !ModuleNameDecl !DeclarationNever a Section or ScopeDecl
Pragmas !PragmaOptions
Instances3Generic, NFData, Rep
Generic TypeCheckActionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TypeCheckActionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep TypeCheckAction = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TypeCheckAction"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"EnterSection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Erased) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Telescope))) :+: C1 ('MetaCons"LeaveSection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName))) :+: (C1 ('MetaCons"Decl"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Declaration)) :+: C1 ('MetaCons"Pragmas"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PragmaOptions))))
pattern Primitive :: IsAbstract -> PrimitiveId -> [Clause] -> FunctionInverse -> Maybe CompiledClauses -> IsOpaque -> DefnVarious classes of metavariables.
Constructors
RecordsMeta variables of record type.
SingletonRecordsMeta variables of "hereditarily singleton" record type.
LevelsMeta variables of level type, if type-in-type is activated.
Instances4Bounded, Enum, Eq, Show
Instances13Monad, Functor, MonadFail, Applicative, HasOptions, MonadReduce, …
Monad ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFunctor ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadFail ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseApplicative ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasOptions ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasBuiltins ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanMonadAddContext ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanMonadDebug ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanPureTCM ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanHasConstInfo ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphan
Methods
formatDebugMessage :: VerboseKey -> VerboseLevel -> TCM Doc -> m StringtraceDebugMessage :: VerboseKey -> VerboseLevel -> String -> m a -> m averboseBracket :: VerboseKey -> VerboseLevel -> String -> m a -> m aPrint brackets around debug messages issued by a computation.
getVerbosity :: m VerbositygetProfileOptions :: m ProfileOptionsisDebugPrinting :: m BoolCheck whether we are currently debug printing.
nowDebugPrinting :: m a -> m aFlag in a computation that we are currently debug printing.
Instances17MonadDebug, …
MonadDebug AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadDebug TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadDebug ForcedVariableCollection'Defined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingMonadDebug ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanMonadDebug TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchMonadDebug m => MonadDebug (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadDebug m => MonadDebug (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesMonadDebug m => MonadDebug (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugMonadDebug m => MonadDebug (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Debug(MonadDebug m, Monoid w) => MonadDebug (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Debug
How much highlighting should be sent to the user interface?
Constructors
NoneNonInteractiveInteractiveThis includes both non-interactive highlighting and interactive highlighting of the expression that is currently being type-checked.
Instances7Eq, Ord, Read, Show, Generic, NFData, …
Eq HighlightingLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd HighlightingLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseRead HighlightingLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow HighlightingLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric HighlightingLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData HighlightingLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep HighlightingLevel = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"HighlightingLevel"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"None"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"NonInteractive"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Interactive"
'PrefixI 'False) U1))
How should highlighting be sent to the user interface?
Instances6Eq, Read, Show, Generic, NFData, Rep
Eq HighlightingMethodDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseRead HighlightingMethodDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow HighlightingMethodDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric HighlightingMethodDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData HighlightingMethodDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep HighlightingMethod = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"HighlightingMethod"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Direct"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Indirect"
'PrefixI 'False) U1)
Instances8Eq, Show, Generic, NFData, Pretty, PrettyTCM, …
Eq ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyEmbPrj ComparisonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep Comparison = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Comparison"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"CmpEq"
'PrefixI 'False) U1 :+: C1 ('MetaCons"CmpLeq"
'PrefixI 'False) U1)
Polarity for equality and subtype checking.
Constructors
Covariantmonotone
Contravariantantitone
Invariantno information (mixed variance)
Nonvariantconstant
Instances12Eq, Show, Generic, NFData, Pretty, PrettyTCM, …
Eq PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyKillRange PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj PolarityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanMonad m => Singleton Polarity (LeastPolarity m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PolarityAbstract [Polarity]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanApply [Polarity]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphantype Rep Polarity = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Polarity"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"Covariant"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Contravariant"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"Invariant"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Nonvariant"
'PrefixI 'False) U1))
A thing tagged with the context it came from. Also keeps the substitution from previous checkpoints. This lets us handle the case when an open thing was created in a context that we have since exited. Remember which module it's from to make sure we don't get confused by checkpoints from other files.
Instances13Functor, Foldable, Traversable, Decoration, Show, Generic, …
Functor OpenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFoldable OpenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseTraversable OpenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseDecoration OpenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow a => Show (Open a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric (Open a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData a => NFData (Open a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty a => Pretty (Open a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange a => KillRange (Open a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn a => NamesIn (Open a)Defined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesInstantiateFull t => InstantiateFull (Open t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj a => EmbPrj (Open a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep (Open a) = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Open"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"OpenThing"
'PrefixI 'True) ((S1 ('MetaSel ('Just"openThingCheckpoint"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CheckpointId) :*: S1 ('MetaSel ('Just"openThingCheckpointMap"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map CheckpointId Substitution))) :*: (S1 ('MetaSel ('Just"openThingModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleNameHash) :*: S1 ('MetaSel ('Just"openThing"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))
MetaInfo is cloned from one meta to the next during pruning.
Constructors
MetaInfomiClosRange :: Closure RangemiModality :: ModalityInstantiable with irrelevant/erased solution?
miMetaOccursCheck :: RunMetaOccursCheckRun the extended occurs check that goes in definitions?
miNameSuggestion :: MetaNameSuggestionUsed for printing.
Just xif meta-variable comes from omitted argument with namex.miGeneralizable :: Arg DoGeneralizeShould this meta be generalized if unsolved? If so, at what ArgInfo?
Instances10Generic, NFData, HasRange, SetRange, LensIsAbstract, LensModality, …
Generic MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSetRange MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensIsAbstract MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensModality MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensQuantity MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensRelevance MetaInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensClosure MetaInfo RangeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep MetaInfo = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"MetaInfo"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"MetaInfo"
'PrefixI 'True) ((S1 ('MetaSel ('Just"miClosRange"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Range)) :*: S1 ('MetaSel ('Just"miModality"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality)) :*: (S1 ('MetaSel ('Just"miMetaOccursCheck"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RunMetaOccursCheck) :*: (S1 ('MetaSel ('Just"miNameSuggestion"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaNameSuggestion) :*: S1 ('MetaSel ('Just"miGeneralizable"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg DoGeneralize))))))
Constructors
ValueCmp Comparison CompareAs Term TermValueCmpOnFace Comparison Term Type Term TermElimCmp [Polarity] [IsForced] Type Term [Elim] [Elim]SortCmp Comparison Sort SortLevelCmp Comparison Level LevelHasBiggerSort SortHasPTSRule (Dom Type) (Abs Sort)CheckDataSort QName SortCheck that the sort Sort of data type QName admits data/record types. E.g., sorts
IUniv,SizeUnivetc. do not admit such constructions. See checkDataSort.CheckMetaInst MetaIdCheckType TypeUnBlock MetaIdMeta created for a term blocked by a postponed type checking problem or unsolved constraints. The MetaInstantiation for the meta (when unsolved) is either BlockedConst or PostponedTypeCheckingProblem.
IsEmpty Range TypeThe range is the one of the absurd pattern.
CheckSizeLtSat TermCheck that the Term is either not a SIZELT or a non-empty SIZELT.
FindInstance MetaId (Maybe [Candidate])the first argument is the instance argument and the second one is the list of candidates (or Nothing if we haven’t determined the list of candidates yet)
ResolveInstanceHead QNameResolve the head symbol of the type that the given instance targets
CheckFunDef DefInfo QName [Clause] TCErrLast argument is the error causing us to postpone.
UnquoteTactic Term Term TypeFirst argument is computation and the others are hole and goal type
CheckLockedVars Term Type (Arg Term) TypeCheckLockedVars t ty lk lk_tywitht : ty,lk : lk_tyandt lkwell-typed.UsableAtModality WhyCheckModality (Maybe Sort) Modality TermIs the term usable at the given modality? This check should run if the
SortisNothingorisFibrant.
Instances19Show, Generic, NFData, HasRange, Subst, PrettyTCM, …
Show ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty.Constraint · orphanReify ConstraintDefined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphanReduce ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceSimplify ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceInstantiate ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceTermLike ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAllMetas ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFree ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMentionsMeta ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars.MentionInstantiateFull ConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reducetype Rep Constraint = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Constraint"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((((C1 ('MetaCons"ValueCmp"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompareAs)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"ValueCmpOnFace"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: (C1 ('MetaCons"ElimCmp"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Polarity]) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IsForced]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim])))) :+: C1 ('MetaCons"SortCmp"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))))) :+: ((C1 ('MetaCons"LevelCmp"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level))) :+: C1 ('MetaCons"HasBiggerSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))) :+: (C1 ('MetaCons"HasPTSRule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Sort))) :+: (C1 ('MetaCons"CheckDataSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: C1 ('MetaCons"CheckMetaInst"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)))))) :+: (((C1 ('MetaCons"CheckType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons"UnBlock"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId))) :+: (C1 ('MetaCons"IsEmpty"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"CheckSizeLtSat"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"FindInstance"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Candidate])))))) :+: ((C1 ('MetaCons"ResolveInstanceHead"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"CheckFunDef"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCErr)))) :+: (C1 ('MetaCons"UnquoteTactic"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons"CheckLockedVars"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"UsableAtModality"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyCheckModality) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Sort))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))))type SubstArg Constraint = TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphantype ReifiesTo Constraint = OutputConstraint Expr ExprDefined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan
Assorted warnings and errors to be displayed to the user
Constructors
Instances2EncodeTCM
EncodeTCM DisplayInfoDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM ResponseDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphan
Constructors
Sig_sigSections :: Sections_sigDefinitions :: Definitions_sigRewriteRules :: RewriteRuleMapThe rewrite rules defined in this file.
_sigInstances :: InstanceTable
Instances7Show, Generic, NFData, KillRange, InstantiateFull, EmbPrj, …
Show SignatureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric SignatureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData SignatureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange SignatureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseInstantiateFull SignatureDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj SignatureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep Signature = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Signature"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Sig"
'PrefixI 'True) ((S1 ('MetaSel ('Just"_sigSections"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sections) :*: S1 ('MetaSel ('Just"_sigDefinitions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Definitions)) :*: (S1 ('MetaSel ('Just"_sigRewriteRules"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RewriteRuleMap) :*: S1 ('MetaSel ('Just"_sigInstances"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InstanceTable))))
A non-fatal error is an error which does not prevent us from checking the document further and interacting with the user.
Constructors
NicifierIssue DeclarationWarningTerminationIssue [TerminationError]UnreachableClauses QName [Range]`UnreachableClauses f rs` means that the clauses in
fwhose ranges are rs are unreachableCoverageIssue QName [(Telescope, [NamedArg DeBruijnPattern])]`CoverageIssue f pss` means that
pssare not covered infCoverageNoExactSplit QName [Clause]InlineNoExactSplit QName ClauseClause was turned into copattern matching clause(s) by an
{-# INLINE constructor #-}and thus is not a definitional equality any more.NotStrictlyPositive QName (Seq OccursWhere)ConstructorDoesNotFitInData QName Sort Sort TCErrCoinductiveEtaRecord QNameA record type declared as both
coinductiveand havingeta-equality.UnsolvedMetaVariables [Range]Do not use directly with
warningUnsolvedInteractionMetas [Range]Do not use directly with
warningUnsolvedConstraints ConstraintsDo not use directly with
warningInteractionMetaBoundaries [Range]Do not use directly with
warningCantGeneralizeOverSorts [MetaId]AbsurdPatternRequiresNoRHS [NamedArg DeBruijnPattern]OldBuiltin BuiltinId BuiltinIdIn `OldBuiltin old new`, the BUILTIN old has been replaced by new.
BuiltinDeclaresIdentifier BuiltinIdThe builtin declares a new identifier, so it should not be in scope.
DuplicateRecordDirective RecordDirectiveThe given record directive is conflicting with a prior one in the same record declaration.
EmptyRewritePragmaIf the user wrote just
{-# REWRITE #-}.EmptyWhereAn empty
whereblock is dead code.IllformedAsClause StringIf the user wrote something other than an unqualified name in the
asclause of animportstatement. The String gives optionally extra explanation.InvalidCharacterLiteral CharA character literal Agda does not support, e.g. surrogate code points.
ClashesViaRenaming NameOrModule [Name]If a
renamingimport directive introduces a name or module name clash in the exported names of a module. (See issue #4154.)UselessPatternDeclarationForRecord StringThe
patterndeclaration is useless in the presence of eithercoinductiveoreta-equality. Content of String is "coinductive" or "eta", resp.UselessPragma Range DocWarning when pragma is useless and thus ignored. Range is for dead code highlighting.
UselessPublicIf the user opens a module public before the module header. (See issue #2377.)
UselessHiding [ImportedName]UselessInline QNameWrongInstanceDeclarationInstanceWithExplicitArg QNameAn instance was declared with an implicit argument, which means it will never actually be considered by instance search.
InstanceNoOutputTypeName DocThe type of an instance argument doesn't end in a named or variable type, so it will never be considered by instance search.
InstanceArgWithExplicitArg DocAs InstanceWithExplicitArg, but for local bindings rather than top-level instances.
InversionDepthReached QNameThe --inversion-max-depth was reached.
NoGuardednessFlag QNameA coinductive record was declared but neither --guardedness nor --sized-types is enabled.
SafeFlagPostulate NameSafeFlagPragma [String]Unsafe OPTIONS.
SafeFlagWithoutKFlagPrimEraseEqualityWithoutKFlagPrimEraseEqualityConflictingPragmaOptions String String`ConflictingPragmaOptions a b`: Inconsistent options `--a` and `--no-b`, since `--a` implies `--b`. Ignoring `--no-b`.
OptionWarning OptionWarningParseWarning ParseWarningLibraryWarning LibWarningDeprecationWarning String String String`DeprecationWarning old new version`:
oldis deprecated, usenewinstead. This will be an error in Agdaversion.UserWarning TextUser-defined warning (e.g. to mention that a name is deprecated)
DuplicateUsing (List1 ImportedName)Duplicate mentions of the same name in
usingdirective(s).FixityInRenamingModule (List1 Range)Fixity of modules cannot be changed via renaming (since modules have no fixity).
ModuleDoesntExport QName [Name] [Name] [ImportedName]Some imported names are not actually exported by the source module. The second argument is the names that could be exported. The third argument is the module names that could be exported.
InfectiveImport DocImporting a file using an infective option into one which doesn't
CoInfectiveImport DocImporting a file not using a coinfective option from one which does
ConfluenceCheckingIncompleteBecauseOfMeta QNameConfluence checking incomplete because the definition of the QName contains unsolved metavariables.
ConfluenceForCubicalNotSupportedConfluence checking with
--cubicalmight be incomplete.IllegalRewriteRule QName IllegalRewriteRuleReasonRewriteNonConfluent Term Term Term DocConfluence checker found critical pair and equality checking resulted in a type error
RewriteMaybeNonConfluent Term Term [Doc]Confluence checker got stuck on computing overlap between two rewrite rules
RewriteAmbiguousRules Term Term TermThe global confluence checker found a term
uthat reduces to bothv1andv2and there is no rule to resolve the ambiguity.RewriteMissingRule Term Term TermThe global confluence checker found a term
uthat reduces tov, butvdoes not reduce torho(u).PragmaCompileErased BackendName QNameCOMPILE directive for an erased symbol.
PragmaCompileListCOMPILE GHCpragma for lists; ignored.PragmaCompileMaybeCOMPILE GHCpragma forMAYBE; ignored.NoMain TopLevelModuleNameCompiler run on module that does not have a
mainfunction.NotInScopeW [QName]Out of scope error we can recover from.
UnsupportedIndexedMatch DocWas not able to compute a full equivalence when splitting.
AsPatternShadowsConstructorOrPatternSynonym LHSOrPatSynPatternShadowsConstructor Name QNameA pattern variable has the name of a constructor (data constructor or matchable record constructor).
PlentyInHardCompileTimeMode QωOriginExplicit use of @
ωor @plentyin hard compile-time mode.RecordFieldWarning RecordFieldWarningMissingTypeSignatureForOpaque QName IsOpaqueAn
abstractoropaquedefinition lacks a type signature.NotAffectedByOpaqueUnfoldTransparentName QNameUselessOpaqueFaceConstraintCannotBeHidden ArgInfoFace constraint patterns
(i = 0)must be visible arguments.FaceConstraintCannotBeNamed NamedNameFace constraint patterns
(i = 0)must be unnamed arguments.DuplicateInterfaceFiles AbsolutePath AbsolutePath`DuplicateInterfaceFiles selectedInterfaceFile ignoredInterfaceFile`
CustomBackendWarning String DocUsed for backend-specific warnings. The string is the backend name.
Instances5Show, Generic, NFData, EmbPrj, Rep
Show WarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric WarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData WarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj WarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Errors · orphantype Rep Warning = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Warning"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((((((C1 ('MetaCons"NicifierIssue"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeclarationWarning)) :+: C1 ('MetaCons"TerminationIssue"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TerminationError]))) :+: (C1 ('MetaCons"UnreachableClauses"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range])) :+: C1 ('MetaCons"CoverageIssue"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Telescope, [NamedArg DeBruijnPattern])])))) :+: ((C1 ('MetaCons"CoverageNoExactSplit"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause])) :+: C1 ('MetaCons"InlineNoExactSplit"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Clause))) :+: (C1 ('MetaCons"NotStrictlyPositive"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq OccursWhere))) :+: (C1 ('MetaCons"ConstructorDoesNotFitInData"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCErr))) :+: C1 ('MetaCons"CoinductiveEtaRecord"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))) :+: (((C1 ('MetaCons"UnsolvedMetaVariables"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range])) :+: C1 ('MetaCons"UnsolvedInteractionMetas"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]))) :+: (C1 ('MetaCons"UnsolvedConstraints"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Constraints)) :+: C1 ('MetaCons"InteractionMetaBoundaries"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range])))) :+: ((C1 ('MetaCons"CantGeneralizeOverSorts"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [MetaId])) :+: C1 ('MetaCons"AbsurdPatternRequiresNoRHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg DeBruijnPattern]))) :+: (C1 ('MetaCons"OldBuiltin"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: (C1 ('MetaCons"BuiltinDeclaresIdentifier"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons"DuplicateRecordDirective"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordDirective))))))) :+: ((((C1 ('MetaCons"EmptyRewritePragma"
'PrefixI 'False) U1 :+: C1 ('MetaCons"EmptyWhere"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"IllformedAsClause"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons"InvalidCharacterLiteral"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)))) :+: ((C1 ('MetaCons"ClashesViaRenaming"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameOrModule) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: C1 ('MetaCons"UselessPatternDeclarationForRecord"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons"UselessPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons"UselessPublic"
'PrefixI 'False) U1 :+: C1 ('MetaCons"UselessHiding"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportedName])))))) :+: (((C1 ('MetaCons"UselessInline"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"WrongInstanceDeclaration"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"InstanceWithExplicitArg"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"InstanceNoOutputTypeName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons"InstanceArgWithExplicitArg"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))) :+: ((C1 ('MetaCons"InversionDepthReached"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"NoGuardednessFlag"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons"SafeFlagPostulate"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons"SafeFlagPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :+: C1 ('MetaCons"SafeFlagWithoutKFlagPrimEraseEquality"
'PrefixI 'False) U1)))))) :+: (((((C1 ('MetaCons"WithoutKFlagPrimEraseEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"ConflictingPragmaOptions"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons"OptionWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptionWarning)) :+: C1 ('MetaCons"ParseWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParseWarning)))) :+: ((C1 ('MetaCons"LibraryWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibWarning)) :+: C1 ('MetaCons"DeprecationWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons"UserWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons"DuplicateUsing"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: C1 ('MetaCons"FixityInRenamingModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Range))))))) :+: (((C1 ('MetaCons"ModuleDoesntExport"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportedName]))) :+: C1 ('MetaCons"InfectiveImport"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons"CoInfectiveImport"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons"ConfluenceCheckingIncompleteBecauseOfMeta"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: ((C1 ('MetaCons"ConfluenceForCubicalNotSupported"
'PrefixI 'False) U1 :+: C1 ('MetaCons"IllegalRewriteRule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IllegalRewriteRuleReason))) :+: (C1 ('MetaCons"RewriteNonConfluent"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons"RewriteMaybeNonConfluent"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Doc]))) :+: C1 ('MetaCons"RewriteAmbiguousRules"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))))) :+: ((((C1 ('MetaCons"RewriteMissingRule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"PragmaCompileErased"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons"PragmaCompileList"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PragmaCompileMaybe"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"NoMain"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)) :+: C1 ('MetaCons"NotInScopeW"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]))) :+: (C1 ('MetaCons"UnsupportedIndexedMatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons"AsPatternShadowsConstructorOrPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn)) :+: C1 ('MetaCons"PatternShadowsConstructor"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))) :+: (((C1 ('MetaCons"PlentyInHardCompileTimeMode"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QωOrigin)) :+: C1 ('MetaCons"RecordFieldWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordFieldWarning))) :+: (C1 ('MetaCons"MissingTypeSignatureForOpaque"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsOpaque)) :+: (C1 ('MetaCons"NotAffectedByOpaque"
'PrefixI 'False) U1 :+: C1 ('MetaCons"UnfoldTransparentName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons"UselessOpaque"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FaceConstraintCannotBeHidden"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo))) :+: (C1 ('MetaCons"FaceConstraintCannotBeNamed"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NamedName)) :+: (C1 ('MetaCons"DuplicateInterfaceFiles"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath)) :+: C1 ('MetaCons"CustomBackendWarning"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)))))))))
Change to top (=empty) context. Resets the checkpoints.
Constructors
TCWarningtcWarningLocation :: CallStackLocation in the internal Agda source code location where the error raised
tcWarningRange :: RangeRange where the warning was raised
tcWarning :: WarningThe warning itself
tcWarningPrintedWarning :: DocThe warning printed in the state and environment where it was raised
tcWarningCached :: BoolShould the warning be affected by caching.
Instances12Eq, Show, Generic, NFData, HasRange, PrettyTCM, …
Eq TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty.Warning · orphanEncodeTCM DisplayInfoDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM Info_ErrorDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM ResponseDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEncodeTCM TCWarningDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphanEmbPrj TCWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Errors · orphantype Rep TCWarning = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TCWarning"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"TCWarning"
'PrefixI 'True) ((S1 ('MetaSel ('Just"tcWarningLocation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CallStack) :*: S1 ('MetaSel ('Just"tcWarningRange"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :*: (S1 ('MetaSel ('Just"tcWarning"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Warning) :*: (S1 ('MetaSel ('Just"tcWarningPrintedWarning"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: S1 ('MetaSel ('Just"tcWarningCached"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))
For printing, we couple a meta with its name suggestion.
Constructors
Instances5Pretty, PrettyTCM, ToConcrete, EncodeTCM, ConOfAbs
Pretty NamedMetaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM NamedMetaDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyToConcrete NamedMetaDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteEncodeTCM NamedMetaDefined in Agda-2.7.0.1 · Agda.Interaction.JSONTop · orphantype ConOfAbs NamedMeta = ExprDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcrete
Get the Range for an interaction point.
Get the Range for a local meta-variable.
Gets the include directories.
Precondition: optAbsoluteIncludePaths must be nonempty (i.e. setCommandLineOptions must have run).
Tries to convert a raw top-level module name to a top-level module name.
Maps top-level module names to the corresponding source file names.
Constructors
ModuleInfomiInterface :: InterfacemiWarnings :: [TCWarning]Warnings were encountered when the module was type checked. These might include warnings not stored in the interface itself, specifically unsolved interaction metas. See Agda.Interaction.Imports
miPrimitive :: BoolTrue if the module is a primitive module, which should always be importable.
miMode :: ModuleCheckModeThe ModuleCheckMode used to create the Interface
Instances3Generic, NFData, Rep
Generic ModuleInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ModuleInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep ModuleInfo = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ModuleInfo"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ModuleInfo"
'PrefixI 'True) ((S1 ('MetaSel ('Just"miInterface"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Interface) :*: S1 ('MetaSel ('Just"miWarnings"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TCWarning])) :*: (S1 ('MetaSel ('Just"miPrimitive"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"miMode"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleCheckMode))))
Methods
traceCall :: Call -> m a -> m aRecord a function call in the trace.
traceCallM :: m Call -> m a -> m atraceCallCPS :: Call -> ((a -> m b) -> m b) -> (a -> m b) -> m btraceClosureCall :: Closure Call -> m a -> m aprintHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> m ()Lispify and print the given highlighting information.
Instances6MonadTrace
MonadTrace TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.TraceMonadTrace m => MonadTrace (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.TraceMonadTrace m => MonadTrace (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.TraceMonadTrace m => MonadTrace (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.TraceMonadTrace m => MonadTrace (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Trace(MonadTrace m, Monoid w) => MonadTrace (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Trace
highlightAsTypeChecked rPre r m runs m and returns its
result. Additionally, some code may be highlighted:
If
ris non-empty and not a sub-range ofrPre(after continuousPerLine has been applied to both):ris highlighted as being type-checked whilemis running (this highlighting is removed ifmcompletes successfully).Otherwise: Highlighting is removed for
rPre - rbeforemruns, and ifmcompletes successfully, thenrPre - ris highlighted as being type-checked.
Sets the command line options (both persistent and pragma options are updated).
Relative include directories are made absolute with respect to the current working directory. If the include directories have changed then the state is reset (partly, see setIncludeDirs).
An empty list of relative include directories (Left []) is
interpreted as ["."].
Run a computation in a local scope.
type InteractionOutputCallback = Response_boot TCErr TCWarning WarningsAndNonFatalErrors -> TCM ()Callback fuction to call when there is a response to give to the interactive frontend.
Note that the response is given in pieces and incrementally, so the user can have timely response even during long computations.
Typical InteractionOutputCallback functions:
Convert the response into a String representation and print it on standard output (suitable for inter-process communication).
Put the response into a mutable variable stored in the closure of the InteractionOutputCallback function. (suitable for intra-process communication).
The default InteractionOutputCallback function prints certain things to stdout (other things generate internal errors).
Datatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ⊢ t = ?n es
Methods
pragmaOptions :: m PragmaOptionsReturns the pragma options which are currently in effect.
commandLineOptions :: m CommandLineOptionsReturns the command line options which are currently in effect.
Instances20HasOptions, …
HasOptions ReplMDefined in Agda-2.7.0.1 · Agda.Interaction.CommandLineHasOptions IMDefined in Agda-2.7.0.1 · Agda.Interaction.MonadHasOptions AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteHasOptions TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadHasOptions ForcedVariableCollection'Defined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingHasOptions ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasOptions RecPatMDefined in Agda-2.7.0.1 · Agda.TypeChecking.RecordPatternsHasOptions NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchHasOptions m => HasOptions (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureHasOptions m => HasOptions (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasOptions m => HasOptions (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesHasOptions m => HasOptions (ListT m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptionsHasOptions m => HasOptions (ChangeT m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptionsHasOptions m => HasOptions (MaybeT m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptionsMonadIO m => HasOptions (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasOptions m => HasOptions (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptionsHasOptions m => HasOptions (IdentityT m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptionsHasOptions m => HasOptions (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptionsHasOptions m => HasOptions (StateT s m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptions(HasOptions m, Monoid w) => HasOptions (WriterT w m)Defined in Agda-2.7.0.1 · Agda.Interaction.Options.HasOptions
MonadTCEnv made into its own dedicated service class.
This allows us to use MonadReader for ReaderT extensions of TCM.
Instances20MonadTCEnv, …
MonadTCEnv ReplMDefined in Agda-2.7.0.1 · Agda.Interaction.CommandLineMonadTCEnv IMDefined in Agda-2.7.0.1 · Agda.Interaction.MonadMonadTCEnv AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadTCEnv TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadTCEnv ForcedVariableCollection'Defined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingMonadTCEnv ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv RecPatMDefined in Agda-2.7.0.1 · Agda.TypeChecking.RecordPatternsMonadTCEnv NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchMonadTCEnv m => MonadTCEnv (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadTCEnv m => MonadTCEnv (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesMonadTCEnv m => MonadTCEnv (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadTCEnv (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (ExceptT err m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Monoid w, MonadTCEnv m) => MonadTCEnv (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
class (Applicative tcm, MonadIO tcm, MonadTCEnv tcm, MonadTCState tcm, HasOptions tcm) => MonadTCM (tcm :: Type -> Type) whereInstances15MonadTCM, …
MonadTCM ReplMDefined in Agda-2.7.0.1 · Agda.Interaction.CommandLineMonadTCM IMDefined in Agda-2.7.0.1 · Agda.Interaction.MonadMonadTCM TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadTCM RecPatMDefined in Agda-2.7.0.1 · Agda.TypeChecking.RecordPatternsMonadTCM m => MonadTCM (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM m => MonadTCM (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesMonadTCM tcm => MonadTCM (ListT tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM tcm => MonadTCM (ChangeT tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM tcm => MonadTCM (MaybeT tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadTCM (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM tcm => MonadTCM (ExceptT err tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM tcm => MonadTCM (IdentityT tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM tcm => MonadTCM (ReaderT r tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM tcm => MonadTCM (StateT s tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Monoid w, MonadTCM tcm) => MonadTCM (WriterT w tcm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
MonadTCState made into its own dedicated service class.
This allows us to use MonadState for StateT extensions of TCM.
Instances15MonadTCState, …
MonadTCState ReplMDefined in Agda-2.7.0.1 · Agda.Interaction.CommandLineMonadTCState IMDefined in Agda-2.7.0.1 · Agda.Interaction.MonadMonadTCState TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadTCState RecPatMDefined in Agda-2.7.0.1 · Agda.TypeChecking.RecordPatternsMonadTCState m => MonadTCState (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesMonadTCState m => MonadTCState (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadTCState (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (ExceptT err m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Monoid w, MonadTCState m) => MonadTCState (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Methods
getTCState :: m TCStatelocallyTCState :: Lens' TCState a -> (a -> a) -> m b -> m bwithTCState :: (TCState -> TCState) -> m a -> m a
Instances19ReadTCState, …
ReadTCState ReplMDefined in Agda-2.7.0.1 · Agda.Interaction.CommandLineReadTCState IMDefined in Agda-2.7.0.1 · Agda.Interaction.MonadReadTCState AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteReadTCState TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadReadTCState ForcedVariableCollection'Defined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingReadTCState ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchReadTCState m => ReadTCState (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureReadTCState m => ReadTCState (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesReadTCState m => ReadTCState (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => ReadTCState (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (ExceptT err m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Monoid w, ReadTCState m) => ReadTCState (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Either a BuiltinId or PrimitiveId, used for some lookups.
Constructors
Instances9Eq, Ord, Show, Generic, NFData, Hashable, …
Eq SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinOrd SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinShow SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinGeneric SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinNFData SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinHashable SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinIsBuiltin SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinEmbPrj SomeBuiltinDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Common · orphantype Rep SomeBuiltin = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.Syntax.Builtin"SomeBuiltin"
"Agda.Syntax.Builtin"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"BuiltinName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BuiltinId)) :+: C1 ('MetaCons"PrimitiveName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PrimitiveId)))
Lookup a builtin by the string used in the BUILTIN pragma.
Builtins that come without a definition in Agda syntax. These are giving names to Agda internal concepts which cannot be assigned an Agda type.
An example would be a user-defined name for Set.
{-# BUILTIN TYPE Type #-}
The type of Type would be Type : Level → Setω
which is not valid Agda.
Constructors
InternalError StringNotImplemented StringNotSupported StringCompilationError StringPropMustBeSingletonDataMustEndInSort TermShouldEndInApplicationOfTheDatatype TypeThe target of a constructor isn't an application of its datatype. The Type records what it does target.
ShouldBeAppliedToTheDatatypeParameters Term TermThe target of a constructor isn't its datatype applied to something that isn't the parameters. First term is the correct target and the second term is the actual target.
ShouldBeApplicationOf Type QNameExpected a type to be an application of a particular datatype.
ConstructorPatternInWrongDatatype QName QNameconstructor, datatype
CantResolveOverloadedConstructorsTargetingSameDatatype QName (List1 QName)Datatype, constructors.
DoesNotConstructAnElementOf QName Typeconstructor, type
WrongHidingInLHSThe left hand side of a function definition has a hidden argument where a non-hidden was expected.
WrongHidingInLambda TypeExpected a non-hidden function and found a hidden lambda.
WrongHidingInApplication TypeA function is applied to a hidden argument where a non-hidden was expected.
WrongHidingInProjection QNameIllegalHidingInPostfixProjection (NamedArg Expr)WrongNamedArgument (NamedArg Expr) [NamedName]A function is applied to a hidden named argument it does not have. The list contains names of possible hidden arguments at this point.
WrongIrrelevanceInLambdaWrong user-given relevance annotation in lambda.
WrongQuantityInLambdaWrong user-given quantity annotation in lambda.
WrongCohesionInLambdaWrong user-given cohesion annotation in lambda.
QuantityMismatch Quantity QuantityThe given quantity does not correspond to the expected quantity.
HidingMismatch Hiding HidingThe given hiding does not correspond to the expected hiding.
RelevanceMismatch Relevance RelevanceThe given relevance does not correspond to the expected relevane.
UninstantiatedDotPattern ExprForcedConstructorNotInstantiated PatternIllformedProjectionPatternAbstract PatternIllformedProjectionPatternConcrete PatternCannotEliminateWithPattern (Maybe Blocker) (NamedArg Pattern) TypeCannotEliminateWithProjection (Arg Type) Bool QNameWrongNumberOfConstructorArguments QName Nat NatShouldBeEmpty Type [DeBruijnPattern]ShouldBeASort TypeThe given type should have been a sort.
ShouldBePi TypeThe given type should have been a pi.
ShouldBePath TypeShouldBeRecordType TypeShouldBeRecordPattern DeBruijnPatternNotAProjectionPattern (NamedArg Pattern)NotAProperTermInvalidTypeSort SortThis sort is not a type expression.
InvalidType TermThis term is not a type expression.
SplitOnCoinductiveSplitOnIrrelevant (Dom Type)SplitOnUnusableCohesion (Dom Type)SplitOnNonVariable Term TypeSplitOnNonEtaRecord QNameSplitOnAbstract QNameSplitOnUnchecked QNameSplitOnPartial (Dom Type)SplitInProp DataOrRecordEDefinitionIsIrrelevant QNameDefinitionIsErased QNameProjectionIsIrrelevant QNameVariableIsIrrelevant NameVariableIsErased NameVariableIsOfUnusableCohesion Name CohesionUnequalLevel Comparison Level LevelUnequalTerms Comparison Term Term CompareAsUnequalTypes Comparison Type TypeUnequalRelevance Comparison Term TermThe two function types have different relevance.
UnequalQuantity Comparison Term TermThe two function types have different relevance.
UnequalCohesion Comparison Term TermThe two function types have different cohesion.
UnequalFiniteness Comparison Term TermOne of the function types has a finite domain (i.e. is a
Partial@) and the other isonot.UnequalHiding Term TermThe two function types have different hiding.
UnequalSorts Sort SortUnequalBecauseOfUniverseConflict Comparison Term TermNotLeqSort Sort SortMetaCannotDependOn MetaId NatThe arguments are the meta variable and the parameter that it wants to depend on.
MetaOccursInItself MetaIdMetaIrrelevantSolution MetaId TermMetaErasedSolution MetaId TermGenericError StringGenericDocError DocSortOfSplitVarError (Maybe Blocker) Docthe meta is what we might be blocked on.
BuiltinMustBeConstructor BuiltinId ExprNoSuchBuiltinName StringDuplicateBuiltinBinding BuiltinId Term TermNoBindingForBuiltin BuiltinIdNoBindingForPrimitive PrimitiveIdNoSuchPrimitiveFunction StringDuplicatePrimitiveBinding PrimitiveId QName QNameWrongArgInfoForPrimitive PrimitiveId ArgInfo ArgInfoShadowedModule Name [ModuleName]BuiltinInParameterisedModule BuiltinIdIllegalDeclarationInDataDefinition [Declaration]The declaration list comes from a single
C.NiceDeclaration.IllegalLetInTelescope TypedBindingIllegalPatternInTelescope BinderNoRHSRequiresAbsurdPattern [NamedArg Pattern]TooManyFields QName [Name] [Name]Record type, fields not supplied by user, non-fields but supplied.
DuplicateFields [Name]DuplicateConstructors [Name]DuplicateOverlapPragma QName OverlapMode OverlapModeWithOnFreeVariable Expr TermUnexpectedWithPatterns [Pattern]WithClausePatternMismatch Pattern (NamedArg DeBruijnPattern)IllTypedPatternAfterWithAbstraction PatternFieldOutsideRecordModuleArityMismatch ModuleName Telescope [NamedArg Expr]GeneralizeCyclicDependencyGeneralizeUnsolvedMetaReferencesFutureVariables Term (NonEmpty Int) (Arg Term) IntThe first term references the given list of variables, which are in "the future" with respect to the given lock (and its leftmost variable)
DoesNotMentionTicks Term Type (Arg Term)Arguments: later term, its type, lock term. The lock term does not mention any @lock variables.
MismatchedProjectionsError QName QNameAttributeKindNotEnabled String String StringInvalidProjectionParameter (NamedArg Expr)TacticAttributeNotAllowedCannotRewriteByNonEquation TypeMacroResultTypeMismatch TypeNamedWhereModuleInRefinedContext [Term] [String]CubicalPrimitiveNotFullyApplied QNameTooManyArgumentsToLeveledSort QNameTooManyArgumentsToUnivOmega QNameComatchingDisabledForRecord QNameBuiltinMustBeIsOne TermIncorrectTypeForRewriteRelation Term IncorrectTypeForRewriteRelationReasonUnexpectedParameter LamBindingNoParameterOfName ArgNameUnexpectedModalityAnnotationInParameter LamBindingExpectedBindingForParameter (Dom Type) (Abs Type)UnexpectedTypeSignatureForParameter (List1 (NamedArg Binder))SortDoesNotAdmitDataDefinitions QName SortSortCannotDependOnItsIndex QName TypeUnusableAtModality WhyCheckModality Modality TermSplitError SplitErrorImpossibleConstructor QName NegativeUnificationTooManyPolarities QName IntRecursiveRecordNeedsInductivity QNameA record type inferred as recursive needs a manual declaration whether it should be inductively or coinductively. Sized type errors
CannotSolveSizeConstraints (List1 (ProblemConstraint, HypSizeConstraint)) DocThe list of constraints is given redundantly as pairs of ProblemConstraint (original constraint) and HypSizeConstraint (form with size assumptions in context spelled out). The Doc is some extra reason for why solving failed.
ContradictorySizeConstraint (ProblemConstraint, HypSizeConstraint)EmptyTypeOfSizes TermThis type, representing a type of sizes, might be empty.
FunctionTypeInSizeUniv TermThis term, a function type constructor, lives in
SizeUniv, which is not allowed. Import errorsLibraryError LibErrorsCollected errors when processing the
.agda-libfile.LocalVsImportedModuleClash ModuleNameSolvedButOpenHolesSome interaction points (holes) have not been filled by user. There are not
UnsolvedMetassince unification solved them. This is an error, since interaction points are never filled without user interaction.CyclicModuleDependency [TopLevelModuleName]FileNotFound TopLevelModuleName [AbsolutePath]OverlappingProjects AbsolutePath TopLevelModuleName TopLevelModuleNameAmbiguousTopLevelModuleName TopLevelModuleName [AbsolutePath]ModuleNameUnexpected TopLevelModuleName TopLevelModuleNameFound module name, expected module name.
ModuleNameDoesntMatchFileName TopLevelModuleName [AbsolutePath]ClashingFileNamesFor ModuleName [AbsolutePath]ModuleDefinedInOtherFile TopLevelModuleName AbsolutePath AbsolutePathModule name, file from which it was loaded, file which the include path says contains the module.
InvalidFileName AbsolutePath InvalidFileNameReasonThe file name does not correspond to a module name. Scope errors
BothWithAndRHSAbstractConstructorNotInScope QNameNotInScope [QName]NoSuchModule QNameAmbiguousName QName AmbiguousNameReasonAmbiguousModule QName (List1 ModuleName)AmbiguousField Name [ModuleName]AmbiguousConstructor QName [QName]ClashingDefinition QName QName (Maybe NiceDeclaration)ClashingModule ModuleName ModuleNameClashingImport Name QNameClashingModuleImport Name ModuleNameDefinitionInDifferentModule QNameThe given data/record definition rests in a different module than its signature.
DuplicateImports QName [ImportedName]InvalidPattern PatternRepeatedVariablesInPattern [Name]GeneralizeNotSupportedHere QNameGeneralizedVarInLetOpenedModule QNameMultipleFixityDecls [(Name, [Fixity'])]MultiplePolarityPragmas [Name]NotAModuleExpr ExprThe expr was used in the right hand side of an implicit module definition, but it wasn't of the form
m Delta.NotAnExpression ExprNotAValidLetBinding NiceDeclarationNotValidBeforeField NiceDeclarationNothingAppliedToHiddenArg ExprNothingAppliedToInstanceArg ExprAsPatternInPatternSynonymDotPatternInPatternSynonymBadArgumentsToPatternSynonym AmbiguousQNameTooFewArgumentsToPatternSynonym AmbiguousQNameCannotResolveAmbiguousPatternSynonym (List1 (QName, PatternSynDefn))IllegalInstanceVariableInPatternSynonym NameThis variable is bound in the lhs of the pattern synonym in instance position, but not on the rhs. This is forbidden because expansion of pattern synonyms would not be faithful to availability of instances in instance search.
PatternSynonymArgumentShadowsConstructorOrPatternSynonym LHSOrPatSyn Name (List1 AbstractName)A variable to be bound in the pattern synonym resolved on the rhs as name of a constructor or a pattern synonym. The resolvents are given in the list.
UnusedVariableInPatternSynonym NameThis variable is only bound on the lhs of the pattern synonym, not on the rhs.
UnboundVariablesInPatternSynonym [Name]These variables are only bound on the rhs of the pattern synonym, not on the lhs. Operator errors
NoParseForApplication (List2 Expr)AmbiguousParseForApplication (List2 Expr) (List1 Expr)NoParseForLHS LHSOrPatSyn [Pattern] PatternThe list contains patterns that failed to be interpreted. If it is non-empty, the first entry could be printed as error hint.
AmbiguousParseForLHS LHSOrPatSyn Pattern [Pattern]Pattern and its possible interpretations.
AmbiguousProjection QName [QName]AmbiguousOverloadedProjection (List1 QName) DocOperatorInformation [NotationSection] TypeErrorInstanceNoCandidate Type [(Term, TCErr)]UnquoteFailed UnquoteErrorDeBruijnIndexOutOfScope Nat Telescope [Name]NeedOptionCopatternsNeedOptionRewritingNeedOptionPropNeedOptionTwoLevelNonFatalErrors [TCWarning]InstanceSearchDepthExhausted Term Type IntTriedToCopyConstrainedPrim QNameCustomBackendError String DocUsed for backend-specific errors. The string is the backend name.
Instances5Show, Generic, NFData, PrettyTCM, Rep
Show TypeErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric TypeErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TypeErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM TypeErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Errors · orphantype Rep TypeError = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TypeError"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (((((((C1 ('MetaCons"InternalError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons"NotImplemented"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons"NotSupported"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons"CompilationError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons"PropMustBeSingleton"
'PrefixI 'False) U1 :+: C1 ('MetaCons"DataMustEndInSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: ((C1 ('MetaCons"ShouldEndInApplicationOfTheDatatype"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"ShouldBeAppliedToTheDatatypeParameters"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"ShouldBeApplicationOf"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons"ConstructorPatternInWrongDatatype"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"CantResolveOverloadedConstructorsTargetingSameDatatype"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName))) :+: C1 ('MetaCons"DoesNotConstructAnElementOf"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: (((C1 ('MetaCons"WrongHidingInLHS"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"WrongHidingInLambda"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons"WrongHidingInApplication"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons"WrongHidingInProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"IllegalHidingInPostfixProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))) :+: C1 ('MetaCons"WrongNamedArgument"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedName]))))) :+: ((C1 ('MetaCons"WrongIrrelevanceInLambda"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"WrongQuantityInLambda"
'PrefixI 'False) U1 :+: C1 ('MetaCons"WrongCohesionInLambda"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"QuantityMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity)) :+: (C1 ('MetaCons"HidingMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding)) :+: C1 ('MetaCons"RelevanceMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance))))))) :+: ((((C1 ('MetaCons"UninstantiatedDotPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons"ForcedConstructorNotInstantiated"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: C1 ('MetaCons"IllformedProjectionPatternAbstract"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)))) :+: (C1 ('MetaCons"IllformedProjectionPatternConcrete"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: (C1 ('MetaCons"CannotEliminateWithPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"CannotEliminateWithProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Type)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))) :+: ((C1 ('MetaCons"WrongNumberOfConstructorArguments"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat))) :+: (C1 ('MetaCons"ShouldBeEmpty"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DeBruijnPattern])) :+: C1 ('MetaCons"ShouldBeASort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons"ShouldBePi"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"ShouldBePath"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons"ShouldBeRecordType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: (((C1 ('MetaCons"ShouldBeRecordPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeBruijnPattern)) :+: (C1 ('MetaCons"NotAProjectionPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern))) :+: C1 ('MetaCons"NotAProperTerm"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"InvalidTypeSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: (C1 ('MetaCons"InvalidType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"SplitOnCoinductive"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"SplitOnIrrelevant"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))) :+: (C1 ('MetaCons"SplitOnUnusableCohesion"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))) :+: C1 ('MetaCons"SplitOnNonVariable"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons"SplitOnNonEtaRecord"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"SplitOnAbstract"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons"SplitOnUnchecked"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"SplitOnPartial"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))))))))) :+: (((((C1 ('MetaCons"SplitInProp"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecordE)) :+: (C1 ('MetaCons"DefinitionIsIrrelevant"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"DefinitionIsErased"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons"ProjectionIsIrrelevant"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"VariableIsIrrelevant"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons"VariableIsErased"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons"VariableIsOfUnusableCohesion"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion)) :+: (C1 ('MetaCons"UnequalLevel"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level))) :+: C1 ('MetaCons"UnequalTerms"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompareAs))))) :+: (C1 ('MetaCons"UnequalTypes"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons"UnequalRelevance"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"UnequalQuantity"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))) :+: (((C1 ('MetaCons"UnequalCohesion"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons"UnequalFiniteness"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"UnequalHiding"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons"UnequalSorts"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: (C1 ('MetaCons"UnequalBecauseOfUniverseConflict"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"NotLeqSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))))) :+: ((C1 ('MetaCons"MetaCannotDependOn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat)) :+: (C1 ('MetaCons"MetaOccursInItself"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :+: C1 ('MetaCons"MetaIrrelevantSolution"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons"MetaErasedSolution"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons"GenericError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons"GenericDocError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))))) :+: ((((C1 ('MetaCons"SortOfSplitVarError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons"BuiltinMustBeConstructor"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons"NoSuchBuiltinName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons"DuplicateBuiltinBinding"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons"NoBindingForBuiltin"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons"NoBindingForPrimitive"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId))))) :+: ((C1 ('MetaCons"NoSuchPrimitiveFunction"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons"DuplicatePrimitiveBinding"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: C1 ('MetaCons"WrongArgInfoForPrimitive"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo))))) :+: (C1 ('MetaCons"ShadowedModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModuleName])) :+: (C1 ('MetaCons"BuiltinInParameterisedModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons"IllegalDeclarationInDataDefinition"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Declaration])))))) :+: (((C1 ('MetaCons"IllegalLetInTelescope"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypedBinding)) :+: (C1 ('MetaCons"IllegalPatternInTelescope"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Binder)) :+: C1 ('MetaCons"NoRHSRequiresAbsurdPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Pattern])))) :+: (C1 ('MetaCons"TooManyFields"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))) :+: (C1 ('MetaCons"DuplicateFields"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: C1 ('MetaCons"DuplicateConstructors"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))))) :+: ((C1 ('MetaCons"DuplicateOverlapPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode))) :+: (C1 ('MetaCons"WithOnFreeVariable"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"UnexpectedWithPatterns"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pattern])))) :+: ((C1 ('MetaCons"WithClausePatternMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg DeBruijnPattern))) :+: C1 ('MetaCons"IllTypedPatternAfterWithAbstraction"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons"FieldOutsideRecord"
'PrefixI 'False) U1 :+: C1 ('MetaCons"ModuleArityMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr])))))))))) :+: ((((((C1 ('MetaCons"GeneralizeCyclicDependency"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"GeneralizeUnsolvedMeta"
'PrefixI 'False) U1 :+: C1 ('MetaCons"ReferencesFutureVariables"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Int))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))) :+: (C1 ('MetaCons"DoesNotMentionTicks"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)))) :+: (C1 ('MetaCons"MismatchedProjectionsError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"AttributeKindNotEnabled"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))) :+: ((C1 ('MetaCons"InvalidProjectionParameter"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))) :+: (C1 ('MetaCons"TacticAttributeNotAllowed"
'PrefixI 'False) U1 :+: C1 ('MetaCons"CannotRewriteByNonEquation"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons"MacroResultTypeMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"NamedWhereModuleInRefinedContext"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Term]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :+: C1 ('MetaCons"CubicalPrimitiveNotFullyApplied"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))) :+: (((C1 ('MetaCons"TooManyArgumentsToLeveledSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"TooManyArgumentsToUnivOmega"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"ComatchingDisabledForRecord"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons"BuiltinMustBeIsOne"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons"IncorrectTypeForRewriteRelation"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IncorrectTypeForRewriteRelationReason)) :+: C1 ('MetaCons"UnexpectedParameter"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding))))) :+: ((C1 ('MetaCons"NoParameterOfName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgName)) :+: (C1 ('MetaCons"UnexpectedModalityAnnotationInParameter"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding)) :+: C1 ('MetaCons"ExpectedBindingForParameter"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Type))))) :+: (C1 ('MetaCons"UnexpectedTypeSignatureForParameter"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (NamedArg Binder)))) :+: (C1 ('MetaCons"SortDoesNotAdmitDataDefinitions"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: C1 ('MetaCons"SortCannotDependOnItsIndex"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))) :+: ((((C1 ('MetaCons"UnusableAtModality"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyCheckModality) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons"SplitError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SplitError)) :+: C1 ('MetaCons"ImpossibleConstructor"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NegativeUnification)))) :+: (C1 ('MetaCons"TooManyPolarities"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons"RecursiveRecordNeedsInductivity"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"CannotSolveSizeConstraints"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (ProblemConstraint, HypSizeConstraint))) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))) :+: ((C1 ('MetaCons"ContradictorySizeConstraint"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ProblemConstraint, HypSizeConstraint))) :+: (C1 ('MetaCons"EmptyTypeOfSizes"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"FunctionTypeInSizeUniv"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons"LibraryError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibErrors)) :+: (C1 ('MetaCons"LocalVsImportedModuleClash"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons"SolvedButOpenHoles"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"CyclicModuleDependency"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TopLevelModuleName])) :+: (C1 ('MetaCons"FileNotFound"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: C1 ('MetaCons"OverlappingProjects"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName))))) :+: (C1 ('MetaCons"AmbiguousTopLevelModuleName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: (C1 ('MetaCons"ModuleNameUnexpected"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)) :+: C1 ('MetaCons"ModuleNameDoesntMatchFileName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath]))))) :+: ((C1 ('MetaCons"ClashingFileNamesFor"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: (C1 ('MetaCons"ModuleDefinedInOtherFile"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath))) :+: C1 ('MetaCons"InvalidFileName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InvalidFileNameReason)))) :+: ((C1 ('MetaCons"BothWithAndRHS"
'PrefixI 'False) U1 :+: C1 ('MetaCons"AbstractConstructorNotInScope"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons"NotInScope"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName])) :+: C1 ('MetaCons"NoSuchModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))))) :+: (((((C1 ('MetaCons"AmbiguousName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousNameReason)) :+: (C1 ('MetaCons"AmbiguousModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ModuleName))) :+: C1 ('MetaCons"AmbiguousField"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModuleName])))) :+: (C1 ('MetaCons"AmbiguousConstructor"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName])) :+: (C1 ('MetaCons"ClashingDefinition"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NiceDeclaration)))) :+: C1 ('MetaCons"ClashingModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))))) :+: ((C1 ('MetaCons"ClashingImport"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"ClashingModuleImport"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons"DefinitionInDifferentModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons"DuplicateImports"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportedName])) :+: (C1 ('MetaCons"InvalidPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: C1 ('MetaCons"RepeatedVariablesInPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))))) :+: (((C1 ('MetaCons"GeneralizeNotSupportedHere"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"GeneralizedVarInLetOpenedModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"MultipleFixityDecls"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, [Fixity'])])))) :+: (C1 ('MetaCons"MultiplePolarityPragmas"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons"NotAModuleExpr"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons"NotAnExpression"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))) :+: ((C1 ('MetaCons"NotAValidLetBinding"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)) :+: (C1 ('MetaCons"NotValidBeforeField"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)) :+: C1 ('MetaCons"NothingAppliedToHiddenArg"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: (C1 ('MetaCons"NothingAppliedToInstanceArg"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons"AsPatternInPatternSynonym"
'PrefixI 'False) U1 :+: C1 ('MetaCons"DotPatternInPatternSynonym"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"BadArgumentsToPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: (C1 ('MetaCons"TooFewArgumentsToPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: C1 ('MetaCons"CannotResolveAmbiguousPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (QName, PatternSynDefn)))))) :+: (C1 ('MetaCons"IllegalInstanceVariableInPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons"PatternSynonymArgumentShadowsConstructorOrPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 AbstractName)))) :+: C1 ('MetaCons"UnusedVariableInPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons"UnboundVariablesInPatternSynonym"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons"NoParseForApplication"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Expr))) :+: C1 ('MetaCons"AmbiguousParseForApplication"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Expr)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Expr))))) :+: (C1 ('MetaCons"NoParseForLHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pattern]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons"AmbiguousParseForLHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pattern]))) :+: C1 ('MetaCons"AmbiguousProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName])))))) :+: (((C1 ('MetaCons"AmbiguousOverloadedProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons"OperatorInformation"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NotationSection]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeError)) :+: C1 ('MetaCons"InstanceNoCandidate"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Term, TCErr)])))) :+: (C1 ('MetaCons"UnquoteFailed"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnquoteError)) :+: (C1 ('MetaCons"DeBruijnIndexOutOfScope"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))) :+: C1 ('MetaCons"NeedOptionCopatterns"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"NeedOptionRewriting"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"NeedOptionProp"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NeedOptionTwoLevel"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"NonFatalErrors"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TCWarning])) :+: C1 ('MetaCons"InstanceSearchDepthExhausted"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) :+: (C1 ('MetaCons"TriedToCopyConstrainedPrim"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"CustomBackendError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))))))))
Instances8Bounded, Enum, Eq, Show, Generic, NFData, …
Bounded LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEnum LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEq LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj LHSOrPatSynDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Errors · orphantype Rep LHSOrPatSyn = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"LHSOrPatSyn"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"IsLHS"
'PrefixI 'False) U1 :+: C1 ('MetaCons"IsPatSyn"
'PrefixI 'False) U1)
Get the current scope.
Get the current context.
Constructors
CheckClause Type SpineClauseCheckLHS SpineLHSCheckPattern Pattern Telescope TypeCheckPatternLinearityType NameCheckPatternLinearityValue NameCheckLetBinding LetBindingInferExpr ExprCheckExprCall Comparison Expr TypeCheckDotPattern Expr TermCheckProjection Range QName TypeIsTypeCall Comparison Expr SortIsType_ ExprInferVar NameInferDef QNameCheckArguments Range [NamedArg Expr] Type (Maybe Type)CheckMetaSolution Range MetaId Type TermCheckTargetType Range Type TypeCheckDataDef Range QName [LamBinding] [Constructor]CheckRecDef Range QName [LamBinding] [Constructor]CheckConstructor QName Telescope Sort ConstructorCheckConArgFitsIn QName Bool Type SortCheckFunDefCall Range QName [Clause] BoolHighlight (interactively) if and only if the boolean is True.
CheckPragma Range PragmaCheckPrimitive Range QName ExprCheckIsEmpty Range TypeCheckConfluence QName QNameCheckModuleParameters ModuleName TelescopeCheckWithFunctionType TypeCheckSectionApplication Range Erased ModuleName ModuleApplicationCheckNamedWhere ModuleNameCheckIApplyConfluence Range QName Term Term Term TypeChecking a clause for confluence with endpoint reductions. Always
φ ⊢ f vs = rhsfor now, but we store the simplifications off vs[φ]andrhs[φ].ScopeCheckExpr ExprScopeCheckDeclaration NiceDeclarationScopeCheckLHS QName PatternNoHighlightingModuleContentsInteraction command: show module contents.
SetRange Rangeused by
setCurrentRange
Instances6Generic, NFData, Pretty, HasRange, PrettyTCM, Rep
Generic CallDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CallDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty CallDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange CallDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM CallDefined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty.Call · orphantype Rep Call = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Call"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (((((C1 ('MetaCons"CheckClause"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineClause)) :+: C1 ('MetaCons"CheckLHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineLHS))) :+: (C1 ('MetaCons"CheckPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"CheckPatternLinearityType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons"CheckPatternLinearityValue"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons"CheckLetBinding"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetBinding))) :+: (C1 ('MetaCons"InferExpr"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons"CheckExprCall"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"CheckDotPattern"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))) :+: (((C1 ('MetaCons"CheckProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"IsTypeCall"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))) :+: (C1 ('MetaCons"IsType_"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons"InferVar"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons"InferDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"CheckArguments"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr])) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Type))))) :+: (C1 ('MetaCons"CheckMetaSolution"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons"CheckTargetType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"CheckDataDef"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor])))))))) :+: ((((C1 ('MetaCons"CheckRecDef"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor]))) :+: C1 ('MetaCons"CheckConstructor"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Constructor)))) :+: (C1 ('MetaCons"CheckConArgFitsIn"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))) :+: C1 ('MetaCons"CheckFunDefCall"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :+: ((C1 ('MetaCons"CheckPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: C1 ('MetaCons"CheckPrimitive"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: (C1 ('MetaCons"CheckIsEmpty"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"CheckConfluence"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"CheckModuleParameters"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)))))) :+: (((C1 ('MetaCons"CheckWithFunctionType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons"CheckSectionApplication"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleApplication)))) :+: (C1 ('MetaCons"CheckNamedWhere"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: (C1 ('MetaCons"CheckIApplyConfluence"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons"ScopeCheckExpr"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))) :+: ((C1 ('MetaCons"ScopeCheckDeclaration"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)) :+: C1 ('MetaCons"ScopeCheckLHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons"NoHighlighting"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"ModuleContents"
'PrefixI 'False) U1 :+: C1 ('MetaCons"SetRange"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))))))
Methods
getBuiltinThing :: SomeBuiltin -> m (Maybe (Builtin PrimFun))
Instances17HasBuiltins, …
HasBuiltins AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteHasBuiltins TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadHasBuiltins ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanHasBuiltins BuiltinAccessDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchHasBuiltins m => HasBuiltins (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureHasBuiltins m => HasBuiltins (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesHasBuiltins m => HasBuiltins (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinMonadIO m => HasBuiltins (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (ReaderT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins m => HasBuiltins (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Builtin(HasBuiltins m, Monoid w) => HasBuiltins (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Builtin
Get both local and imported pattern synonyms
The Context is a stack of ContextEntrys.
Sets the current range (for error messages etc.) to the range of the given object, if it has a range (i.e., its range is not noRange).
Outside of any opaque blocks.
Register an interaction point during scope checking. If there is no interaction id yet, create one.
Get the path of the currently checked file
A DisplayForm is in essence a rewrite rule q ts --> dt for a defined symbol (could be a
constructor as well) q. The right hand side is a DisplayTerm which is used to reify to a
more readable Abstract.Syntax.
The patterns ts are just terms, but the first dfPatternVars variables are pattern variables
that matches any term.
Constructors
DisplaydfPatternVars :: NatNumber
nof pattern variables in dfPats.dfPats :: ElimsLeft hand side patterns, the
nfirst free variables are pattern variables, any variables abovenare fixed and only match that particular variable. This happens when you have display forms inside parameterised modules that match on the module parameters. The ArgInfo is ignored in these patterns.dfRHS :: DisplayTermRight hand side.
Instances14Show, Generic, NFData, Pretty, Subst, Simplify, …
Show DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanSimplify DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceKillRange DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn DisplayFormDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesFree DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseInstantiateFull DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj DisplayFormDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep DisplayForm = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"DisplayForm"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Display"
'PrefixI 'True) (S1 ('MetaSel ('Just"dfPatternVars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: (S1 ('MetaSel ('Just"dfPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims) :*: S1 ('MetaSel ('Just"dfRHS"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayTerm))))type SubstArg DisplayForm = TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
Rewrite a literal to constructor form if possible.
class (MonadTCEnv m, ReadTCState m, MonadError TCErr m, MonadBlock m, HasOptions m, MonadDebug m) => MonadConstraint (m :: Type -> Type) whereMonad service class containing methods for adding and solving constraints
Methods
addConstraint :: Blocker -> Constraint -> m ()Unconditionally add the constraint.
addAwakeConstraint :: Blocker -> Constraint -> m ()Add constraint as awake constraint.
solveConstraint :: Constraint -> m ()solveSomeAwakeConstraints :: (ProblemConstraint -> Bool) -> Bool -> m ()Solve awake constraints matching the predicate. If the second argument is True solve constraints even if already isSolvingConstraints.
wakeConstraints :: (ProblemConstraint -> WakeUp) -> m ()stealConstraints :: ProblemId -> m ()modifyAwakeConstraints :: (Constraints -> Constraints) -> m ()modifySleepingConstraints :: (Constraints -> Constraints) -> m ()
Instances3MonadConstraint
MonadConstraint TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Constraints · orphan(PureTCM m, MonadBlock m) => MonadConstraint (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadConstraint m => MonadConstraint (ReaderT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Constraints
Get type of a constant, instantiated to the current context.
Constructors
Instances18Functor, Foldable, Show, Generic, NFData, LensTCEnv, …
Functor ClosureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFoldable ClosureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow a => Show (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData a => NFData (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensTCEnv (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange a => HasRange (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM a => PrettyTCM (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyReduce a => Reduce (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceSimplify a => Simplify (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceInstantiate a => Instantiate (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise a => Normalise (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceKillRange a => KillRange (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensIsAbstract (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMentionsMeta a => MentionsMeta (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars.MentionInstantiateFull a => InstantiateFull (Closure a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceLensClosure (Closure a) aDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep (Closure a) = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Closure"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Closure"
'PrefixI 'True) ((S1 ('MetaSel ('Just"clSignature"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Signature) :*: S1 ('MetaSel ('Just"clEnv"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCEnv)) :*: (S1 ('MetaSel ('Just"clScope"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeInfo) :*: (S1 ('MetaSel ('Just"clModuleCheckpoints"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ModuleName CheckpointId)) :*: S1 ('MetaSel ('Just"clValue"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))
The built-in type SIZE.
Instances5Show, Generic, NFData, EmbPrj, Rep
Show RecordFieldWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base.WarningGeneric RecordFieldWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base.WarningNFData RecordFieldWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base · orphanEmbPrj RecordFieldWarningDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Errors · orphantype Rep RecordFieldWarning = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base.Warning"RecordFieldWarning"
"Agda.TypeChecking.Monad.Base.Warning"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"DuplicateFields"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Range)])) :+: C1 ('MetaCons"TooManyFields"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Range)]))))
A builtin name, defined by the BUILTIN pragma.
Instances13Bounded, Enum, Eq, Ord, Show, Generic, …
Bounded BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinEnum BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinEq BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinOrd BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinShow BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinGeneric BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinNFData BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinHashable BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinPretty BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinIsBuiltin BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinKillRange BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinEmbPrj BuiltinIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Common · orphantype Rep BuiltinId = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.Syntax.Builtin"BuiltinId"
"Agda.Syntax.Builtin"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (((((((C1 ('MetaCons"BuiltinNat"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinSuc"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinZero"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinNatPlus"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinNatMinus"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinNatTimes"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinNatDivSucAux"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinNatModSucAux"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinNatEquals"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinNatLess"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinWord64"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinInteger"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinIntegerPos"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinIntegerNegSuc"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinFloat"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinChar"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinString"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinUnit"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinUnitUnit"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinSigma"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinSigmaCon"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinBool"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinTrue"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinFalse"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinList"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"BuiltinNil"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinCons"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinMaybe"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinNothing"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinJust"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinIO"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinId"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinReflId"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinPath"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinPathP"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinIntervalUniv"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinInterval"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinIZero"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinIOne"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinPartial"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinPartialP"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinIsOne"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinItIsOne"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinEquiv"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinEquivFun"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinEquivProof"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinTranspProof"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinIsOne1"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinIsOne2"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinIsOneEmpty"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinSub"
'PrefixI 'False) U1)))))) :+: (((((C1 ('MetaCons"BuiltinSubIn"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinSizeUniv"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinSize"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinSizeLt"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinSizeSuc"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinSizeInf"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinSizeMax"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinInf"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinSharp"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinFlat"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinRefl"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinRewrite"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinLevelMax"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinLevel"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinLevelZero"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinLevelSuc"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinProp"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinSet"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinStrictSet"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinPropOmega"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinSetOmega"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinSSetOmega"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinLevelUniv"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinFromNat"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"BuiltinFromNeg"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinFromString"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinQName"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaSort"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaSortSet"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaSortLit"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaSortProp"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaSortPropLit"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaSortInf"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaSortUnsupported"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinHiding"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinHidden"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinInstance"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinVisible"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinRelevance"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinRelevant"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinIrrelevant"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinQuantity"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinQuantity0"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinQuantity\969"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinModality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinModalityConstructor"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAssoc"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAssocLeft"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAssocRight"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAssocNon"
'PrefixI 'False) U1))))))) :+: ((((((C1 ('MetaCons"BuiltinPrecedence"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinPrecRelated"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinPrecUnrelated"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinFixity"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinFixityFixity"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinArg"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinArgInfo"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinArgArgInfo"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinArgArg"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAbs"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAbsAbs"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTerm"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinAgdaTermVar"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTermLam"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTermExtLam"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaTermDef"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTermCon"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTermPi"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaTermSort"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTermLit"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTermUnsupported"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaTermMeta"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaErrorPart"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAgdaErrorPartString"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaErrorPartTerm"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"BuiltinAgdaErrorPartPatt"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaErrorPartName"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaLiteral"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaLitNat"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaLitWord64"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaLitFloat"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaLitChar"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaLitString"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaLitQName"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaLitMeta"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaClause"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAgdaClauseClause"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaClauseAbsurd"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinAgdaPattern"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaPatVar"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaPatCon"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaPatDot"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaPatLit"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaPatProj"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaPatAbsurd"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaDefinitionFunDef"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaDefinitionDataDef"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaDefinitionRecordDef"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaDefinitionDataConstructor"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAgdaDefinitionPostulate"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaDefinitionPrimitive"
'PrefixI 'False) U1)))))) :+: (((((C1 ('MetaCons"BuiltinAgdaDefinition"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaMeta"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCM"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaTCMReturn"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMBind"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMUnify"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaTCMTypeError"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMInferType"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMCheckType"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaTCMNormalise"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMReduce"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMCatchError"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinAgdaTCMGetContext"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMExtendContext"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMInContext"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaTCMFreshName"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMDeclareDef"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMDeclarePostulate"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaTCMDeclareData"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMDefineData"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMDefineFun"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaTCMGetType"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMGetDefinition"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAgdaTCMBlock"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMCommit"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"BuiltinAgdaTCMQuoteTerm"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMUnquoteTerm"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMQuoteOmegaTerm"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaTCMIsMacro"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMWithNormalisation"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMWithReconstructed"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaTCMWithExpandLast"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMWithReduceDefs"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMAskNormalisation"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaTCMAskReconstructed"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMAskExpandLast"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAgdaTCMAskReduceDefs"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMFormatErrorParts"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"BuiltinAgdaTCMDebugPrint"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMNoConstraints"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMWorkOnTypes"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"BuiltinAgdaTCMRunSpeculative"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMExec"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMGetInstances"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"BuiltinAgdaTCMSolveInstances"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"BuiltinAgdaTCMPragmaForeign"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaTCMPragmaCompile"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"BuiltinAgdaBlocker"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaBlockerAny"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BuiltinAgdaBlockerAll"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BuiltinAgdaBlockerMeta"
'PrefixI 'False) U1))))))))
A primitive name, defined by the primitive block.
Instances14Bounded, Enum, Eq, Ord, Show, Generic, …
Bounded PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinEnum PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinEq PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinOrd PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinShow PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinGeneric PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinNFData PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinHashable PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinPretty PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinIsBuiltin PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinKillRange PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinInstantiateFull PrimitiveIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj PrimitiveIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Common · orphantype Rep PrimitiveId = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.Syntax.Builtin"PrimitiveId"
"Agda.Syntax.Builtin"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((((((C1 ('MetaCons"PrimConId"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimIdElim"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimIMin"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimIMax"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimINeg"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimPartial"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimPartialP"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"PrimSubOut"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimGlue"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Prim_glue"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"Prim_unglue"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Prim_glueU"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"Prim_unglueU"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFaceForall"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"PrimComp"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimPOr"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimTrans"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimDepIMin"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimIdFace"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimIdPath"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimHComp"
'PrefixI 'False) U1))) :+: (((C1 ('MetaCons"PrimShowInteger"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimNatPlus"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimNatMinus"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimNatTimes"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimNatDivSucAux"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimNatModSucAux"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimNatEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimNatLess"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"PrimShowNat"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimWord64FromNat"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimWord64ToNat"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimWord64ToNatInjective"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimLevelZero"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimLevelSuc"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimLevelMax"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"PrimFloatEquality"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimFloatInequality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatLess"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimFloatIsInfinite"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatIsNaN"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimFloatIsNegativeZero"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatIsSafeInteger"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"PrimFloatToWord64"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimFloatToWord64Injective"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimNatToFloat"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimIntToFloat"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatRound"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimFloatFloor"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatCeiling"
'PrefixI 'False) U1))) :+: (((C1 ('MetaCons"PrimFloatToRatio"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimRatioToFloat"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimFloatDecode"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatEncode"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimShowFloat"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatPlus"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimFloatMinus"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatTimes"
'PrefixI 'False) U1)))))) :+: (((((C1 ('MetaCons"PrimFloatNegate"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimFloatDiv"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatPow"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimFloatSqrt"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatExp"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimFloatLog"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatSin"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"PrimFloatCos"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimFloatTan"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatASin"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimFloatACos"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatATan"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimFloatATan2"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatSinh"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"PrimFloatCosh"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimFloatTanh"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatASinh"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimFloatACosh"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimFloatATanh"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimCharEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimIsLower"
'PrefixI 'False) U1))) :+: (((C1 ('MetaCons"PrimIsDigit"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimIsAlpha"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimIsSpace"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimIsAscii"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimIsLatin1"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimIsPrint"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimIsHexDigit"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimToUpper"
'PrefixI 'False) U1))))) :+: ((((C1 ('MetaCons"PrimToLower"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimCharToNat"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimCharToNatInjective"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimNatToChar"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimShowChar"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimStringToList"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimStringToListInjective"
'PrefixI 'False) U1))) :+: ((C1 ('MetaCons"PrimStringFromList"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimStringFromListInjective"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimStringAppend"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimStringEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimShowString"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimStringUncons"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimErase"
'PrefixI 'False) U1)))) :+: (((C1 ('MetaCons"PrimEraseEquality"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PrimForce"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimForceLemma"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimQNameEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimQNameLess"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimShowQName"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimQNameFixity"
'PrefixI 'False) U1))) :+: (((C1 ('MetaCons"PrimQNameToWord64s"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimQNameToWord64sInjective"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimMetaEquality"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimMetaLess"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"PrimShowMeta"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimMetaToNat"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"PrimMetaToNatInjective"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PrimLockUniv"
'PrefixI 'False) U1)))))))
Writes a TypeCheckAction to the current log, using the current PostScopeState
readFromCachedLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => m (Maybe (TypeCheckAction, PostScopeState))Reads the next entry in the cached type check log, if present.
Empties the "to read" CachedState. To be used when it gets invalid.
Caches the current type check log. Discardes the old cache. Does nothing if caching is inactive.
Makes sure that the stLoadedFileCache is Just, with a clean current log. Crashes is stLoadedFileCache is already active with a dirty log. Should be called when we start typechecking the current file.
To be called before any write or restore calls.
Runs the action and restores the current cache at the end of it.
Runs the action without cache and restores the current cache at the end of it.
Get the name of the current module, if any.
Assumes that the first module in the import path is the module we are worried about.
Prepare parts of a parameter telescope for abstraction in constructors and projections.
Create an open term in the current context.
Extract the value from an open term. The checkpoint at which it was created must be in scope.
Extract the value from an open term. If the checkpoint is no longer in scope use the provided function to pull the object to the most recent common checkpoint. The function is given the substitution from the common ancestor to the checkpoint of the thing.
An Open is closed if it has checkpoint 0.
Conditionally render debug Doc and print it.
Sets the pragma options. Checks for unsafe combinations.
Methods
addCtx :: Name -> Dom Type -> m a -> m aaddCtx x arg contadd a variable to the context.Chooses an unused Name.
Warning: Does not update module parameter substitution!
addLetBinding' :: Origin -> Name -> Term -> Dom Type -> m a -> m aAdd a let bound variable to the context
updateContext :: Substitution -> (Context -> Context) -> m a -> m aUpdate the context. Requires a substitution that transports things living in the old context to the new.
withFreshName :: Range -> ArgName -> (Name -> m a) -> m a
Instances16MonadAddContext, …
MonadAddContext AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadAddContext TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadAddContext ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanMonadAddContext TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchMonadAddContext m => MonadAddContext (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadAddContext m => MonadAddContext (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesMonadAddContext m => MonadAddContext (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadAddContext m => MonadAddContext (StateT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Context(Monoid w, MonadAddContext m) => MonadAddContext (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Context
class (Applicative m, MonadTCEnv m, ReadTCState m, HasOptions m) => MonadReduce (m :: Type -> Type) whereMethods
liftReduce :: ReduceM a -> m a
Instances17MonadReduce, …
MonadReduce AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadReduce TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadReduce ForcedVariableCollection'Defined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingMonadReduce ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchMonadReduce m => MonadReduce (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadReduce m => MonadReduce (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesMonadReduce m => MonadReduce (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadReduce (TCMT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (ExceptT err m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (StateT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Monoid w, MonadReduce m) => MonadReduce (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
If the first argument is Erased something, then hard
compile-time mode is enabled when the continuation is run.
Run a computation if a certain verbosity level is activated.
Precondition: The level must be non-negative.
Resets the non-persistent part of the type checking state.
Methods
modifyCounter :: String -> (Integer -> Integer) -> m ()
Instances8MonadStatistics, …
MonadStatistics TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadMonadStatistics TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.StatisticsReadTCState m => MonadStatistics (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadStatistics m => MonadStatistics (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.StatisticsMonadStatistics m => MonadStatistics (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.StatisticsMonadStatistics m => MonadStatistics (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.StatisticsMonadStatistics m => MonadStatistics (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Statistics(MonadStatistics m, Monoid w) => MonadStatistics (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Statistics
Increase specified counter by 1.
Increase specified counter by n.
Set the specified counter to the maximum of its current value and n.
Get the statistics.
Modify the statistics via given function.
Print the given statistics.
Restore TCState after performing subcomputation.
In contrast to localState, the Benchmark info from the subcomputation is saved.
Apply a function if a certain verbosity level is activated.
Precondition: The level must be non-negative.
The backends are responsible for parsing their own pragmas.
Constructors
Instances8Eq, Show, Generic, NFData, HasRange, KillRange, …
Eq CompilerPragmaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow CompilerPragmaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric CompilerPragmaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CompilerPragmaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange CompilerPragmaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange CompiledRepresentationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj CompilerPragmaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Compilers · orphantype Rep CompilerPragma = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"CompilerPragma"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"CompilerPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))
Modify a Context in a computation. Warning: does not update
the checkpoints. Use updateContext instead.
The type of a term or sort meta-variable.
Apply a function f to its first argument, producing the proper
postfix projection if f is a projection which is not irrelevant.
Constructors
TCEnvenvContext :: ContextenvLetBindings :: LetBindingsenvCurrentModule :: ModuleNameenvCurrentPath :: Maybe AbsolutePathThe path to the file that is currently being type-checked. Nothing if we do not have a file (like in interactive mode see
CommandLine).envAnonymousModules :: [(ModuleName, Nat)]anonymous modules and their number of free variables
envImportPath :: [TopLevelModuleName]The module stack with the entry being the top-level module as Agda chases modules. It will be empty if there is no main module, will have a single entry for the top level module, or more when descending past the main module. This is used to detect import cycles and in some cases highlighting behavior. The level of a given module is not necessarily the same as the length, in the module dependency graph, of the shortest path from the top-level module; it depends on in which order Agda chooses to chase dependencies.
envMutualBlock :: Maybe MutualIdthe current (if any) mutual block
envTerminationCheck :: TerminationCheck ()are we inside the scope of a termination pragma
envCoverageCheck :: CoverageCheckare we inside the scope of a coverage pragma
envMakeCase :: Boolare we inside a make-case (if so, ignore forcing analysis in unifier)
envSolvingConstraints :: BoolAre we currently in the process of solving active constraints?
envCheckingWhere :: BoolHave we stepped into the where-declarations of a clause? Everything under a
wherewill be checked with this flag on.envWorkingOnTypes :: BoolAre we working on types? Turned on by
workOnTypes.envAssignMetas :: BoolAre we allowed to assign metas?
envActiveProblems :: Set ProblemIdenvUnquoteProblem :: Maybe ProblemIdIf inside a
runUnquoteMcall, stores the top-level problem id assigned to the invokation. We use this to decide which instance constraints originate from the current call and which come from the outside, for the purpose of asolveInstanceConstraintsinsidenoConstraintsonly failing for local instance constraints.envAbstractMode :: AbstractModeWhen checking the typesignature of a public definition or the body of a non-abstract definition this is true. To prevent information about abstract things leaking outside the module.
envRelevance :: RelevanceAre we checking an irrelevant argument? (=
Irrelevant) Then top-level irrelevant declarations are enabled. Other value:Relevant, then only relevant decls. are available.envQuantity :: QuantityAre we checking a runtime-irrelevant thing? (=Quantity0) Then runtime-irrelevant things are usable.
envHardCompileTimeMode :: BoolIs the "hard" compile-time mode enabled? In this mode the quantity component of the environment is always zero, and every new definition is treated as erased.
envSplitOnStrict :: BoolAre we currently case-splitting on a strict datatype (i.e. in SSet)? If yes, the pattern-matching unifier will solve reflexive equations even --without-K.
envDisplayFormsEnabled :: BoolSometimes we want to disable display forms.
envFoldLetBindings :: BoolFold let-bindings when printing terms (default: True)
envRange :: RangeenvHighlightingRange :: RangeInteractive highlighting uses this range rather than envRange.
envClause :: IPClauseWhat is the current clause we are type-checking? Will be recorded in interaction points in this clause.
envCall :: Maybe (Closure Call)what we're doing at the moment
envHighlightingLevel :: HighlightingLevelSet to None when imported modules are type-checked.
envHighlightingMethod :: HighlightingMethodenvExpandLast :: ExpandHiddenWhen type-checking an alias f=e, we do not want to insert hidden arguments in the end, because these will become unsolved metas.
envAppDef :: Maybe QNameWe are reducing an application of this function. (For tracking of incomplete matches.)
envSimplification :: SimplificationDid we encounter a simplification (proper match) during the current reduction process?
envAllowedReductions :: AllowedReductionsenvReduceDefs :: ReduceDefsenvReconstructed :: BoolenvInjectivityDepth :: IntInjectivity can cause non-termination for unsolvable contraints (#431, #3067). Keep a limit on the nesting depth of injectivity uses.
envCompareBlocked :: BoolWhen
True, the conversion checker will consider all term constructors as injective, including blocked function applications and metas. Warning: this should only be used when not assigning any metas (e.g. whenenvAssignMetasisFalseor when runningpureEqualTerms) or else we get non-unique meta solutions.envPrintDomainFreePi :: BoolWhen
True, types will be omitted from printed pi types if they can be inferred.envPrintMetasBare :: BoolWhen
True, throw away meta numbers and meta elims. This is used for reifying terms for feeding into the user's source code, e.g., for the interaction tacticssolveAll.envInsideDotPattern :: BoolUsed by the scope checker to make sure that certain forms of expressions are not used inside dot patterns: extended lambdas and let-expressions.
envUnquoteFlags :: UnquoteFlagsenvInstanceDepth :: !IntUntil we get a termination checker for instance search (#1743) we limit the search depth to ensure termination.
envIsDebugPrinting :: BoolenvPrintingPatternLambdas :: [QName]#3004: pattern lambdas with copatterns may refer to themselves. We don't have a good story for what to do in this case, but at least printing shouldn't loop. Here we keep track of which pattern lambdas we are currently in the process of printing.
envCallByNeed :: BoolUse call-by-need evaluation for reductions.
envCurrentCheckpoint :: CheckpointIdCheckpoints track the evolution of the context as we go under binders or refine it by pattern matching.
envCheckpoints :: Map CheckpointId SubstitutionKeeps the substitution from each previous checkpoint to the current context.
envGeneralizeMetas :: DoGeneralizeShould new metas generalized over.
envGeneralizedVars :: Map QName GeneralizedValueValues for used generalizable variables.
envActiveBackendName :: Maybe BackendNameIs some backend active at the moment, and if yes, which? NB: we only store the BackendName here, otherwise
instance Data TCEnvis not derivable. The actual backend can be obtained from the name via stBackends.envConflComputingOverlap :: BoolAre we currently computing the overlap between two rewrite rules for the purpose of confluence checking?
envCurrentlyElaborating :: BoolAre we currently in the process of executing an elaborate-and-give interactive command?
envSyntacticEqualityFuel :: !Maybe IntIf this counter is Nothing, then syntactic equality checking is unrestricted. If it is zero, then syntactic equality checking is not run at all. If it is a positive number, then syntactic equality checking is allowed to run, but the counter is decreased in the failure continuation of checkSyntacticEquality.
envCurrentOpaqueId :: !Maybe OpaqueIdUnique identifier of the opaque block we are currently under, if any. Used by the scope checker (to associate definitions to blocks), and by the type checker (for unfolding control).
Instances6Generic, NFData, LensTCEnv, LensIsAbstract, LensIsOpaque, Rep
Generic TCEnvDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TCEnvDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensTCEnv TCEnvDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensIsAbstract TCEnvDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensIsOpaque TCEnvDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep TCEnv = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TCEnv"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"TCEnv"
'PrefixI 'True) (((((S1 ('MetaSel ('Just"envContext"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Context) :*: (S1 ('MetaSel ('Just"envLetBindings"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetBindings) :*: S1 ('MetaSel ('Just"envCurrentModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))) :*: (S1 ('MetaSel ('Just"envCurrentPath"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AbsolutePath)) :*: (S1 ('MetaSel ('Just"envAnonymousModules"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(ModuleName, Nat)]) :*: S1 ('MetaSel ('Just"envImportPath"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TopLevelModuleName])))) :*: ((S1 ('MetaSel ('Just"envMutualBlock"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MutualId)) :*: (S1 ('MetaSel ('Just"envTerminationCheck"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TerminationCheck ())) :*: S1 ('MetaSel ('Just"envCoverageCheck"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CoverageCheck))) :*: ((S1 ('MetaSel ('Just"envMakeCase"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envSolvingConstraints"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just"envCheckingWhere"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envWorkingOnTypes"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just"envAssignMetas"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just"envActiveProblems"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ProblemId)) :*: S1 ('MetaSel ('Just"envUnquoteProblem"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ProblemId)))) :*: ((S1 ('MetaSel ('Just"envAbstractMode"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbstractMode) :*: S1 ('MetaSel ('Just"envRelevance"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance)) :*: (S1 ('MetaSel ('Just"envQuantity"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity) :*: S1 ('MetaSel ('Just"envHardCompileTimeMode"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just"envSplitOnStrict"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just"envDisplayFormsEnabled"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envFoldLetBindings"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just"envRange"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Just"envHighlightingRange"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :*: (S1 ('MetaSel ('Just"envClause"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IPClause) :*: S1 ('MetaSel ('Just"envCall"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Closure Call)))))))) :*: ((((S1 ('MetaSel ('Just"envHighlightingLevel"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HighlightingLevel) :*: (S1 ('MetaSel ('Just"envHighlightingMethod"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HighlightingMethod) :*: S1 ('MetaSel ('Just"envExpandLast"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpandHidden))) :*: (S1 ('MetaSel ('Just"envAppDef"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)) :*: (S1 ('MetaSel ('Just"envSimplification"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Simplification) :*: S1 ('MetaSel ('Just"envAllowedReductions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllowedReductions)))) :*: ((S1 ('MetaSel ('Just"envReduceDefs"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReduceDefs) :*: (S1 ('MetaSel ('Just"envReconstructed"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envInjectivityDepth"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just"envCompareBlocked"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envPrintDomainFreePi"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just"envPrintMetasBare"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envInsideDotPattern"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just"envUnquoteFlags"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnquoteFlags) :*: (S1 ('MetaSel ('Just"envInstanceDepth"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Just"envIsDebugPrinting"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just"envPrintingPatternLambdas"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel ('Just"envCallByNeed"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just"envCurrentCheckpoint"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CheckpointId) :*: S1 ('MetaSel ('Just"envCheckpoints"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map CheckpointId Substitution))))) :*: ((S1 ('MetaSel ('Just"envGeneralizeMetas"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DoGeneralize) :*: (S1 ('MetaSel ('Just"envGeneralizedVars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName GeneralizedValue)) :*: S1 ('MetaSel ('Just"envActiveBackendName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BackendName)))) :*: ((S1 ('MetaSel ('Just"envConflComputingOverlap"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"envCurrentlyElaborating"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just"envSyntacticEqualityFuel"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just"envCurrentOpaqueId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe OpaqueId)))))))))
Get the current environment
Constructors
InterfaceiSourceHash :: !HashHash of the source code.
iSource :: TextThe source code. The source code is stored so that the HTML and LaTeX backends can generate their output without having to re-read the (possibly out of date) source code.
iFileType :: FileTypeSource file type, determined from the file extension
iImportedModules :: [(TopLevelModuleName, Hash)]Imported modules and their hashes.
iModuleName :: ModuleNameModule name of this interface.
iTopLevelModuleName :: TopLevelModuleNameThe module's top-level module name.
iScope :: Map ModuleName ScopeScope defined by this module.
Andreas, AIM XX: Too avoid duplicate serialization, this field is not serialized, so if you deserialize an interface,
iScopewill be empty. ButconstructIScopeconstructs iScope from iInsideScope.iInsideScope :: ScopeInfoScope after we loaded this interface. Used in
Agda.Interaction.BasicOps.AtTopLevelandAgda.Interaction.CommandLine.interactionLoop.iSignature :: SignatureiMetaBindings :: RemoteMetaStoreInstantiations for meta-variables that come from this module.
iDisplayForms :: DisplayFormsDisplay forms added for imported identifiers.
iUserWarnings :: Map QName TextUser warnings for imported identifiers
iImportWarning :: Maybe TextWhether this module should raise a warning when imported
iBuiltin :: BuiltinThings (PrimitiveId, QName)iForeignCode :: Map BackendName ForeignCodeStackiHighlighting :: HighlightingInfoiDefaultPragmaOptions :: [OptionsPragma]Pragma options set in library files.
iFilePragmaOptions :: [OptionsPragma]Pragma options set in the file.
iOptionsUsed :: PragmaOptionsOptions/features used when checking the file (can be different from options set directly in the file).
iPatternSyns :: PatternSynDefnsiWarnings :: [TCWarning]iPartialDefs :: Set QNameiOpaqueBlocks :: Map OpaqueId OpaqueBlockiOpaqueNames :: Map QName OpaqueId
Instances7Show, Generic, NFData, Pretty, InstantiateFull, EmbPrj, …
Show InterfaceDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InterfaceDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InterfaceDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty InterfaceDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseInstantiateFull InterfaceDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj InterfaceDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances · orphantype Rep Interface = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Interface"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Interface"
'PrefixI 'True) ((((S1 ('MetaSel ('Just"iSourceHash"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Hash) :*: (S1 ('MetaSel ('Just"iSource"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just"iFileType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileType))) :*: (S1 ('MetaSel ('Just"iImportedModules"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(TopLevelModuleName, Hash)]) :*: (S1 ('MetaSel ('Just"iModuleName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Just"iTopLevelModuleName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))) :*: ((S1 ('MetaSel ('Just"iScope"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ModuleName Scope)) :*: (S1 ('MetaSel ('Just"iInsideScope"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeInfo) :*: S1 ('MetaSel ('Just"iSignature"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Signature))) :*: (S1 ('MetaSel ('Just"iMetaBindings"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemoteMetaStore) :*: (S1 ('MetaSel ('Just"iDisplayForms"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayForms) :*: S1 ('MetaSel ('Just"iUserWarnings"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName Text)))))) :*: (((S1 ('MetaSel ('Just"iImportWarning"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just"iBuiltin"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BuiltinThings (PrimitiveId, QName))) :*: S1 ('MetaSel ('Just"iForeignCode"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map BackendName ForeignCodeStack)))) :*: (S1 ('MetaSel ('Just"iHighlighting"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HighlightingInfo) :*: (S1 ('MetaSel ('Just"iDefaultPragmaOptions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OptionsPragma]) :*: S1 ('MetaSel ('Just"iFilePragmaOptions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OptionsPragma])))) :*: ((S1 ('MetaSel ('Just"iOptionsUsed"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PragmaOptions) :*: (S1 ('MetaSel ('Just"iPatternSyns"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatternSynDefns) :*: S1 ('MetaSel ('Just"iWarnings"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TCWarning]))) :*: (S1 ('MetaSel ('Just"iPartialDefs"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)) :*: (S1 ('MetaSel ('Just"iOpaqueBlocks"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map OpaqueId OpaqueBlock)) :*: S1 ('MetaSel ('Just"iOpaqueNames"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName OpaqueId))))))))
The constraints needed for typeError and similar.
getAgdaLibFiles :: AbsolutePathThe file name.
-> TopLevelModuleNameThe top-level module name.
-> TCM [AgdaLibFile]
Returns the library files for a given file.
Nothing is returned if optUseLibs is False.
An error is raised if optUseLibs is True and a library file is located too far down the directory hierarchy (see checkLibraryFileNotTooFarDown).
Debug print some lines if the verbosity level for the given VerboseKey is at least VerboseLevel.
Note: In the presence of OverloadedStrings, just
@
reportS key level "Literate string"
gives an Ambiguous type variable error in GHC@.
Use the legacy functions reportSLn and reportSDoc instead then.
Methods
reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m ()
Instances6ReportS
ReportS DocDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugReportS StringDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugReportS (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugReportS [Doc]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugReportS [TCM Doc]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugReportS [String]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Debug
Constructors
TCStstPreScopeState :: !PreScopeStateThe state which is frozen after scope checking.
stPostScopeState :: !PostScopeStateThe state which is modified after scope checking.
stPersistentState :: !PersistentTCStateState which is forever, like a diamond.
Instances10Show, Generic, NFData, LensCommandLineOptions, LensIncludePaths, LensPersistentVerbosity, …
Show TCStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric TCStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TCStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensCommandLineOptions TCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensIncludePaths TCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensPersistentVerbosity TCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensPragmaOptions TCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensSafeMode TCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensVerbosity TCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.Lensestype Rep TCState = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TCState"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"TCSt"
'PrefixI 'True) (S1 ('MetaSel ('Just"stPreScopeState"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PreScopeState) :*: (S1 ('MetaSel ('Just"stPostScopeState"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PostScopeState) :*: S1 ('MetaSel ('Just"stPersistentState"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PersistentTCState))))
Methods
freshInteractionId :: m InteractionIdmodifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> m ()
Instances6MonadInteractionPoints
MonadInteractionPoints AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadInteractionPoints TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVars(PureTCM m, MonadBlock m) => MonadInteractionPoints (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadInteractionPoints m => MonadInteractionPoints (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsMonadInteractionPoints m => MonadInteractionPoints (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsMonadInteractionPoints m => MonadInteractionPoints (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVars
class (HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => PureTCM (m :: Type -> Type)Instances16PureTCM, …
PureTCM AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcretePureTCM TerMDefined in Agda-2.7.0.1 · Agda.Termination.MonadPureTCM ReduceMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reduce.Monad · orphanPureTCM TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchPureTCM m => PureTCM (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM m => PureTCM (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM m => PureTCM (ChangeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM m => PureTCM (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Pure(HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadReduce m) => PureTCM (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.Pure(HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadReduce m) => PureTCM (NamesT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.NamesPureTCM m => PureTCM (ExceptT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM m => PureTCM (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM m => PureTCM (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PurePureTCM m => PureTCM (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Pure(PureTCM m, Monoid w) => PureTCM (WriterT w m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Pure
Signature lookup errors.
Constructors
SigUnknown StringThe name is not in the signature; default error message.
SigAbstractThe name is not available, since it is abstract.
SigCubicalNotErasureThe name is not available because it was defined in Cubical Agda, but the current language is Erased Cubical Agda, and
--erasureis not active.
Get the substitution from the context at a given checkpoint to the current context.
Constructors
PrimFunprimFunName :: QNameprimFunArity :: ArityprimFunArgOccurrences :: [Occurrence]See defArgOccurrences.
primFunImplementation :: [Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)
Instances6Generic, NFData, NamesIn, Abstract, Apply, Rep
Generic PrimFunDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PrimFunDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn PrimFunDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesNote that the primFunImplementation is skipped.
Abstract PrimFunDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanApply PrimFunDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphantype Rep PrimFun = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PrimFun"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PrimFun"
'PrefixI 'True) ((S1 ('MetaSel ('Just"primFunName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"primFunArity"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Arity)) :*: (S1 ('MetaSel ('Just"primFunArgOccurrences"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Occurrence]) :*: S1 ('MetaSel ('Just"primFunImplementation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ([Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term))))))
Instances6Eq, Ord, Show, Generic, NFData, Rep
Eq RunMetaOccursCheckDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd RunMetaOccursCheckDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow RunMetaOccursCheckDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric RunMetaOccursCheckDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData RunMetaOccursCheckDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep RunMetaOccursCheck = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"RunMetaOccursCheck"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"RunMetaOccursCheck"
'PrefixI 'False) U1 :+: C1 ('MetaCons"DontRunMetaOccursCheck"
'PrefixI 'False) U1)
We can either compare two terms at a given type, or compare two types without knowing (or caring about) their sorts.
Instances19Show, Generic, NFData, Pretty, IsSizeType, Subst, …
Show CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseIsSizeType CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesSubst CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyReduce CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceSimplify CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceInstantiate CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceTermLike CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAllMetas CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFree CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseIsMeta CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceMentionsMeta CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars.MentionInstantiateFull CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reducetype Rep CompareAs = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"CompareAs"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"AsTermsOf"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"AsSizes"
'PrefixI 'False) U1 :+: C1 ('MetaCons"AsTypes"
'PrefixI 'False) U1))type SubstArg CompareAs = TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
An extension of Comparison to >=.
Instances3Eq, Show, Pretty
Eq CompareDirectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow CompareDirectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty CompareDirectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Information about local meta-variables.
Constructors
MetaVarmvInfo :: MetaInfomvPriority :: MetaPrioritysome metavariables are more eager to be instantiated
mvPermutation :: Permutationa metavariable doesn't have to depend on all variables in the context, this "permutation" will throw away the ones it does not depend on
mvJudgement :: Judgement MetaIdmvInstantiation :: MetaInstantiationmvListeners :: Set Listenermeta variables scheduled for eta-expansion but blocked by this one
mvFrozen :: Frozenare we past the point where we can instantiate this meta variable?
mvTwin :: Maybe MetaIdJust mmeans that this meta-variable will be equated tomwhen the latter is unblocked. See blockTermOnProblem.
Instances9Generic, NFData, HasRange, SetRange, LensModality, LensQuantity, …
Generic MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSetRange MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensModality MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensQuantity MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensRelevance MetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensClosure MetaVariable RangeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep MetaVariable = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"MetaVariable"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"MetaVar"
'PrefixI 'True) (((S1 ('MetaSel ('Just"mvInfo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaInfo) :*: S1 ('MetaSel ('Just"mvPriority"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaPriority)) :*: (S1 ('MetaSel ('Just"mvPermutation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Permutation) :*: S1 ('MetaSel ('Just"mvJudgement"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Judgement MetaId)))) :*: ((S1 ('MetaSel ('Just"mvInstantiation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaInstantiation) :*: S1 ('MetaSel ('Just"mvListeners"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set Listener))) :*: (S1 ('MetaSel ('Just"mvFrozen"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Frozen) :*: S1 ('MetaSel ('Just"mvTwin"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MetaId))))))
class (MonadConstraint m, MonadReduce m, MonadAddContext m, MonadTCEnv m, ReadTCState m, HasBuiltins m, HasConstInfo m, MonadDebug m) => MonadMetaSolver (m :: Type -> Type) whereMonad service class for creating, solving and eta-expanding of metavariables.
Methods
newMeta' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaIdGenerate a new meta variable with some instantiation given. For instance, the instantiation could be a PostponedTypeCheckingProblem.
assignV :: CompareDirection -> MetaId -> Args -> Term -> CompareAs -> m ()Assign to an open metavar which may not be frozen. First check that metavar args are in pattern fragment. Then do extended occurs check on given thing.
Assignment is aborted by throwing a
PatternErrvia a call topatternViolation. This error is caught bycatchConstraintduring equality checking (compareAtom) and leads to restoration of the original constraints.assignTerm' :: MonadMetaSolver m => MetaId -> [Arg ArgName] -> Term -> m ()Directly instantiate the metavariable. Skip pattern check, occurs check and frozen check. Used for eta expanding frozen metas.
etaExpandMeta :: [MetaClass] -> MetaId -> m ()Eta-expand a local meta-variable, if it is of the specified class. Don't do anything if the meta-variable is a blocked term.
updateMetaVar :: MetaId -> (MetaVariable -> MetaVariable) -> m ()Update the status of the metavariable
speculateMetas :: m () -> m KeepMetas -> m ()'speculateMetas fallback m' speculatively runs
m, but if the result is RollBackMetas any changes to metavariables are rolled back andfallbackis run instead.
Instances3MonadMetaSolver
MonadMetaSolver TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars · orphan(PureTCM m, MonadBlock m) => MonadMetaSolver (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadMetaSolver m => MonadMetaSolver (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVars
Information about an instance definition.
Constructors
InstanceInfoinstanceClass :: QNameName of the "class" this is an instance for
instanceOverlap :: OverlapModeDoes this instance have a specified overlap mode?
Instances6Show, Generic, NFData, KillRange, EmbPrj, Rep
Show InstanceInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InstanceInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InstanceInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange InstanceInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj InstanceInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep InstanceInfo = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"InstanceInfo"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"InstanceInfo"
'PrefixI 'True) (S1 ('MetaSel ('Just"instanceClass"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"instanceOverlap"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode)))
Methods
patternViolation :: Blocker -> m a`patternViolation b` aborts the current computation
catchPatternErr :: (Blocker -> m a) -> m a -> m a`catchPatternErr handle m` runs m, handling pattern violations with
handle(doesn't roll back the state)
Instances7MonadBlock, …
MonadBlock TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadBlock NLMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchMonadBlock m => MonadBlock (MaybeT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => MonadBlock (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonad m => MonadBlock (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadBlock m => MonadBlock (ReaderT e m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => MonadBlock (ExceptT TCErr m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Constructors
Three cases: 1. not reduced, 2. reduced, but blocked, 3. reduced, not blocked.
Constructors
NotReducedReduced (Blocked ())
Constructors
Instances12Show, Generic, NFData, HasRange, PrettyTCM, Reify, …
Show ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasRange ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty.Constraint · orphanReify ProblemConstraintDefined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphanSimplify ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceMentionsMeta ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars.MentionInstantiateFull ProblemConstraintDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reducetype Rep ProblemConstraint = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ProblemConstraint"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PConstr"
'PrefixI 'True) (S1 ('MetaSel ('Just"constraintProblems"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ProblemId)) :*: (S1 ('MetaSel ('Just"constraintUnblocker"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker) :*: S1 ('MetaSel ('Just"theConstraint"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Constraint)))))type ReifiesTo ProblemConstraint = Closure (OutputForm Expr Expr)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan
Methods
fresh :: m i
Instances9MonadFresh, …
HasFresh i => MonadFresh i TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadFresh NameId AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadFresh i m => MonadFresh i (ListT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => MonadFresh NameId (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonad m => MonadFresh ProblemId (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonad m => MonadFresh Int (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadFresh i m => MonadFresh i (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadFresh i m => MonadFresh i (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadFresh i m => MonadFresh i (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Non-linear (non-constructor) first-order pattern.
Constructors
PVar !Int [Arg Int]Matches anything (modulo non-linearity) that only contains bound variables that occur in the given arguments.
PDef QName PElimsMatches
f esPLam ArgInfo (Abs NLPat)Matches
λ x → tPPi (Dom NLPType) (Abs NLPType)Matches
(x : A) → BPSort NLPSortMatches a sort of the given shape.
PBoundVar !Int PElimsMatches
x eswhere x is a lambda-bound variablePTerm TermMatches the term modulo β (ideally βη).
Instances31Show, Generic, NFData, DeBruijn, Subst, KillRange, …
Show NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseDeBruijn NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanSubst NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyKillRange NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseTermLike NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAllMetas NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn NLPatDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesFree NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPattern · orphanInstantiateFull NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceGetMatchables NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternNLPatVars NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternEmbPrj NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanMatch NLPat LevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchMatch NLPat TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchNLPatToTerm NLPat LevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternNLPatToTerm NLPat TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternPatternFrom Level NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternPatternFrom Term NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternPatternFrom Elims [Elim' NLPat]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternPrettyTCM (Type' NLPat)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyPrettyTCM (Elim' NLPat)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyMatch [Elim' NLPat] ElimsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchToNLPat (Arg DeBruijnPattern) (Elim' NLPat)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.ClauseToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.Clausetype Rep NLPat = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"NLPat"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"PVar"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg Int])) :+: (C1 ('MetaCons"PDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims)) :+: C1 ('MetaCons"PLam"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs NLPat))))) :+: ((C1 ('MetaCons"PPi"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom NLPType)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs NLPType))) :+: C1 ('MetaCons"PSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort))) :+: (C1 ('MetaCons"PBoundVar"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims)) :+: C1 ('MetaCons"PTerm"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))type SubstArg NLPat = NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphantype TypeOf NLPat = TypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype TypeOf [Elim' NLPat] = (Type, Elims -> Term)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
The class of types which can be converted to SomeBuiltin.
Methods
someBuiltin :: a -> SomeBuiltinConvert this value to a builtin.
getBuiltinId :: a -> StringGet the identifier for this builtin, generally used for error messages.
Instances3IsBuiltin
IsBuiltin BuiltinIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinIsBuiltin PrimitiveIdDefined in Agda-2.7.0.1 · Agda.Syntax.BuiltinIsBuiltin SomeBuiltinDefined in Agda-2.7.0.1 · Agda.Syntax.Builtin
Lookup a primitive by its identifier.
primNatDivSucAux :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimNatModSucAux :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermLens modify for Benchmark.
Find information about the (local or remote) meta-variable, if any.
If no meta-variable is found, then the reason could be that the
dead-code elimination
(eliminateDeadCode) failed to find the
meta-variable, perhaps because some NamesIn instance is
incorrectly defined.
Look up the polarity of a definition.
Instances7Show, Generic, NFData, Subst, InstantiateFull, Rep, …
Show LetBindingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric LetBindingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData LetBindingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst LetBindingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanInstantiateFull LetBindingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reducetype Rep LetBinding = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"LetBinding"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"LetBinding"
'PrefixI 'True) (S1 ('MetaSel ('Just"letOrigin"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Origin) :*: (S1 ('MetaSel ('Just"letTerm"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Just"letType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)))))type SubstArg LetBinding = TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
Constructors
Instances9Eq, Show, NFData, Pretty, KillRange, NamesIn, …
Eq SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanShow SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange SectionsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn SectionDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesInstantiateFull SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj SectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphan
Constructors
PreScopeStatestPreTokens :: !HighlightingInfoHighlighting info for tokens and Happy parser warnings (but not for those tokens/warnings for which highlighting exists in stPostSyntaxInfo).
stPreImports :: !SignatureImported declared identifiers. Those most not be serialized!
stPreImportedModules :: !Set TopLevelModuleNameThe top-level modules imported by the current module.
stPreModuleToSource :: !ModuleToSourcestPreVisitedModules :: !VisitedModulesstPreScope :: !ScopeInfostPrePatternSyns :: !PatternSynDefnsPattern synonyms of the current file. Serialized.
stPrePatternSynImports :: !PatternSynDefnsImported pattern synonyms. Must not be serialized!
stPreGeneralizedVars :: !Maybe (Set QName)Collected generalizable variables; used during scope checking of terms
stPrePragmaOptions :: !PragmaOptionsOptions applying to the current file.
OPTIONSpragmas only affect this field.stPreImportedBuiltins :: !BuiltinThings PrimFunstPreImportedDisplayForms :: !DisplayFormsDisplay forms added by someone else to imported identifiers
stPreFreshInteractionId :: !InteractionIdstPreImportedUserWarnings :: !Map QName TextImported
UserWarnings, not to be stored in theInterfacestPreLocalUserWarnings :: !Map QName TextLocally defined
UserWarnings, to be stored in theInterfacestPreWarningOnImport :: !Maybe TextWhether the current module should raise a warning when opened
stPreImportedPartialDefs :: !Set QNameImported partial definitions, not to be stored in the
InterfacestPreProjectConfigs :: !Map FilePath ProjectConfigMap from directories to paths of closest enclosing .agda-lib files (or
Nothingif there are none).stPreAgdaLibFiles :: !Map FilePath AgdaLibFileContents of .agda-lib files that have already been parsed.
stPreImportedMetaStore :: !RemoteMetaStoreUsed for meta-variables from other modules.
stPreCopiedNames :: !HashMap QName QNameAssociates a copied name (the key) to its original name (the value). Computed by the scope checker, used to compute opaque blocks.
stPreNameCopies :: !HashMap QName (HashSet QName)Associates an original name (the key) to all its copies (the value). Computed by the scope checker, used to compute opaque blocks.
Instances3Generic, NFData, Rep
Generic PreScopeStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PreScopeStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseThis instance could be optimised, some things are guaranteed to be forced.
type Rep PreScopeState = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PreScopeState"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PreScopeState"
'PrefixI 'True) ((((S1 ('MetaSel ('Just"stPreTokens"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HighlightingInfo) :*: S1 ('MetaSel ('Just"stPreImports"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Signature)) :*: (S1 ('MetaSel ('Just"stPreImportedModules"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set TopLevelModuleName)) :*: (S1 ('MetaSel ('Just"stPreModuleToSource"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleToSource) :*: S1 ('MetaSel ('Just"stPreVisitedModules"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 VisitedModules)))) :*: ((S1 ('MetaSel ('Just"stPreScope"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScopeInfo) :*: (S1 ('MetaSel ('Just"stPrePatternSyns"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PatternSynDefns) :*: S1 ('MetaSel ('Just"stPrePatternSynImports"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PatternSynDefns))) :*: (S1 ('MetaSel ('Just"stPreGeneralizedVars"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Set QName))) :*: (S1 ('MetaSel ('Just"stPrePragmaOptions"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PragmaOptions) :*: S1 ('MetaSel ('Just"stPreImportedBuiltins"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BuiltinThings PrimFun)))))) :*: (((S1 ('MetaSel ('Just"stPreImportedDisplayForms"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DisplayForms) :*: S1 ('MetaSel ('Just"stPreFreshInteractionId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 InteractionId)) :*: (S1 ('MetaSel ('Just"stPreImportedUserWarnings"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map QName Text)) :*: (S1 ('MetaSel ('Just"stPreLocalUserWarnings"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map QName Text)) :*: S1 ('MetaSel ('Just"stPreWarningOnImport"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Text))))) :*: ((S1 ('MetaSel ('Just"stPreImportedPartialDefs"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)) :*: (S1 ('MetaSel ('Just"stPreProjectConfigs"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map FilePath ProjectConfig)) :*: S1 ('MetaSel ('Just"stPreAgdaLibFiles"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map FilePath AgdaLibFile)))) :*: (S1 ('MetaSel ('Just"stPreImportedMetaStore"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RemoteMetaStore) :*: (S1 ('MetaSel ('Just"stPreCopiedNames"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HashMap QName QName)) :*: S1 ('MetaSel ('Just"stPreNameCopies"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HashMap QName (HashSet QName)))))))))
Constructors
PostScopeStatestPostSyntaxInfo :: !HighlightingInfoHighlighting info.
stPostDisambiguatedNames :: !DisambiguatedNamesDisambiguation carried out by the type checker. Maps position of first name character to disambiguated
QNamefor eachAmbiguousQNamealready passed by the type checker.stPostOpenMetaStore :: !LocalMetaStoreUsed for open meta-variables.
stPostSolvedMetaStore :: !LocalMetaStoreUsed for local, instantiated meta-variables.
stPostInteractionPoints :: !InteractionPointsstPostAwakeConstraints :: !ConstraintsstPostSleepingConstraints :: !ConstraintsstPostDirty :: !BoolDirty when a constraint is added, used to prevent pointer update. Currently unused.
stPostOccursCheckDefs :: !Set QNameDefinitions to be considered during occurs check. Initialized to the current mutual block before the check. During occurs check, we remove definitions from this set as soon we have checked them.
stPostSignature :: !SignatureDeclared identifiers of the current file. These will be serialized after successful type checking.
stPostModuleCheckpoints :: !Map ModuleName CheckpointIdFor each module remember the checkpoint corresponding to the orignal context of the module parameters.
stPostImportsDisplayForms :: !DisplayFormsDisplay forms we add for imported identifiers
stPostForeignCode :: !Map BackendName ForeignCodeStack{-# FOREIGN #-}code that should be included in the compiled output. Does not include code for imported modules.stPostCurrentModule :: !Maybe (ModuleName, TopLevelModuleName)The current module is available after it has been type checked.
stPostPendingInstances :: !Set QNamestPostTemporaryInstances :: !Set QNamestPostConcreteNames :: !ConcreteNamesMap keeping track of concrete names assigned to each abstract name (can be more than one name in case the first one is shadowed)
stPostUsedNames :: !Map RawName (DList RawName)Map keeping track for each name root (= name w/o numeric suffixes) what names with the same root have been used during a TC computation. This information is used to build the
ShadowingNamesmap.stPostShadowingNames :: !Map Name (DList RawName)Map keeping track for each (abstract) name the list of all (raw) names that it could maybe be shadowed by.
stPostStatistics :: !StatisticsCounters to collect various statistics about meta variables etc. Only for current file.
stPostTCWarnings :: ![TCWarning]stPostMutualBlocks :: !Map MutualId MutualBlockstPostLocalBuiltins :: !BuiltinThings PrimFunstPostFreshMetaId :: !MetaIdstPostFreshMutualId :: !MutualIdstPostFreshProblemId :: !ProblemIdstPostFreshCheckpointId :: !CheckpointIdstPostFreshInt :: !IntstPostFreshNameId :: !NameIdstPostFreshOpaqueId :: !OpaqueIdstPostAreWeCaching :: !BoolstPostPostponeInstanceSearch :: !BoolstPostConsideringInstance :: !BoolstPostInstantiateBlocking :: !BoolShould we instantiate away blocking metas? This can produce ill-typed terms but they are often more readable. See issue #3606. Best set to True only for calls to pretty*/reify to limit unwanted reductions.
stPostLocalPartialDefs :: !Set QNameLocal partial definitions, to be stored in the
InterfacestPostOpaqueBlocks :: Map OpaqueId OpaqueBlockAssociates opaque identifiers to their actual blocks.
stPostOpaqueIds :: Map QName OpaqueIdAssociates each opaque QName to the block it was defined in.
Instances3Generic, NFData, Rep
Generic PostScopeStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PostScopeStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseThis instance could be optimised, some things are guaranteed to be forced.
type Rep PostScopeState = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PostScopeState"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PostScopeState"
'PrefixI 'True) (((((S1 ('MetaSel ('Just"stPostSyntaxInfo"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HighlightingInfo) :*: S1 ('MetaSel ('Just"stPostDisambiguatedNames"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DisambiguatedNames)) :*: (S1 ('MetaSel ('Just"stPostOpenMetaStore"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LocalMetaStore) :*: S1 ('MetaSel ('Just"stPostSolvedMetaStore"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LocalMetaStore))) :*: ((S1 ('MetaSel ('Just"stPostInteractionPoints"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InteractionPoints) :*: S1 ('MetaSel ('Just"stPostAwakeConstraints"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Constraints)) :*: (S1 ('MetaSel ('Just"stPostSleepingConstraints"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Constraints) :*: (S1 ('MetaSel ('Just"stPostDirty"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just"stPostOccursCheckDefs"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)))))) :*: (((S1 ('MetaSel ('Just"stPostSignature"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Signature) :*: S1 ('MetaSel ('Just"stPostModuleCheckpoints"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map ModuleName CheckpointId))) :*: (S1 ('MetaSel ('Just"stPostImportsDisplayForms"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DisplayForms) :*: S1 ('MetaSel ('Just"stPostForeignCode"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map BackendName ForeignCodeStack)))) :*: ((S1 ('MetaSel ('Just"stPostCurrentModule"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (ModuleName, TopLevelModuleName))) :*: S1 ('MetaSel ('Just"stPostPendingInstances"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName))) :*: (S1 ('MetaSel ('Just"stPostTemporaryInstances"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)) :*: (S1 ('MetaSel ('Just"stPostConcreteNames"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ConcreteNames) :*: S1 ('MetaSel ('Just"stPostUsedNames"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map RawName (DList RawName)))))))) :*: ((((S1 ('MetaSel ('Just"stPostShadowingNames"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map Name (DList RawName))) :*: S1 ('MetaSel ('Just"stPostStatistics"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics)) :*: (S1 ('MetaSel ('Just"stPostTCWarnings"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [TCWarning]) :*: S1 ('MetaSel ('Just"stPostMutualBlocks"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map MutualId MutualBlock)))) :*: ((S1 ('MetaSel ('Just"stPostLocalBuiltins"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BuiltinThings PrimFun)) :*: S1 ('MetaSel ('Just"stPostFreshMetaId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MetaId)) :*: (S1 ('MetaSel ('Just"stPostFreshMutualId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 MutualId) :*: (S1 ('MetaSel ('Just"stPostFreshProblemId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ProblemId) :*: S1 ('MetaSel ('Just"stPostFreshCheckpointId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 CheckpointId))))) :*: (((S1 ('MetaSel ('Just"stPostFreshInt"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Just"stPostFreshNameId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NameId)) :*: (S1 ('MetaSel ('Just"stPostFreshOpaqueId"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OpaqueId) :*: (S1 ('MetaSel ('Just"stPostAreWeCaching"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just"stPostPostponeInstanceSearch"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just"stPostConsideringInstance"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just"stPostInstantiateBlocking"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just"stPostLocalPartialDefs"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)) :*: (S1 ('MetaSel ('Just"stPostOpaqueBlocks"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map OpaqueId OpaqueBlock)) :*: S1 ('MetaSel ('Just"stPostOpaqueIds"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName OpaqueId)))))))))
A part of the state which is not reverted when an error is thrown or the state is reset.
Constructors
PersistentTCStstDecodedModules :: !DecodedModulesstPersistentTopLevelModuleNames :: !BiMap RawTopLevelModuleName ModuleNameHashModule name hashes for top-level module names (and vice versa).
stPersistentOptions :: CommandLineOptionsstInteractionOutputCallback :: InteractionOutputCallbackCallback function to call when there is a response to give to the interactive frontend. See the documentation of InteractionOutputCallback.
stBenchmark :: !BenchmarkStructure to track how much CPU time was spent on which Agda phase. Needs to be a strict field to avoid space leaks!
stAccumStatistics :: !StatisticsShould be strict field.
stPersistLoadedFileCache :: !Maybe LoadedFileCacheCached typechecking state from the last loaded file. Should be
Nothingwhen checking imports.stPersistBackends :: [Backend_boot TCM]Current backends with their options
Instances7Generic, NFData, LensCommandLineOptions, LensIncludePaths, LensPersistentVerbosity, LensSafeMode, …
Generic PersistentTCStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PersistentTCStateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensCommandLineOptions PersistentTCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensIncludePaths PersistentTCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensPersistentVerbosity PersistentTCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.LensesLensSafeMode PersistentTCStateDefined in Agda-2.7.0.1 · Agda.Interaction.Options.Lensestype Rep PersistentTCState = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PersistentTCState"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PersistentTCSt"
'PrefixI 'True) (((S1 ('MetaSel ('Just"stDecodedModules"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DecodedModules) :*: S1 ('MetaSel ('Just"stPersistentTopLevelModuleNames"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BiMap RawTopLevelModuleName ModuleNameHash))) :*: (S1 ('MetaSel ('Just"stPersistentOptions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CommandLineOptions) :*: S1 ('MetaSel ('Just"stInteractionOutputCallback"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionOutputCallback))) :*: ((S1 ('MetaSel ('Just"stBenchmark"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Benchmark) :*: S1 ('MetaSel ('Just"stAccumStatistics"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics)) :*: (S1 ('MetaSel ('Just"stPersistLoadedFileCache"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe LoadedFileCache)) :*: S1 ('MetaSel ('Just"stPersistBackends"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Backend_boot TCM])))))
Used for meta-variables from other modules (and in Interfaces).
Name disambiguation for the sake of highlighting.
Constructors
Instances4Generic, NFData, Hilite, Rep
Generic DisambiguatedNameDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DisambiguatedNameDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHilite DisambiguatedNameDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.FromAbstracttype Rep DisambiguatedName = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"DisambiguatedName"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"DisambiguatedName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameKind) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))
Used for meta-variables from the current module.
Data structure managing the interaction points.
We never remove interaction points from this map, only set their
ipSolved to True. (Issue #2368)
Constructors
Instances12Enum, Eq, Integral, Num, Ord, Real, …
Enum CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEq CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseIntegral CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNum CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReal CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyEmbPrj CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphan
Foreign code fragments are stored in reversed order to support efficient appending: head points to the latest pragma in module.
Constructors
Instances5Show, Generic, NFData, EmbPrj, Rep
Show ForeignCodeStackDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ForeignCodeStackDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ForeignCodeStackDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj ForeignCodeStackDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Compilers · orphantype Rep ForeignCodeStack = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ForeignCodeStack"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'True) (C1 ('MetaCons"ForeignCodeStack"
'PrefixI 'True) (S1 ('MetaSel ('Just"getForeignCodeStack"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ForeignCode])))
Instances9Enum, Eq, Num, Ord, Show, NFData, …
Enum MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEq MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNum MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphan
A mutual block of names in the signature.
Constructors
MutualBlockmutualInfo :: MutualInfoThe original info of the mutual block.
mutualNames :: Set QName
Instances6Eq, Show, Generic, NFData, Null, Rep
Eq MutualBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow MutualBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric MutualBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData MutualBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNull MutualBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep MutualBlock = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"MutualBlock"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"MutualBlock"
'PrefixI 'True) (S1 ('MetaSel ('Just"mutualInfo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MutualInfo) :*: S1 ('MetaSel ('Just"mutualNames"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))))
A block of opaque definitions.
Constructors
OpaqueBlockopaqueId :: !OpaqueIdUnique identifier for this block.
opaqueUnfolding :: HashSet QNameSet of names we are allowed to unfold. After scope-checking, this set should be transitively closed.
opaqueDecls :: HashSet QNameDeclarations contained in this abstract block.
opaqueParent :: Maybe OpaqueIdPointer to an enclosing opaque block, if one exists.
opaqueRange :: RangeWhere is this opaque block?
Instances8Eq, Show, Generic, NFData, Hashable, Pretty, …
Eq OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHashable OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj OpaqueBlockDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep OpaqueBlock = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"OpaqueBlock"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"OpaqueBlock"
'PrefixI 'True) ((S1 ('MetaSel ('Just"opaqueId"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 OpaqueId) :*: S1 ('MetaSel ('Just"opaqueUnfolding"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashSet QName))) :*: (S1 ('MetaSel ('Just"opaqueDecls"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashSet QName)) :*: (S1 ('MetaSel ('Just"opaqueParent"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe OpaqueId)) :*: S1 ('MetaSel ('Just"opaqueRange"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)))))
Constructors
Instances3Generic, NFData, Rep
Generic LoadedFileCacheDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData LoadedFileCacheDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep LoadedFileCache = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"LoadedFileCache"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"LoadedFileCache"
'PrefixI 'True) (S1 ('MetaSel ('Just"lfcCached"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CachedTypeCheckLog) :*: S1 ('MetaSel ('Just"lfcCurrent"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CurrentTypeCheckLog)))
A log of what the type checker does and states after the action is completed. The cached version is stored first executed action first.
Like CachedTypeCheckLog, but storing the log for an ongoing type checking of a module. Stored in reverse order (last performed action first).
Empty persistent state.
An initial MetaId.
Empty state of type checker.
Note that the lens is "strict".
When typechecking something of the following form:
instance x : _ x = y
it's not yet known where to add x, so we add it to a list of
unresolved instances and we'll deal with it later.
Union two Builtins. Only defined for BuiltinRewriteRelations.
Methods
freshLens :: Lens' TCState inextFresh' :: i -> i
Instances8HasFresh, …
HasFresh InteractionIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh MetaIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh NameIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh OpaqueIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh ProblemIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh CheckpointIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh MutualIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasFresh IntDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Create a fresh name from a.
Methods
freshName_ :: MonadFresh NameId m => a -> m Name
Instances4FreshName
A monad that has read and write access to the stConcreteNames part of the TCState. Basically, this is a synonym for `MonadState ConcreteNames m` (which cannot be used directly because of the limitations of Haskell's typeclass system).
Methods
runStConcreteNames :: StateT ConcreteNames m a -> m auseConcreteNames :: m ConcreteNamesmodifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> m ()
Instances6MonadStConcreteNames
MonadStConcreteNames AbsToConDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteMonadStConcreteNames TCMDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => MonadStConcreteNames (PureConversionT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.PureMonadStConcreteNames m => MonadStConcreteNames (IdentityT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadStConcreteNames m => MonadStConcreteNames (ReaderT r m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadStConcreteNames m => MonadStConcreteNames (StateT s m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Modify a part of the state monadically, and return some result.
Distinguishes between type-checked and scope-checked interfaces when stored in the map of VisitedModules.
Instances8Bounded, Enum, Eq, Ord, Show, Generic, …
Bounded ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEnum ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEq ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ModuleCheckModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep ModuleCheckMode = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ModuleCheckMode"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ModuleScopeChecked"
'PrefixI 'False) U1 :+: C1 ('MetaCons"ModuleTypeChecked"
'PrefixI 'False) U1)
Constructors
Instances5Show, Generic, NFData, EmbPrj, Rep
Show ForeignCodeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ForeignCodeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ForeignCodeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj ForeignCodeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Compilers · orphantype Rep ForeignCode = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ForeignCode"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ForeignCode"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))
Combines the source hash and the (full) hashes of the imported modules.
A lens for the iSignature field of the Interface type.
Methods
lensClosure :: Lens' b (Closure a)
Instances3LensClosure
LensClosure MetaInfo RangeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensClosure MetaVariable RangeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensClosure (Closure a) aDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Why are we performing a modality check?
Constructors
ConstructorTypeBecause --without-K is enabled, so the types of data constructors must be usable at the context's modality.
IndexedClauseBecause --without-K is enabled, so the result type of clauses must be usable at the context's modality.
IndexedClauseArg Name NameBecause --without-K is enabled, so any argument (second name) which mentions a dotted argument (first name) must have a type which is usable at the context's modality.
GeneratedClauseBecause we double-check the --cubical-compatible clauses. This is an internal error!
Instances4Show, Generic, NFData, Rep
Show WhyCheckModalityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric WhyCheckModalityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData WhyCheckModalityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep WhyCheckModality = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"WhyCheckModality"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"ConstructorType"
'PrefixI 'False) U1 :+: C1 ('MetaCons"IndexedClause"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"IndexedClauseArg"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons"GeneratedClause"
'PrefixI 'False) U1))
Instances9Eq, Show, Generic, NFData, PrettyTCM, KillRange, …
Eq IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyKillRange IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseChooseFlex IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rules.LHS.ProblemEmbPrj IsForcedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep IsForced = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"IsForced"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Forced"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NotForced"
'PrefixI 'False) U1)
A candidate solution for an instance meta is a term with its type. It may be the case that the candidate is not fully applied yet or of the wrong type, hence the need for the type.
Constructors
Instances16Eq, Ord, Show, Generic, NFData, Subst, …
Eq CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanOrd CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanShow CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyReduce CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceSimplify CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceInstantiate CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceHasOverlapMode CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFree CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseInstantiateFull CandidateDefined in Agda-2.7.0.1 · Agda.TypeChecking.Reducetype Rep Candidate = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Candidate"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Candidate"
'PrefixI 'True) ((S1 ('MetaSel ('Just"candidateKind"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CandidateKind) :*: S1 ('MetaSel ('Just"candidateTerm"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Just"candidateType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Just"candidateOverlap"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode))))type SubstArg Candidate = TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
Embed Comparison into CompareDirection.
Flip the direction of comparison.
Turn a Comparison function into a CompareDirection function.
Property: dirToCmp f (fromCmp cmp) = f cmp
Parametrized since it is used without MetaId when creating a new meta.
Constructors
HasTypejMetaId :: ajComparison :: Comparisonare we checking (
CmpLeq) or inferring (CmpEq) the type?jMetaType :: Type
IsSort
Instances8Show, Generic, NFData, Pretty, PrettyTCM, InstantiateFull, …
Show a => Show (Judgement a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric (Judgement a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData a => NFData (Judgement a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty a => Pretty (Judgement a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM a => PrettyTCM (Judgement a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyInstantiateFull (Judgement MetaId)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj a => EmbPrj (Judgement a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep (Judgement a) = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Judgement"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"HasType"
'PrefixI 'True) (S1 ('MetaSel ('Just"jMetaId"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just"jComparison"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Just"jMetaType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"IsSort"
'PrefixI 'True) (S1 ('MetaSel ('Just"jMetaId"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just"jMetaType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))
Constructors
YesGeneralizeVarGeneralize because it is a generalizable variable.
YesGeneralizeMetaGeneralize because it is a metavariable and we're currently checking the type of a generalizable variable (this should get the default modality).
NoGeneralizeDon't generalize.
Instances8Eq, Ord, Show, Generic, NFData, KillRange, …
Eq DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj DoGeneralizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep DoGeneralize = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"DoGeneralize"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"YesGeneralizeVar"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"YesGeneralizeMeta"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NoGeneralize"
'PrefixI 'False) U1))
The value of a generalizable variable. This is created to be a generalizable meta before checking the type to be generalized.
Constructors
Instances4Show, Generic, NFData, Rep
Show GeneralizedValueDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric GeneralizedValueDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData GeneralizedValueDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep GeneralizedValue = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"GeneralizedValue"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"GeneralizedValue"
'PrefixI 'True) (S1 ('MetaSel ('Just"genvalCheckpoint"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CheckpointId) :*: (S1 ('MetaSel ('Just"genvalTerm"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Just"genvalType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))
Meta variable priority: When we have an equation between meta-variables, which one should be instantiated?
Higher value means higher priority to be instantiated.
Constructors
Instances4Eq, Ord, Show, NFData
Eq MetaPriorityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd MetaPriorityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow MetaPriorityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData MetaPriorityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Solution status of meta.
Constructors
InstV InstantiationSolved by Instantiation.
OpenMeta MetaKindUnsolved (open to solutions).
BlockedConst TermSolved, but solution blocked by unsolved constraints.
PostponedTypeCheckingProblem (Closure TypeCheckingProblem)Meta stands for value of the expression that is still to be type checked.
Instances4Generic, NFData, Pretty, Rep
Generic MetaInstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData MetaInstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty MetaInstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep MetaInstantiation = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"MetaInstantiation"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"InstV"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Instantiation)) :+: C1 ('MetaCons"OpenMeta"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaKind))) :+: (C1 ('MetaCons"BlockedConst"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"PostponedTypeCheckingProblem"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure TypeCheckingProblem)))))
Constructors
Instances5Eq, Ord, Generic, NFData, Rep
Eq ListenerDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd ListenerDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ListenerDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ListenerDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep Listener = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Listener"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"EtaExpand"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :+: C1 ('MetaCons"CheckConstraint"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProblemConstraint)))
Frozen meta variable cannot be instantiated by unification. This serves to prevent the completion of a definition by its use outside of the current block. (See issues 118, 288, 399).
Constructors
FrozenDo not instantiate.
Instantiable
Instances5Eq, Show, Generic, NFData, Rep
Eq FrozenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow FrozenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric FrozenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData FrozenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep Frozen = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Frozen"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Frozen"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Instantiable"
'PrefixI 'False) U1)
Meta-variable instantiations.
Instances6Show, Generic, NFData, InstantiateFull, EmbPrj, Rep
Show InstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseInstantiateFull InstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj InstantiationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep Instantiation = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Instantiation"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Instantiation"
'PrefixI 'True) (S1 ('MetaSel ('Just"instTel"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg String]) :*: S1 ('MetaSel ('Just"instBody"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))
Constructors
CheckExpr Comparison Expr TypeCheckArgs Comparison ExpandHidden Range [NamedArg Expr] Type Type (ArgsCheckState CheckedTarget -> TCM Term)CheckProjAppToKnownPrincipalArg Comparison Expr ProjOrigin (List1 QName) Args Type Int Term Type PrincipalArgTypeMetasCheckLambda Comparison (Arg (List1 (WithHiding Name), Maybe Type)) Expr TypeDoQuoteTerm Comparison Term TypeQuote the given term and check type against Term
Instances4Generic, NFData, PrettyTCM, Rep
Generic TypeCheckingProblemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TypeCheckingProblemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM TypeCheckingProblemDefined in Agda-2.7.0.1 · Agda.TypeChecking.Prettytype Rep TypeCheckingProblem = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TypeCheckingProblem"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"CheckExpr"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"CheckArgs"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpandHidden) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))) :*: ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ArgsCheckState CheckedTarget -> TCM Term)))))) :+: (C1 ('MetaCons"CheckProjAppToKnownPrincipalArg"
'PrefixI 'False) (((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)))) :*: ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrincipalArgTypeMetas))))) :+: (C1 ('MetaCons"CheckLambda"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg (List1 (WithHiding Name), Maybe Type)))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"DoQuoteTerm"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))
Information about remote meta-variables.
Remote meta-variables are meta-variables originating in other modules. These meta-variables are always instantiated. We do not retain all the information about a local meta-variable when creating an interface:
The mvPriority field is not needed, because the meta-variable cannot be instantiated.
The mvFrozen field is not needed, because there is no point in freezing instantiated meta-variables.
The mvListeners field is not needed, because no meta-variable should be listening to this one.
The mvTwin field is not needed, because the meta-variable has already been instantiated.
The mvPermutation is currently removed, but could be retained if it turns out to be useful for something.
The only part of the mvInfo field that is kept is the miModality field. The miMetaOccursCheck and miGeneralizable fields are omitted, because the meta-variable has already been instantiated. The Range that is part of the miClosRange field and the miNameSuggestion field are omitted because instantiated meta-variables are typically not presented to users. Finally the Closure part of the miClosRange field is omitted because it can be large (at least if we ignore potential sharing).
Constructors
Instances9Show, Generic, NFData, LensModality, LensQuantity, LensRelevance, …
Show RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensModality RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensQuantity RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseLensRelevance RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseInstantiateFull RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceEmbPrj RemoteMetaVariableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep RemoteMetaVariable = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"RemoteMetaVariable"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"RemoteMetaVariable"
'PrefixI 'True) (S1 ('MetaSel ('Just"rmvInstantiation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Instantiation) :*: (S1 ('MetaSel ('Just"rmvModality"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Just"rmvJudgement"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Judgement MetaId)))))
Solving a CheckArgs constraint may or may not check the target type. If it did, it returns a handle to any unsolved constraints.
Constructors
Constructors
PrincipalArgTypeMetaspatmMetas :: Argsmetas created for hidden and instance arguments in the principal argument's type
patmRemainder :: Typeprincipal argument's type, stripped of hidden and instance arguments
Instances3Generic, NFData, Rep
Generic PrincipalArgTypeMetasDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PrincipalArgTypeMetasDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep PrincipalArgTypeMetas = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PrincipalArgTypeMetas"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PrincipalArgTypeMetas"
'PrefixI 'True) (S1 ('MetaSel ('Just"patmMetas"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just"patmRemainder"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))
Constructors
ExpandLastAdd implicit arguments in the end until type is no longer hidden Pi.
DontExpandLastDo not append implicit arguments.
ReallyDontExpandLastMakes
doExpandLasthave no effect. Used to avoid implicit insertion of arguments to metavariables.
Instances4Eq, Generic, NFData, Rep
Eq ExpandHiddenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ExpandHiddenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ExpandHiddenDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep ExpandHidden = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ExpandHidden"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ExpandLast"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"DontExpandLast"
'PrefixI 'False) U1 :+: C1 ('MetaCons"ReallyDontExpandLast"
'PrefixI 'False) U1))
Constructors
ACStateacRanges :: [Maybe Range]Ranges of checked arguments, where present. e.g. inserted implicits have no correponding abstract syntax.
acElims :: ElimsChecked and inserted arguments so far.
acConstraints :: [Maybe (Abs Constraint)]Constraints for the head so far, i.e. before applying the correponding elim.
acType :: TypeType for the rest of the application.
acData :: a
Instances1Show
Show a => Show (ArgsCheckState a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Append an ArgName to a MetaNameSuggestion, for computing the name suggestions of eta-expansion metas. If the MetaNameSuggestion is empty or an underscore, the field name is taken as the suggestion.
Interaction points are created by the scope checker who sets the range. The meta variable is created by the type checker and then hooked up to the interaction point.
Constructors
InteractionPointipRange :: RangeThe position of the interaction point.
ipMeta :: Maybe MetaIdThe meta variable, if any, holding the type etc.
ipSolved :: BoolHas this interaction point already been solved?
ipClause :: IPClauseThe clause of the interaction point (if any). Used for case splitting.
ipBoundary :: IPBoundary
Instances7Eq, Generic, NFData, HasTag, Rep, Tag, …
Eq InteractionPointDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InteractionPointDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InteractionPointDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InteractionPointsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasTag InteractionPointDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep InteractionPoint = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"InteractionPoint"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"InteractionPoint"
'PrefixI 'True) ((S1 ('MetaSel ('Just"ipRange"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Just"ipMeta"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MetaId))) :*: (S1 ('MetaSel ('Just"ipSolved"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just"ipClause"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IPClause) :*: S1 ('MetaSel ('Just"ipBoundary"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IPBoundary)))))type Tag InteractionPoint = MetaIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Which clause is an interaction point located in?
Constructors
IPClauseipcQName :: QNameThe name of the function.
ipcClauseNo :: IntThe number of the clause of this function.
ipcType :: TypeThe type of the function
ipcWithSub :: Maybe SubstitutionModule parameter substitution
ipcClause :: SpineClauseThe original AST clause.
ipcClosure :: Closure ()Environment for rechecking the clause.
IPNoClauseThe interaction point is not in the rhs of a clause.
Instances4Eq, Generic, NFData, Rep
Eq IPClauseDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric IPClauseDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData IPClauseDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep IPClause = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"IPClause"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"IPClause"
'PrefixI 'True) ((S1 ('MetaSel ('Just"ipcQName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Just"ipcClauseNo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just"ipcType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Just"ipcWithSub"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Substitution)) :*: (S1 ('MetaSel ('Just"ipcClause"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineClause) :*: S1 ('MetaSel ('Just"ipcClosure"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure ()))))) :+: C1 ('MetaCons"IPNoClause"
'PrefixI 'False) U1)
Constructors
IPBoundarygetBoundary :: Map (IntMap Bool) t
Instances16Functor, Foldable, Traversable, Show, Generic, NFData, …
Functor IPBoundary'Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFoldable IPBoundary'Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseTraversable IPBoundary'Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow t => Show (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData t => NFData (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReify a => Reify (IPBoundary' a)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphanToConcrete a => ToConcrete (IPBoundary' a)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphanReduce t => Reduce (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceSimplify t => Simplify (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceInstantiate t => Instantiate (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceNormalise t => Normalise (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceInstantiateFull t => InstantiateFull (IPBoundary' t)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Reducetype Rep (IPBoundary' t) = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"IPBoundary'"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'True) (C1 ('MetaCons"IPBoundary"
'PrefixI 'True) (S1 ('MetaSel ('Just"getBoundary"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (IntMap Bool) t))))type ReifiesTo (IPBoundary' a) = IPBoundary' (ReifiesTo a)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphantype ConOfAbs (IPBoundary' a) = IPBoundary' (ConOfAbs a)Defined in Agda-2.7.0.1 · Agda.Interaction.BasicOps · orphan
Flag to indicate whether the meta is overapplied in the constraint. A meta is overapplied if it has more arguments than the size of the telescope in its creation environment (as stored in MetaInfo).
Instances5Eq, Show, Generic, NFData, Rep
Eq OverappliedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow OverappliedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric OverappliedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData OverappliedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep Overapplied = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Overapplied"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Overapplied"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NotOverapplied"
'PrefixI 'False) U1)
Records information about the instances in the signature. Does not deal with local instances.
Constructors
InstanceTable_itableTree :: DiscrimTree QNameThe actual discrimination tree for looking up instances with
_itableCounts :: Map QName IntFor profiling, we store the number of instances on a per-class basis. This lets us compare the result from the discrimination tree with all the instances in scope, thus informing us how many validity checks were skipped.
Instances8Show, Generic, Semigroup, Monoid, NFData, KillRange, …
Show InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSemigroup InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonoid InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep InstanceTable = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"InstanceTable"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"InstanceTable"
'PrefixI 'True) (S1 ('MetaSel ('Just"_itableTree"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DiscrimTree QName)) :*: S1 ('MetaSel ('Just"_itableCounts"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName Int))))
A structured presentation of a Term for reification into
Abstract.Syntax.
Constructors
DWithApp DisplayTerm [DisplayTerm] Elims(f vs | ws) es. The first DisplayTerm is the parent functionfwith its argsvs. The list of DisplayTerms are the with expressionsws. The Elims are additional argumentses(possible in case the with-application is of function type) or projections (if it is of record type).DCon ConHead ConInfo [Arg DisplayTerm]c vs.DDef QName [Elim' DisplayTerm]d vs.DDot' Term Elims.(v es). See DTerm'.DTerm' Term Elimsv es. This is a frozen elimination that is not always safe to run, because display forms may be ill-typed. (See issue #6476.)
Instances19Show, Generic, NFData, Pretty, Subst, Reify, …
Show DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyReify DisplayTermDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.InternalToAbstractKillRange DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn DisplayTermDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesFree DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubstWithOrigin DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.DisplayFormInstantiateFull DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj DisplayTermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanPrettyTCM (Elim' DisplayTerm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PrettySubstWithOrigin (Arg DisplayTerm)Defined in Agda-2.7.0.1 · Agda.TypeChecking.DisplayFormtype Rep DisplayTerm = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"DisplayTerm"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"DWithApp"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayTerm) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DisplayTerm]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims))) :+: C1 ('MetaCons"DCon"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg DisplayTerm])))) :+: (C1 ('MetaCons"DDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim' DisplayTerm])) :+: (C1 ('MetaCons"DDot'"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims)) :+: C1 ('MetaCons"DTerm'"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims)))))type SubstArg DisplayTerm = TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphantype ReifiesTo DisplayTerm = ExprDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.InternalToAbstract
By default, we have no display form.
Constructors
Instances19Show, Generic, NFData, Subst, PrettyTCM, KillRange, …
Show NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyKillRange NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseTermLike NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAllMetas NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn NLPTypeDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesFree NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPattern · orphanInstantiateFull NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceGetMatchables NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternNLPatVars NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternEmbPrj NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanMatch NLPType TypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchNLPatToTerm NLPType TypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternPatternFrom Type NLPTypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatterntype Rep NLPType = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"NLPType"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"NLPType"
'PrefixI 'True) (S1 ('MetaSel ('Just"nlpTypeSort"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort) :*: S1 ('MetaSel ('Just"nlpTypeUnEl"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)))type SubstArg NLPType = NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
Instances19Show, Generic, NFData, Subst, PrettyTCM, KillRange, …
Show NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyKillRange NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseTermLike NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAllMetas NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn NLPSortDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesFree NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPattern · orphanInstantiateFull NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceGetMatchables NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternNLPatVars NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternEmbPrj NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanMatch NLPSort SortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinMatchNLPatToTerm NLPSort SortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternPatternFrom Sort NLPSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatterntype Rep NLPSort = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"NLPSort"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"PUniv"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)) :+: (C1 ('MetaCons"PInf"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons"PSizeUniv"
'PrefixI 'False) U1)) :+: (C1 ('MetaCons"PLockUniv"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"PLevelUniv"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PIntervalUniv"
'PrefixI 'False) U1)))type SubstArg NLPSort = NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
Rewrite rules can be added independently from function clauses.
Constructors
RewriteRulerewName :: QNameName of rewrite rule
q : Γ → f ps ≡ rhswhere≡is the rewrite relation.rewContext :: TelescopeΓ.rewHead :: QNamef.rewPats :: PElimsΓ ⊢ f ps : t.rewRHS :: TermΓ ⊢ rhs : t.rewType :: TypeΓ ⊢ t.rewFromClause :: BoolWas this rewrite rule created from a clause in the definition of the function?
Instances15Show, Generic, NFData, Subst, PrettyTCM, KillRange, …
Show RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSubst RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanPrettyTCM RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyKillRange RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange RewriteRuleMapDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn RewriteRuleDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesAbstract RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphantel ⊢ (Γ ⊢ lhs ↦ rhs : t)becomestel, Γ ⊢ lhs ↦ rhs : t)we do not need to change lhs, rhs, and t since they live in Γ. See 'Abstract Clause'.InstantiateFull RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanGetMatchables RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rewriting.NonLinPatternEmbPrj RewriteRuleDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep RewriteRule = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"RewriteRule"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"RewriteRule"
'PrefixI 'True) ((S1 ('MetaSel ('Just"rewName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Just"rewContext"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Just"rewHead"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :*: ((S1 ('MetaSel ('Just"rewPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims) :*: S1 ('MetaSel ('Just"rewRHS"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Just"rewType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Just"rewFromClause"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))type SubstArg RewriteRule = NLPatDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphan
Constructors
AxiomDefn AxiomDataPostulate.
DataOrRecSigDefn DataOrRecSigDataData or record type signature that doesn't yet have a definition.
GeneralizableVarGeneralizable variable (introduced in
generalizeblock).AbstractDefn DefnReturned by
getConstInfoif definition is abstract.FunctionDefn FunctionDataDatatypeDefn DatatypeDataRecordDefn RecordDataConstructorDefn ConstructorDataPrimitiveDefn PrimitiveDataPrimitive or builtin functions.
PrimitiveSortDefn PrimitiveSortData
Instances12Show, Generic, NFData, Pretty, KillRange, NamesIn, …
Show DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn DefnDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesAbstract DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanOccurs DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.MetaVars.OccursInstantiateFull DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj DefnDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep Defn = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Defn"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (((C1 ('MetaCons"AxiomDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AxiomData)) :+: C1 ('MetaCons"DataOrRecSigDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecSigData))) :+: (C1 ('MetaCons"GeneralizableVar"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"AbstractDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Defn)) :+: C1 ('MetaCons"FunctionDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FunctionData))))) :+: ((C1 ('MetaCons"DatatypeDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatatypeData)) :+: C1 ('MetaCons"RecordDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordData))) :+: (C1 ('MetaCons"ConstructorDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorData)) :+: (C1 ('MetaCons"PrimitiveDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveData)) :+: C1 ('MetaCons"PrimitiveSortDefn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveSortData))))))
Constructors
NoGeneralizableArgsSomeGeneralizableArgs !IntWhen lambda-lifting new args are generalizable if SomeGeneralizableArgs, also when the number is zero.
Instances6Show, NFData, KillRange, Abstract, Apply, EmbPrj
Show NumGeneralizableArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData NumGeneralizableArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange NumGeneralizableArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAbstract NumGeneralizableArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanApply NumGeneralizableArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj NumGeneralizableArgsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphan
Create a definition with sensible defaults.
Additional information for extended lambdas.
Constructors
ExtLamInfoextLamModule :: ModuleNameFor complicated reasons the scope checker decides the QName of a pattern lambda, and thus its module. We really need to decide the module during type checking though, since if the lambda appears in a refined context the module picked by the scope checker has very much the wrong parameters.
extLamAbsurd :: BoolWas this definition created from an absurd lambda
λ ()?extLamSys :: !Maybe System
Instances9Show, Generic, NFData, KillRange, NamesIn, InstantiateFull, …
Show ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn ExtLamInfoDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesInstantiateFull ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj ExtLamInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep ExtLamInfo = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ExtLamInfo"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ExtLamInfo"
'PrefixI 'True) (S1 ('MetaSel ('Just"extLamModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: (S1 ('MetaSel ('Just"extLamAbsurd"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"extLamSys"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe System)))))
Additional information for projection Functions.
Constructors
ProjectionprojProper :: Maybe QNameNothingif only projection-like,Just rif record projection. Theris the name of the record type projected from. This field is updated by module application.projOrig :: QNameThe original projection name (current name could be from module application).
projFromType :: Arg QNameType projected from. Original record type if
projProper = Just{}. Also storesArgInfoof the principal argument. This field is unchanged by module application.projIndex :: IntIndex of the record argument. Start counting with 1, because 0 means that it is already applied to the record value. This can happen in module instantiation, but then either the record value is
var 0, orfunProjection == Left _.projLams :: ProjLamsTerm
tto be be applied to record parameters and record value. The parameters will be dropped. In case of a proper projection, a postfix projection application will be created:t = pars r -> r .p(Invariant: the number of abstractions equals projIndex.) In case of a projection-like function, just the function symbol is returned as Def:t = pars -> f.
Instances9Show, Generic, NFData, Pretty, KillRange, Abstract, …
Show ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAbstract ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanApply ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj ProjectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep Projection = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Projection"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Projection"
'PrefixI 'True) ((S1 ('MetaSel ('Just"projProper"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)) :*: S1 ('MetaSel ('Just"projOrig"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Just"projFromType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg QName)) :*: (S1 ('MetaSel ('Just"projIndex"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just"projLams"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjLams)))))
Abstractions to build projection function (dropping parameters).
Constructors
Instances10Show, Generic, NFData, Pretty, Null, KillRange, …
Show ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNull ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAbstract ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanApply ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanEmbPrj ProjLamsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep ProjLams = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ProjLams"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'True) (C1 ('MetaCons"ProjLams"
'PrefixI 'True) (S1 ('MetaSel ('Just"getProjLams"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg ArgName])))
Building the projection function (which drops the parameters).
The info of the principal (record) argument.
Should a record type admit eta-equality?
Constructors
SpecifiedUser specifed 'eta-equality' or 'no-eta-equality'.
theEtaEquality :: !HasEta
InferredPositivity checker inferred whether eta is safe.
theEtaEquality :: !HasEta
Instances9Eq, Show, Generic, NFData, KillRange, CopatternMatchingAllowed, …
Eq EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseCopatternMatchingAllowed EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePatternMatchingAllowed EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj EtaEqualityDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep EtaEquality = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"EtaEquality"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"Specified"
'PrefixI 'True) (S1 ('MetaSel ('Just"theEtaEquality"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HasEta)) :+: C1 ('MetaCons"Inferred"
'PrefixI 'True) (S1 ('MetaSel ('Just"theEtaEquality"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HasEta)))
Make sure we do not overwrite a user specification.
Constructors
FunStaticShould calls to this function be normalised at compile-time?
FunInlineShould calls to this function be inlined by the compiler?
FunMacroIs this function a macro?
FunFirstOrderIs this function
INJECTIVE_FOR_INFERENCE? Indicates whether the first-order shortcut should be applied to the definition.FunErasureWas
--erasurein effect when the function was defined? (This can affect the type of a projection.)FunAbstractIs the function abstract?
FunProjIs this function a descendant of a field (typically, a projection)?
Instances13Bounded, Enum, Eq, Ord, Show, Ix, …
Bounded FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEnum FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEq FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseIx FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSmallSetElement FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj FunctionFlagDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphanKillRange (SmallSet FunctionFlag)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep FunctionFlag = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"FunctionFlag"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"FunStatic"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"FunInline"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FunMacro"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"FunFirstOrder"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FunErasure"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"FunAbstract"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FunProj"
'PrefixI 'False) U1)))
Constructors
Instances9Eq, Ord, Show, Generic, NFData, KillRange, …
Eq CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn CompKitDefined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesEmbPrj CompKitDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep CompKit = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"CompKit"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"CompKit"
'PrefixI 'True) (S1 ('MetaSel ('Just"nameOfHComp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)) :*: S1 ('MetaSel ('Just"nameOfTransp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName))))
Constructors
AxiomData_axiomConstTransp :: BoolCan transp for this postulate be constant? Set to
Truefor bultins like String.
Instances4Show, Generic, NFData, Rep
Show AxiomDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric AxiomDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData AxiomDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep AxiomData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"AxiomData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"AxiomData"
'PrefixI 'True) (S1 ('MetaSel ('Just"_axiomConstTransp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Constructors
Instances5Show, Generic, NFData, Pretty, Rep
Show DataOrRecSigDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DataOrRecSigDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DataOrRecSigDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty DataOrRecSigDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep DataOrRecSigData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"DataOrRecSigData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"DataOrRecSigData"
'PrefixI 'True) (S1 ('MetaSel ('Just"_datarecPars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))
Constructors
FunctionData_funClauses :: [Clause]_funCompiled :: Maybe CompiledClausesNothing while function is still type-checked.
Just ccafter type and coverage checking and translation to case trees._funSplitTree :: Maybe SplitTreeThe split tree constructed by the coverage checker. Needed to re-compile the clauses after forcing translation.
_funTreeless :: Maybe CompiledIntermediate representation for compiler backends.
_funCovering :: [Clause]Covering clauses computed by coverage checking. Erased by (IApply) confluence checking(?)
_funInv :: FunctionInverse_funMutual :: Maybe [QName]Mutually recursive functions,
datas andrecords. Does include this function. Empty list if not recursive.Nothingif not yet computed (by positivity checker)._funProjection :: Either ProjectionLikenessMissing ProjectionIs it a record projection? If yes, then return the name of the record type and index of the record argument. Start counting with 1, because 0 means that it is already applied to the record. (Can happen in module instantiation.) This information is used in the termination checker.
_funFlags :: SmallSet FunctionFlagVarious boolean flags pertaining to the function definition, see FunctionFlag.
_funTerminates :: Maybe BoolHas this function been termination checked? Did it pass?
_funExtLam :: Maybe ExtLamInfoIs this function generated from an extended lambda? If yes, then return the number of hidden and non-hidden lambda-lifted arguments.
_funWith :: Maybe QNameIs this a generated with-function? If yes, then what's the name of the parent function?
_funIsKanOp :: Maybe QNameIs this a helper for one of the Kan operations (transp, hcomp) on data types/records? If so, for which data type?
_funOpaque :: IsOpaqueIs this function opaque? If so, and we're not in an opaque block that includes this function('s name), it will be treated abstractly.
Instances5Show, Generic, NFData, Pretty, Rep
Show FunctionDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric FunctionDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData FunctionDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty FunctionDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep FunctionData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"FunctionData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"FunctionData"
'PrefixI 'True) (((S1 ('MetaSel ('Just"_funClauses"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: (S1 ('MetaSel ('Just"_funCompiled"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CompiledClauses)) :*: S1 ('MetaSel ('Just"_funSplitTree"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SplitTree)))) :*: ((S1 ('MetaSel ('Just"_funTreeless"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Compiled)) :*: S1 ('MetaSel ('Just"_funCovering"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause])) :*: (S1 ('MetaSel ('Just"_funInv"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FunctionInverse) :*: S1 ('MetaSel ('Just"_funMutual"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [QName]))))) :*: ((S1 ('MetaSel ('Just"_funProjection"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either ProjectionLikenessMissing Projection)) :*: (S1 ('MetaSel ('Just"_funFlags"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SmallSet FunctionFlag)) :*: S1 ('MetaSel ('Just"_funTerminates"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))) :*: ((S1 ('MetaSel ('Just"_funExtLam"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ExtLamInfo)) :*: S1 ('MetaSel ('Just"_funWith"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName))) :*: (S1 ('MetaSel ('Just"_funIsKanOp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)) :*: S1 ('MetaSel ('Just"_funOpaque"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsOpaque))))))
Constructors
DatatypeData_dataPars :: NatNumber of parameters.
_dataIxs :: NatNumber of indices.
_dataClause :: Maybe ClauseThis might be in an instantiated module.
_dataCons :: [QName]Constructor names, ordered according to the order of their definition.
_dataSort :: Sort_dataMutual :: Maybe [QName]Mutually recursive functions,
datas andrecords. Does include this data type. Empty if not recursive.Nothingif not yet computed (by positivity checker)._dataAbstr :: IsAbstract_dataPathCons :: [QName]Path constructor names (subset of
dataCons)._dataTranspIx :: Maybe QNameIf indexed datatype, name of the "index transport" function.
_dataTransp :: Maybe QNameTransport function, should be available for all datatypes in supported sorts.
Instances5Show, Generic, NFData, Pretty, Rep
Show DatatypeDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric DatatypeDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DatatypeDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty DatatypeDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep DatatypeData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"DatatypeData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"DatatypeData"
'PrefixI 'True) (((S1 ('MetaSel ('Just"_dataPars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Just"_dataIxs"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat)) :*: (S1 ('MetaSel ('Just"_dataClause"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Clause)) :*: (S1 ('MetaSel ('Just"_dataCons"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel ('Just"_dataSort"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))) :*: ((S1 ('MetaSel ('Just"_dataMutual"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [QName])) :*: S1 ('MetaSel ('Just"_dataAbstr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract)) :*: (S1 ('MetaSel ('Just"_dataPathCons"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: (S1 ('MetaSel ('Just"_dataTranspIx"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)) :*: S1 ('MetaSel ('Just"_dataTransp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)))))))
Constructors
RecordData_recPars :: NatNumber of parameters.
_recClause :: Maybe ClauseWas this record type created by a module application? If yes, the clause is its definition (linking back to the original record type).
_recConHead :: ConHeadConstructor name and fields.
_recNamedCon :: BoolDoes this record have a
constructor?_recFields :: [Dom QName]The record field names.
_recTel :: TelescopeThe record field telescope. (Includes record parameters.) Note:
TelV recTel _ == telView' recConType. Thus,recTelis redundant._recMutual :: Maybe [QName]Mutually recursive functions,
datas andrecords. Does include this record. Empty if not recursive.Nothingif not yet computed (by positivity checker)._recEtaEquality' :: EtaEqualityEta-expand at this record type?
Falsefor unguarded recursive records and coinductive records unless the user specifies otherwise._recPatternMatching :: PatternOrCopatternIn case eta-equality is off, do we allow pattern matching on the constructor or construction by copattern matching? Having both loses subject reduction, see issue #4560. After positivity checking, this field is obsolete, part of EtaEquality.
_recInduction :: Maybe InductionInductive or CoInductive? Matters only for recursive records. Nothing means that the user did not specify it, which is an error for recursive records.
_recTerminates :: Maybe Bool'Just True' means that unfolding of the recursive record terminates, 'Just False' means that we have no evidence for termination, and Nothing means we have not run the termination checker yet.
_recAbstr :: IsAbstract_recComp :: CompKit
Instances5Show, Generic, NFData, Pretty, Rep
Show RecordDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric RecordDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData RecordDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty RecordDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep RecordData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"RecordData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"RecordData"
'PrefixI 'True) (((S1 ('MetaSel ('Just"_recPars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: (S1 ('MetaSel ('Just"_recClause"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Clause)) :*: S1 ('MetaSel ('Just"_recConHead"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead))) :*: (S1 ('MetaSel ('Just"_recNamedCon"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just"_recFields"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dom QName]) :*: S1 ('MetaSel ('Just"_recTel"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)))) :*: ((S1 ('MetaSel ('Just"_recMutual"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [QName])) :*: (S1 ('MetaSel ('Just"_recEtaEquality'"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EtaEquality) :*: S1 ('MetaSel ('Just"_recPatternMatching"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatternOrCopattern))) :*: ((S1 ('MetaSel ('Just"_recInduction"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Induction)) :*: S1 ('MetaSel ('Just"_recTerminates"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just"_recAbstr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract) :*: S1 ('MetaSel ('Just"_recComp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompKit))))))
Constructors
ConstructorData_conPars :: IntNumber of parameters.
_conArity :: IntNumber of arguments (excluding parameters).
_conSrcCon :: ConHeadName of (original) constructor and fields. (This might be in a module instance.)
_conData :: QNameName of datatype or record type.
_conAbstr :: IsAbstract_conComp :: CompKitCubical composition.
_conProj :: Maybe [QName]Projections. Nothing if not yet computed.
_conForced :: [IsForced]Which arguments are forced (i.e. determined by the type of the constructor)? Either this list is empty (if the forcing analysis isn't run), or its length is
conArity._conErased :: Maybe [Bool]_conErasure :: !BoolWas
--erasurein effect when the constructor was defined? (This can affect the constructor's type.)_conInline :: !BoolShall we translate the constructor on the root of the rhs into copattern matching on the lhs? Activated by INLINE pragma.
Instances5Show, Generic, NFData, Pretty, Rep
Show ConstructorDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ConstructorDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ConstructorDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty ConstructorDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep ConstructorData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ConstructorData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ConstructorData"
'PrefixI 'True) (((S1 ('MetaSel ('Just"_conPars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just"_conArity"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just"_conSrcCon"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: (S1 ('MetaSel ('Just"_conData"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"_conAbstr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract)))) :*: ((S1 ('MetaSel ('Just"_conComp"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompKit) :*: (S1 ('MetaSel ('Just"_conProj"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [QName])) :*: S1 ('MetaSel ('Just"_conForced"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IsForced]))) :*: (S1 ('MetaSel ('Just"_conErased"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Bool])) :*: (S1 ('MetaSel ('Just"_conErasure"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just"_conInline"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))))
Constructors
PrimitiveData_primAbstr :: IsAbstract_primName :: PrimitiveId_primClauses :: [Clause]null for primitive functions,
not nullfor builtin functions._primInv :: FunctionInverseBuiltin functions can have inverses. For instance, natural number addition.
_primCompiled :: Maybe CompiledClauses_primOpaque :: IsOpaquePrimitives can also live in opaque blocks.
Instances5Show, Generic, NFData, Pretty, Rep
Show PrimitiveDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric PrimitiveDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PrimitiveDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty PrimitiveDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep PrimitiveData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PrimitiveData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PrimitiveData"
'PrefixI 'True) ((S1 ('MetaSel ('Just"_primAbstr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract) :*: (S1 ('MetaSel ('Just"_primName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: S1 ('MetaSel ('Just"_primClauses"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))) :*: (S1 ('MetaSel ('Just"_primInv"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FunctionInverse) :*: (S1 ('MetaSel ('Just"_primCompiled"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CompiledClauses)) :*: S1 ('MetaSel ('Just"_primOpaque"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsOpaque)))))
Constructors
Instances5Show, Generic, NFData, Pretty, Rep
Show PrimitiveSortDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric PrimitiveSortDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData PrimitiveSortDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty PrimitiveSortDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep PrimitiveSortData = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"PrimitiveSortData"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"PrimitiveSortData"
'PrefixI 'True) (S1 ('MetaSel ('Just"_primSortName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinSort) :*: S1 ('MetaSel ('Just"_primSortSort"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))
Indicates the reason behind a function having not been marked projection-like.
Constructors
MaybeProjectionProjection-likeness analysis has not run on this function yet. It may do so in the future.
NeverProjectionThe user has requested that this function be not be marked projection-like. The analysis may already have run on this function, but the results have been discarded, and it will not be run again.
Instances9Bounded, Enum, Show, Generic, NFData, Pretty, …
Bounded ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEnum ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj ProjectionLikenessMissingDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep ProjectionLikenessMissing = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ProjectionLikenessMissing"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"MaybeProjection"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NeverProjection"
'PrefixI 'False) U1)
Constructors
Instances7Eq, Show, Generic, NFData, KillRange, EmbPrj, …
Eq BuiltinSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow BuiltinSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric BuiltinSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData BuiltinSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange BuiltinSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj BuiltinSortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep BuiltinSort = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"BuiltinSort"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"SortUniv"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ)) :+: C1 ('MetaCons"SortOmega"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ))) :+: (C1 ('MetaCons"SortIntervalUniv"
'PrefixI 'False) U1 :+: C1 ('MetaCons"SortLevelUniv"
'PrefixI 'False) U1))
Constructors
BuiltinData (TCM Type) [BuiltinId]BuiltinDataCons (TCM Type)BuiltinPrim PrimitiveId (Term -> TCM ())BuiltinSort BuiltinSortBuiltinPostulate Relevance (TCM Type)BuiltinUnknown (Maybe (TCM Type)) (Term -> Type -> TCM ())Builtin of any kind. Type can be checked (
Just t) or inferred (Nothing). The second argument is the hook for the verification function.
Constructors
Instances13Functor, Abstract, DropArgs, InstantiateFull, Apply, Show, …
Functor FunctionInverse'Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseAbstract FunctionInverseDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanDropArgs FunctionInverseDefined in Agda-2.7.0.1 · Agda.TypeChecking.DropArgsInstantiateFull FunctionInverseDefined in Agda-2.7.0.1 · Agda.TypeChecking.ReduceApply FunctionInverseDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanShow c => Show (FunctionInverse' c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric (FunctionInverse' c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData c => NFData (FunctionInverse' c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty c => Pretty (FunctionInverse' c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange c => KillRange (FunctionInverse' c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNamesIn a => NamesIn (FunctionInverse' a)Defined in Agda-2.7.0.1 · Agda.Syntax.Internal.NamesEmbPrj a => EmbPrj (FunctionInverse' a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep (FunctionInverse' c) = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"FunctionInverse'"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"NotInjective"
'PrefixI 'False) U1 :+: C1 ('MetaCons"Inverse"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InversionMap c))))
Is the record type recursive?
A template for creating Function definitions, with sensible defaults.
Toggle the FunFirstOrder flag.
Toggle the FunErasure flag.
Toggle the FunAbstract flag.
Toggle the FunAbstract flag.
Toggle the FunAbstract flag.
Toggle the FunAbstract flag.
Toggle the FunProj flag.
Toggle the FunProj flag.
Checking whether we are dealing with a function yet to be defined.
Did we encounter a simplifying reduction? In terms of CIC, that would be a iota-reduction. In terms of Agda, this is a constructor or literal pattern that matched. Just beta-reduction (substitution) or delta-reduction (unfolding of definitions) does not count as simplifying?
Instances8Eq, Show, Generic, Semigroup, Monoid, NFData, …
Eq SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSemigroup SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonoid SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNull SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep Simplification = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"Simplification"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"YesSimplification"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NoSimplification"
'PrefixI 'False) U1)
Conceptually: redBind m f k = either (return . Left . f) k =<< m
Constructors
Instances3Functor, PrettyTCM, IsProjElim
Functor MaybeReducedDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM a => PrettyTCM (MaybeReduced a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.PrettyIsProjElim e => IsProjElim (MaybeReduced e)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base
Controlling reduce.
Constructors
ProjectionReductions(Projection and) projection-like functions may be reduced.
InlineReductionsFunctions marked INLINE may be reduced.
CopatternReductionsCopattern definitions may be reduced.
FunctionReductionsNon-recursive functions and primitives may be reduced.
RecursiveReductionsEven recursive functions may be reduced.
LevelReductionsReduce
Levelterms.TypeLevelReductionsAllow
allReductionsin types, even if not allowed at term level (used by confluence checker)UnconfirmedReductionsFunctions whose termination has not (yet) been confirmed.
NonTerminatingReductionsFunctions that have failed termination checking.
Instances10Bounded, Enum, Eq, Ord, Show, Ix, …
Bounded AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEnum AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEq AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseIx AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSmallSetElement AllowedReductionDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep AllowedReduction = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"AllowedReduction"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (((C1 ('MetaCons"ProjectionReductions"
'PrefixI 'False) U1 :+: C1 ('MetaCons"InlineReductions"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"CopatternReductions"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FunctionReductions"
'PrefixI 'False) U1)) :+: ((C1 ('MetaCons"RecursiveReductions"
'PrefixI 'False) U1 :+: C1 ('MetaCons"LevelReductions"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"TypeLevelReductions"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"UnconfirmedReductions"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NonTerminatingReductions"
'PrefixI 'False) U1))))
Not quite all reductions (skip non-terminating reductions)
Constructors
Instances3Generic, NFData, Rep
Generic ReduceDefsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ReduceDefsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep ReduceDefs = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ReduceDefs"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"OnlyReduceDefs"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))) :+: C1 ('MetaCons"DontReduceDefs"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))))
Modify the lens-indicated part of the TCEnv in a subcomputation.
Has the definition failed the termination checker?
Has the definition not termination checked or did the check fail?
Instances9Eq, Ord, Show, Generic, NFData, Pretty, …
Eq TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseOrd TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseKillRange TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj TermHeadDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Internal · orphantype Rep TermHead = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TermHead"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"SortHead"
'PrefixI 'False) U1 :+: C1 ('MetaCons"PiHead"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"ConsHead"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"VarHead"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat)) :+: C1 ('MetaCons"UnknownHead"
'PrefixI 'False) U1)))
Constructors
ifTopLevelAndHighlightingLevelIs l b m runs m when we're
type-checking the top-level module (or before we've started doing
this) and either the highlighting level is at least l or b is
True.
ifTopLevelAndHighlightingLevelIs l m runs m when we're
type-checking the top-level module (or before we've started doing
this) and the highlighting level is at least l.
Constructors
AbstractModeAbstract things in the current module can be accessed.
ConcreteModeNo abstract things can be accessed.
IgnoreAbstractModeAll abstract things can be accessed.
Instances5Eq, Show, Generic, NFData, Rep
Eq AbstractModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseShow AbstractModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric AbstractModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData AbstractModeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep AbstractMode = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"AbstractMode"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"AbstractMode"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"ConcreteMode"
'PrefixI 'False) U1 :+: C1 ('MetaCons"IgnoreAbstractMode"
'PrefixI 'False) U1))
Constructors
Instances3Generic, NFData, Rep
Generic UnquoteFlagsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData UnquoteFlagsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep UnquoteFlags = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"UnquoteFlags"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"UnquoteFlags"
'PrefixI 'True) (S1 ('MetaSel ('Just"_unquoteNormalise"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Note that this lens does not satisfy all lens laws: If hard compile-time mode is enabled, then quantities other than zero are replaced by __IMPOSSIBLE__.
The current modality. Note that the returned cohesion component is always unitCohesion.
Constructors
Instances6Eq, Ord, Show, Generic, NFData, Rep
Eq CandidateKindDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanOrd CandidateKindDefined in Agda-2.7.0.1 · Agda.TypeChecking.Substitute · orphanShow CandidateKindDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric CandidateKindDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CandidateKindDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep CandidateKind = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"CandidateKind"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"LocalCandidate"
'PrefixI 'False) U1 :+: C1 ('MetaCons"GlobalCandidate"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))
Information about a mutual block which did not pass the termination checker.
Constructors
TerminationErrortermErrFunctions :: [QName]The functions which failed to check. (May not include automatically generated functions.)
termErrCalls :: [CallInfo]The problematic call sites.
Instances4Show, Generic, NFData, Rep
Show TerminationErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric TerminationErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData TerminationErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep TerminationError = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"TerminationError"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"TerminationError"
'PrefixI 'True) (S1 ('MetaSel ('Just"termErrFunctions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel ('Just"termErrCalls"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CallInfo])))
Constructors
LHSNotDefinitionOrConstructorVariablesNotBoundByLHS IntSetVariablesBoundMoreThanOnce IntSetLHSReduces Term TermHeadSymbolIsProjection QNameHeadSymbolIsProjectionLikeFunction QNameHeadSymbolIsTypeConstructor QNameHeadSymbolContainsMetas QNameConstructorParametersNotGeneral ConHead ArgsContainsUnsolvedMetaVariables (Set MetaId)BlockedOnProblems (Set ProblemId)RequiresDefinitions (Set QName)DoesNotTargetRewriteRelationBeforeFunctionDefinitionBeforeMutualFunctionDefinition QNameDuplicateRewriteRule
Instances5Show, Generic, NFData, EmbPrj, Rep
Show IllegalRewriteRuleReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric IllegalRewriteRuleReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData IllegalRewriteRuleReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseEmbPrj IllegalRewriteRuleReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Errors · orphantype Rep IllegalRewriteRuleReason = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"IllegalRewriteRuleReason"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((((C1 ('MetaCons"LHSNotDefinitionOrConstructor"
'PrefixI 'False) U1 :+: C1 ('MetaCons"VariablesNotBoundByLHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet))) :+: (C1 ('MetaCons"VariablesBoundMoreThanOnce"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet)) :+: C1 ('MetaCons"LHSReduces"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: ((C1 ('MetaCons"HeadSymbolIsProjection"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"HeadSymbolIsProjectionLikeFunction"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons"HeadSymbolIsTypeConstructor"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"HeadSymbolContainsMetas"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons"ConstructorParametersNotGeneral"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)) :+: C1 ('MetaCons"ContainsUnsolvedMetaVariables"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set MetaId)))) :+: (C1 ('MetaCons"BlockedOnProblems"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ProblemId))) :+: C1 ('MetaCons"RequiresDefinitions"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))))) :+: ((C1 ('MetaCons"DoesNotTargetRewriteRelation"
'PrefixI 'False) U1 :+: C1 ('MetaCons"BeforeFunctionDefinition"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"BeforeMutualFunctionDefinition"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"DuplicateRewriteRule"
'PrefixI 'False) U1))))
Should warnings of that type be serialized?
Only when changes in the source code can silence or influence the warning.
Information about a call.
Constructors
CallInfocallInfoTarget :: QNameTarget function name. (Contains its range.)
callInfoCall :: Closure TermTo be formatted representation of the call.
Instances7Show, Generic, NFData, Pretty, HasRange, PrettyTCM, …
Show CallInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric CallInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData CallInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePretty CallInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseWe only show the name of the callee.
HasRange CallInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM CallInfoDefined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty.Call · orphantype Rep CallInfo = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"CallInfo"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"CallInfo"
'PrefixI 'True) (S1 ('MetaSel ('Just"callInfoTarget"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"callInfoCall"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Term))))
The reason for an ErasedDatatype error.
Constructors
SeveralConstructorsThere are several constructors.
NoErasedMatchesThe flag
--erased-matchesis not used.NoKThe K rule is not activated.
Instances4Show, Generic, NFData, Rep
Show ErasedDatatypeReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric ErasedDatatypeReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData ErasedDatatypeReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep ErasedDatatypeReason = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"ErasedDatatypeReason"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"SeveralConstructors"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"NoErasedMatches"
'PrefixI 'False) U1 :+: C1 ('MetaCons"NoK"
'PrefixI 'False) U1))
Error when splitting a pattern variable into possible constructor patterns.
Constructors
NotADatatype (Closure Type)Neither data type nor record.
BlockedType Blocker (Closure Type)Type could not be sufficiently reduced.
ErasedDatatype ErasedDatatypeReason (Closure Type)Data type, but in erased position.
CoinductiveDatatype (Closure Type)Split on codata not allowed. UNUSED, but keep! -- | NoRecordConstructor Type -- ^ record type, but no constructor
UnificationStuckcantSplitBlocker :: Maybe BlockerBlocking metavariable (if any)
cantSplitConName :: QNameConstructor.
cantSplitTel :: TelescopeContext for indices.
cantSplitConIdx :: ArgsInferred indices (from type of constructor).
cantSplitGivenIdx :: ArgsExpected indices (from checking pattern).
cantSplitFailures :: [UnificationFailure]Reason(s) why unification got stuck.
CosplitCatchallCopattern split with a catchall
CosplitNoTargetWe do not know the target type of the clause.
CosplitNoRecordType (Closure Type)Target type is not a record type.
CannotCreateMissingClause QName (Telescope, [NamedArg DeBruijnPattern]) Doc (Closure (Abs Type))GenericSplitError String
Instances5Show, Generic, NFData, PrettyTCM, Rep
Show SplitErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric SplitErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData SplitErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM SplitErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Errors · orphantype Rep SplitError = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"SplitError"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (((C1 ('MetaCons"NotADatatype"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: C1 ('MetaCons"BlockedType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type)))) :+: (C1 ('MetaCons"ErasedDatatype"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ErasedDatatypeReason) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: (C1 ('MetaCons"CoinductiveDatatype"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: C1 ('MetaCons"UnificationStuck"
'PrefixI 'True) ((S1 ('MetaSel ('Just"cantSplitBlocker"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: (S1 ('MetaSel ('Just"cantSplitConName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"cantSplitTel"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope))) :*: (S1 ('MetaSel ('Just"cantSplitConIdx"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: (S1 ('MetaSel ('Just"cantSplitGivenIdx"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just"cantSplitFailures"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [UnificationFailure]))))))) :+: ((C1 ('MetaCons"CosplitCatchall"
'PrefixI 'False) U1 :+: C1 ('MetaCons"CosplitNoTarget"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"CosplitNoRecordType"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: (C1 ('MetaCons"CannotCreateMissingClause"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Telescope, [NamedArg DeBruijnPattern]))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure (Abs Type))))) :+: C1 ('MetaCons"GenericSplitError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))
Constructors
UnifyIndicesNotVars Telescope Type Term Term ArgsFailed to apply injectivity to constructor of indexed datatype
UnifyRecursiveEq Telescope Type Int TermCan't solve equation because variable occurs in (type of) lhs
UnifyReflexiveEq Telescope Type TermCan't solve reflexive equation because --without-K is enabled
UnifyUnusableModality Telescope Type Int Term ModalityCan't solve equation because solution modality is less "usable"
Instances5Show, Generic, NFData, PrettyTCM, Rep
Show UnificationFailureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric UnificationFailureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData UnificationFailureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM UnificationFailureDefined in Agda-2.7.0.1 · Agda.TypeChecking.Errors · orphantype Rep UnificationFailure = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"UnificationFailure"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"UnifyIndicesNotVars"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)))) :+: C1 ('MetaCons"UnifyRecursiveEq"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons"UnifyReflexiveEq"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"UnifyUnusableModality"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality))))))
Constructors
Instances5Show, Generic, NFData, PrettyTCM, Rep
Show NegativeUnificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric NegativeUnificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData NegativeUnificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BasePrettyTCM NegativeUnificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Errors · orphantype Rep NegativeUnification = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"NegativeUnification"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"UnifyConflict"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons"UnifyCycle"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))
Instances4Show, Generic, NFData, Rep
Show UnquoteErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric UnquoteErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData UnquoteErrorDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep UnquoteError = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"UnquoteError"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) ((C1 ('MetaCons"BadVisibility"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term))) :+: (C1 ('MetaCons"ConInsteadOfDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons"DefInsteadOfCon"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) :+: ((C1 ('MetaCons"NonCanonical"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"BlockedOnMeta"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCState) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker))) :+: (C1 ('MetaCons"PatLamWithoutClauses"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons"UnquotePanic"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))
Instances4Show, Generic, NFData, Rep
Show IncorrectTypeForRewriteRelationReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric IncorrectTypeForRewriteRelationReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData IncorrectTypeForRewriteRelationReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep IncorrectTypeForRewriteRelationReason = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"IncorrectTypeForRewriteRelationReason"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"ShouldAcceptAtLeastTwoArguments"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"FinalTwoArgumentsNotVisible"
'PrefixI 'False) U1 :+: C1 ('MetaCons"TypeDoesNotEndInSort"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope))))
Extra information for InvalidFileName error.
Instances4Show, Generic, NFData, Rep
Show InvalidFileNameReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InvalidFileNameReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InvalidFileNameReasonDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep InvalidFileNameReason = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"InvalidFileNameReason"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"DoesNotCorrespondToValidModuleName"
'PrefixI 'False) U1 :+: C1 ('MetaCons"RootNameModuleNotAQualifiedModuleName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Constructors
Instances5Show, Generic, NFData, Rep
Show InductionAndEtaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseGeneric InductionAndEtaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData DataOrRecordEDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseNFData InductionAndEtaDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Basetype Rep InductionAndEta = D1 ('MetaDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base"InductionAndEta"
"Agda.TypeChecking.Monad.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons"InductionAndEta"
'PrefixI 'True) (S1 ('MetaSel ('Just"recordInduction"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Induction)) :*: S1 ('MetaSel ('Just"recordEtaEquality"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EtaEquality)))
Environment of the reduce monad.
Constructors
Instances18MonadTrans, Monad, Functor, MonadFail, Applicative, MonadIO, …
MonadTrans BlockTDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => Monad (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseFunctor m => Functor (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadFail m => MonadFail (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => Applicative (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadIO m => MonadIO (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasOptions m => HasOptions (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonad m => MonadBlock (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadReduce m => MonadReduce (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCEnv m => MonadTCEnv (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCM m => MonadTCM (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseMonadTCState m => MonadTCState (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseReadTCState m => ReadTCState (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseHasBuiltins m => HasBuiltins (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinMonadAddContext m => MonadAddContext (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextMonadDebug m => MonadDebug (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugPureTCM m => PureTCM (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.PureHasConstInfo m => HasConstInfo (BlockT m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Signature
A variant of modifyTC in which the computation is strict in the new state.
Overwrite the part of the TCState focused on by the lens.
Overwrite the part of the TCState focused on by the lens (strictly).
Modify the part of the TCState focused on by the lens.
Modify the part of the TCState focused on by the lens (strictly).
Modify a part of the state monadically.
Modify the part of the TCState focused on by the lens, and return some result.
Preserve the state of the failing computation.
Execute a finalizer even when an exception is thrown. Does not catch any errors. In case both the regular computation and the finalizer throw an exception, the one of the finalizer is propagated.
Utility function for 1-arg constructed type errors.
Note that the HasCallStack constraint is on the *resulting* function.
Running the type checking monad (most general form).
Running the type checking monad on toplevel (with initial state).
runSafeTCM runs a safe TCM action (a TCM action which cannot fail, except that it might raise IOExceptions) in the initial environment.
Runs the given computation in a separate thread, with a copy of the current state and environment.
Note that Agda sometimes uses actual, mutable state. If the
computation given to forkTCM tries to modify this state, then
bad things can happen, because accesses are not mutually exclusive.
The forkTCM function has been added mainly to allow the thread to
read (a snapshot of) the current state in a convenient way.
Note also that exceptions which are raised in the thread are not propagated to the parent, so the thread should not do anything important.
Base name for patterns in telescopes
Base name for extended lambda patterns
Check whether we have an definition from an extended lambda.
Name of absurdLambda definitions.
Check whether we have an definition from an absurd lambda.
Base name for generalized variable projections
Check whether we have a generalized variable field
Restore setting for ExpandLast to default.
Modify the context whenever going from the l.h.s. (term side) of the typing judgement to the r.h.s. (type side).
Does the meta variable correspond to an interaction point?
Time: O(log n) where n is the number of interaction metas.
Set the name of the current module.
Get the number of variables bound by anonymous modules.
Add variables bound by an anonymous module.
Set the current environment to the given
Set highlighting level
If the reduced did a proper match (constructor or literal pattern), then record this as simplification step.
Lens for AllowedReductions.
Reduce Def f vs only if f is a projection.
Allow all reductions except for non-terminating functions (default).
Allow all reductions including non-terminating functions.
Allow all reductions when reducing types. Otherwise only allow inlined functions to be unfolded.
Update allowed reductions when working on types
Don't use call-by-need evaluation for the given computation.
Don't fold let bindings when printing. This is a bit crude since it disables any folding of let
bindings at all. In many cases it's better to use removeLetBinding before printing to drop
the let bindings that should not be folded.
Generates an error message corresponding to SigCubicalNotErasure for a given QName.
Unless all variables in the context are module parameters, create a fresh module to capture the non-module parameters. Used when unquoting to make sure generated definitions work properly.
Lookup a section telescope.
If it doesn't exist, like in hierarchical top-level modules, the section telescope is empty.
The trivial implementation of HasBuiltins, using a constant TCState.
This may be used instead of TCMT/ReduceM where builtins must be accessed in a pure context.
Constructors
BuiltinAccessunBuiltinAccess :: TCState -> a
Instances5Monad, Functor, MonadFail, Applicative, HasBuiltins
Monad BuiltinAccessDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinFunctor BuiltinAccessDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinMonadFail BuiltinAccessDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinApplicative BuiltinAccessDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinHasBuiltins BuiltinAccessDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Builtin
Run a BuiltinAccess monad.
Add one (more) relation symbol to the rewrite relations.
Get the currently registered rewrite relation symbols.
Get the currently registered rewrite relation symbols, if any.
getTerm use name looks up name as a primitive or builtin, and
throws an error otherwise.
The use argument describes how the name is used for the sake of
the error message.
primIntegerNegSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimIntervalUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTermExtLam :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTermSort :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTermUnsupported :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTermMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaErrorPart :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaErrorPartString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaErrorPartTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaErrorPartPatt :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaErrorPartName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimModalityConstructor :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimFixityFixity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaLitWord64 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaLitFloat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaLitString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaLitQName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaSortProp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaSortPropLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaSortUnsupported :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinition :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinitionFunDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinitionDataDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinitionRecordDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinitionPostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinitionPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaDefinitionDataConstructor :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaClauseClause :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaClauseAbsurd :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaPatAbsurd :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaBlockerAny :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaBlockerAll :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaBlockerMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMReturn :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMUnify :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMTypeError :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMInferType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMCheckType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMNormalise :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMReduce :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMCatchError :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMGetContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMExtendContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMInContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMFreshName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMDeclareDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMDeclarePostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMDeclareData :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMDefineData :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMDefineFun :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMGetType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMGetDefinition :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMQuoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMUnquoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMQuoteOmegaTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMCommit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMIsMacro :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMBlock :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMFormatErrorParts :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMDebugPrint :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMWithNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMWithReconstructed :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMWithExpandLast :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMWithReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMAskNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMAskReconstructed :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMAskExpandLast :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMAskReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMNoConstraints :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMWorkOnTypes :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMRunSpeculative :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMGetInstances :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMSolveInstances :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMPragmaForeign :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermprimAgdaTCMPragmaCompile :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m TermThe coinductive primitives.
Constructors
Tries to build a CoinductionKit.
Sort primitives.
Constructors
SortKitnameOfUniv :: UnivSize -> Univ -> QNameisNameOfUniv :: QName -> Maybe (UnivSize, Univ)
Compute a SortKit in contexts that do not support failure (e.g.
Reify). This should only be used when we are sure that the
primitive sorts have been bound, i.e. because it is "after" type
checking.
Check whether the type is actually an path (lhs ≡ rhs) and extract lhs, rhs, and their type.
Precondition: type is reduced.
Non dependent Path
Revert the PathView.
Postcondition: type is reduced.
Get the name of the equality type.
Check whether the type is actually an equality (lhs ≡ rhs) and extract lhs, rhs, and their type.
Precondition: type is reduced.
Revert the EqualityView.
Postcondition: type is reduced.
Methods
equalityUnview :: a -> Type
Instances2EqualityUnview
EqualityUnview EqualityTypeDataDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BuiltinEqualityUnview EqualityViewDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Builtin
Primitives with typechecking constrants.
Remove a let bound variable.
Print a debug message if switched on.
During printing, catch internal errors of kind Impossible and print them.
Check whether a certain verbosity level is activated.
Precondition: The level must be non-negative.
Conditionally println debug string. Works regardless of the debug flag.
Debug print the result of a computation.
Conditionally render debug Doc and print it. Works regardless of the debug flag.
Debug print some lines if the verbosity level for the given VerboseKey is at least VerboseLevel.
Note: In the presence of OverloadedStrings, just
@
traceS key level "Literate string"
gives an Ambiguous type variable error in GHC@.
Use the legacy functions traceSLn and traceSDoc instead then.
Methods
traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m c -> m c
Instances6TraceS
TraceS DocDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS StringDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS [Doc]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS [TCM Doc]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.DebugTraceS [String]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Debug
Conditionally render debug Doc, print it, and then continue.
Check whether a certain verbosity level is activated (exact match).
Run a computation if a certain verbosity level is activated (exact match).
Check whether a certain profile option is activated.
Run some code when the given profiling option is active.
Resets all of the type checking state.
Keep only Benchmark and backend information.
Same as localTCState but also returns the state in which we were just before reverting it.
Same as localTCState but keep all warnings.
Allow rolling back the state changes of a TCM computation.
A fresh TCM instance.
The computation is run in a fresh state, with the exception that the persistent state is preserved. If the computation changes the state, then these changes are ignored, except for changes to the persistent state. (Changes to the persistent state are also ignored if errors other than type errors or IO exceptions are encountered.)
Lens for stAccumStatistics.
Set the current scope.
Modify the current scope.
Modify the current scope without updating the inverse maps.
Get a part of the current scope.
Run a computation in a modified scope.
Same as withScope, but discard the scope from the computation.
Discard any changes to the scope by a computation.
Scope error.
Debug print the scope.
Update a possibly imported definition. Warning: changes made to imported definitions (during type checking) will not persist outside the current module. This function is currently used to update the compiled representation of a function during compilation.
Run some computation in a different signature, restore original signature.
Set the top-level module. This affects the global module id of freshly generated names.
The name of the current top-level module, if any.
Use a different top-level module for a computation. Used when generating names for imported modules.
Lens for stPatternSyns.
Lens map for Benchmark.
Lens for stInstanceDefs.
Remove an instance from the set of unresolved instances.
Add an instance whose type is still unresolved.
Result of querying whether size variable i is bounded by another
size.
Instances2Eq, Show
Eq BoundedSizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesShow BoundedSizeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypes
Check if a type is the primSize type. The argument should be reduced.
Methods
isSizeType :: (HasOptions m, HasBuiltins m) => a -> m (Maybe BoundedSize)
Instances5IsSizeType
IsSizeType TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesIsSizeType CompareAsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesIsSizeType a => IsSizeType (Dom a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesIsSizeType a => IsSizeType (Type' a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesIsSizeType a => IsSizeType (b, a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypes
Test whether OPTIONS --sized-types and whether the size built-ins are defined.
Test whether the SIZELT builtin is defined.
Add polarity info to a SIZE builtin.
The sort of built-in types SIZE and SIZELT.
The type of built-in types SIZE and SIZELT.
The built-in type SIZE with user-given name.
The name of SIZESUC.
Transform list of terms into a term build from binary maximum.
Expects argument to be reduced.
A de Bruijn index under some projections.
Constructors
ProjectedVarpvIndex :: IntprProjs :: [(ProjOrigin, QName)]
Instances2Eq, Show
Eq ProjectedVarDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesIgnore ProjOrigin in equality test.
Show ProjectedVarDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypes
A deep view on sizes.
Instances2Show, Pretty
Show DeepSizeViewDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypesPretty DeepSizeViewDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypes
Constructors
Instances1Functor
Functor SizeViewComparableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.SizedTypes
sizeViewComparable v w checks whether v >= w (then Left)
or v <= w (then Right). If uncomparable, it returns NotComparable.
sizeViewPred k v decrements v by k (must be possible!).
sizeViewOffset v returns the number of successors or Nothing when infty.
Remove successors common to both sides.
Turn a size view into a term.
maxViewCons v ws = max v ws. It only adds v to ws if it is not
subsumed by an element of ws.
sizeViewComparableWithMax v ws tries to find w in ws that compares with v
and singles this out.
Precondition: v /= DSizeInv.
Modify the Dom part of context entries.
Change to top (=empty) context, but don't update the checkpoints. Totally not safe!
Delete the last n bindings from the context.
Doesn't update checkpoints! Use escapeContext or `updateContext
rho (drop n)` instead, for an appropriate substitution rho.
Delete the last n bindings from the context. Any occurrences of
these variables are replaced with the given err.
Add a new checkpoint. Do not use directly!
Get the current context as a Telescope.
Get the substitution from the context at a given checkpoint to the current context.
Get substitution Γ ⊢ ρ : Γm where Γ is the current context
and Γm is the module parameter telescope of module m.
Returns Nothing in case the we don't have a checkpoint for m.
Default implementation of addCtx in terms of updateContext
Run the given TCM action, and register the given variable as being shadowed by all the names with the same root that are added to the context during this TCM action.
Add a let bound variable
Various specializations of addCtx.
Methods
addContext :: MonadAddContext m => b -> m a -> m acontextSize :: b -> Nat
Instances20AddContext, …
AddContext NameDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext TelescopeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext StringDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (Dom (Name, Type))Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (Dom (String, Type))Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (KeepNames Telescope)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext a => AddContext [a]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (Name, Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (KeepNames String, Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (List1 Name, Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (List1 (Arg Name), Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (List1 (NamedArg Name), Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (List1 (WithHiding Name), Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (String, Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (Text, Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext ([Name], Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext ([Arg Name], Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext ([NamedArg Name], Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext ([WithHiding Name], Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Context
Wrapper to tell addContext not to mark names as NotInScope. Used when adding a user-provided, but already type checked, telescope to the context.
Constructors
Instances2AddContext
AddContext (KeepNames Telescope)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ContextAddContext (KeepNames String, Dom Type)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Context
Go under an abstraction. Do not extend context in case of NoAbs.
Go under an abstract without worrying about the type to add to the context.
Map a monadic function on the thing under the abstraction, adding the abstracted variable to the context.
Add a let bound variable
Remove a let bound variable and all let bindings introduced after it. For instance before printing its body to avoid folding the binding itself, or using bindings defined later. Relies on the invariant that names introduced later are sorted after earlier names.
Get the size of the current context.
Generate [var (n - 1), ..., var 0] for all declarations in the context.
Generate [var (n - 1), ..., var 0] for all declarations in the context.
Get the names of all declarations in the context.
get type of bound variable (i.e. deBruijn index)
Get the term corresponding to a named variable. If it is a lambda bound variable the deBruijn index is returned and if it is a let bound variable its definition is returned.
Internal workhorse, expects value of --experimental-irrelevance flag as argument.
Apply the quantity to the quantity annotation of the (typing/equality) judgement.
Precondition: The quantity must not be Quantity1 something.
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
Also allow the use of irrelevant definitions.
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
Precondition: Relevance /= Relevant
Apply relevance rel the the relevance annotation of the (typing/equality)
judgement. This is part of the work done when going into a rel-context.
Precondition: Relevance /= Relevant
Like applyRelevanceToContext, but only act on context if
--irrelevant-projections.
See issue #2170.
Pass the current mutual block id or create a new mutual block if we are not already inside on.
Set the mutual block info for a block, possibly overwriting the existing one.
Set the mutual block info for a block if non-existing.
Set the mutual block for a definition.
Get the current mutual block, if any, otherwise a fresh mutual block is returned.
Reverse lookup of a mutual block id for a name.
Apply inverse composition with the given cohesion to the typing context.
Can we split on arguments of the given cohesion?
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
Also allow the use of irrelevant definitions.
This function might also do something for other modalities.
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
This function might also do something for other modalities, but not for quantities.
Precondition: Modality /= Relevant
Apply the relevance and quantity components of the modality to the modality annotation of the (typing/equality) judgement.
Precondition: The relevance component must not be Relevant.
Like applyModalityToContext, but only act on context (for Relevance) if
--irrelevant-projections.
See issue #2170.
Wake up irrelevant variables and make them relevant. This is used when type checking terms in a hole, in which case you want to be able to (for instance) infer the type of an irrelevant variable. In the course of type checking an irrelevant function argument applyRelevanceToContext is used instead, which also sets the context relevance to Irrelevant. This is not the right thing to do when type checking interactively in a hole since it also marks all metas created during type checking as irrelevant (issue #2568).
Also set the current quantity to 0.
A problem is considered solved if there are no unsolved blocking constraints belonging to it. There's no really good principle for what constraints are blocking and which are not, but the general idea is that nothing bad should happen if you assume a non-blocking constraint is solvable, but it turns out it isn't. For instance, assuming an equality constraint between two types that turns out to be false can lead to ill typed terms in places where we don't expect them.
Get the awake constraints
Takes out all constraints matching given filter. Danger! The taken constraints need to be solved or put back at some point.
Instances2Eq, Show
Eq ConstraintStatusDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.ConstraintsShow ConstraintStatusDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Constraints
Suspend constraints matching the predicate during the execution of the second argument. Caution: held sleeping constraints will not be woken up by events that would normally trigger a wakeup call.
Add new a constraint
Start solving constraints
Add constraint if the action raises a pattern violation
Wake constraints matching the given predicate (and aren't instance constraints if shouldPostponeInstanceSearch).
Check that that you don't turn on inconsistent options. For instance, if --a implies --b and you have both --a and --no-b. Only warn for things that have changed compared to the old options.
setCommandLineOptions' :: AbsolutePathThe base directory of relative paths.
-> CommandLineOptions-> TCM ()
setLibraryPaths :: AbsolutePathThe base directory of relative paths.
-> CommandLineOptions-> TCM CommandLineOptions
setIncludeDirs :: [FilePath]New include directories.
-> AbsolutePathThe base directory of relative paths.
-> TCM ()
Makes the given directories absolute and stores them as include directories.
If the include directories change, then the state is reset (completely, except for the include directories and some other things).
An empty list is interpreted as ["."].
Returns potential library files for a file without a known top-level module name.
Once the top-level module name is known one can use checkLibraryFileNotTooFarDown to check that the potential library files were not located too far down the directory hierarchy.
Nothing is returned if optUseLibs is False.
Checks that a library file for the module A.B.C (say) in the
directory dirAB is located at least two directories above the
file (not in dir/A or dirAB).
getLibraryOptions :: AbsolutePathThe file name.
-> TopLevelModuleNameThe top-level module name.
-> TCM [OptionsPragma]
Returns the library options for a given file.
addDefaultLibraries :: AbsolutePathThe base directory of relative paths.
-> CommandLineOptions-> TCM CommandLineOptions
Set pragma options without checking for consistency.
Set pragma options and check them for consistency.
Disable display forms.
Disable display forms.
Check if display forms are enabled.
Switch on printing of implicit and irrelevant arguments. E.g. for reification in with-function generation.
Restores all PragmaOptions after completion. Thus, do not attempt to make persistent PragmaOptions changes in a withShowAllArguments bracket.
Change PragmaOptions for a computation and restore afterwards.
Returns the Language currently in effect.
setHardCompileTimeModeIfErased' :: LensQuantity q=> qThe quantity.
-> TCM aContinuation.
-> TCM a
If the quantity is "erased", then hard compile-time mode is enabled when the continuation is run.
Precondition: The quantity must not be Quantity1 something.
Use run-time mode in the continuation unless the current mode is the hard compile-time mode.
Warn if the user explicitly wrote @ω or @plenty but the
current mode is the hard compile-time mode.
Add a constant to the signature. Lifts the definition to top level.
A combination of addConstant and defaultDefn. The Language does not need to be supplied.
Set termination info of a defined function symbol.
Set CompiledClauses of a defined function symbol.
Set SplitTree of a defined function symbol.
Modify the clauses of a function.
Lifts clauses to the top-level and adds them to definition.
Also adjusts the funCopatternLHS field if necessary.
Add a section to the signature.
The current context will be stored as the cumulative module parameters for this section.
Get a section.
Why Maybe? The reason is that we look up all prefixes of a module to compute number of parameters, and for hierarchical top-level modules, A.B.C say, A and A.B do not exist.
Sets the checkpoint for the given module to the current checkpoint.
Add display forms for a name f copied by a module application. Essentially if f can reduce to
λ xs → A.B.C.f vs
by unfolding module application copies (defCopy), then we add a display form
A.B.C.f vs ==> f xs
Number of dropped initial arguments of a projection(-like) function.
Add a display form to a definition (could be in this or imported signature).
applySection :: ModuleNameName of new module defined by the module macro.
-> TelescopeParameters of new module.
-> ModuleNameName of old module applied to arguments.
-> ArgsArguments of module application.
-> ScopeCopyInfoImported names and modules
-> TCM ()
Module application (followed by module parameter abstraction).
Check if a display form is looping.
Find all names used (recursively) by display forms of a given name.
Does the given constructor come from a single-constructor type?
Precondition: The name has to refer to a constructor.
Generates an error message corresponding to SigCubicalNotErasure for a given QName.
An eliminator for SigError. All constructors except for SigAbstract are assumed to be impossible.
The computation getConstInfo sometimes tweaks the returned Definition, depending on the current Language and the Language of the Definition. This variant of getConstInfo does not perform any tweaks.
Get the original name of the projection (the current one could be from a module application).
Is it the name of a record projection?
Return the abstract view of a definition, regardless of whether the definition would be treated abstractly.
Look up polarity of a definition and compose with polarity represented by Comparison.
Set the polarity of a definition.
Look up the forced arguments of a definition.
Get argument occurrence info for argument i of definition d (never fails).
Sets the defArgOccurrences for the given identifier (which should already exist in the signature).
add data constructors to a datatype
Get the mutually recursive identifiers of a symbol from the signature.
Get the mutually recursive identifiers from a Definition.
Set the mutually recursive identifiers.
TODO: This produces data of quadratic size (which has to be processed upon serialization). Presumably qs is usually short, but in some cases (for instance for generated code) it may be long. It would be better to assign a unique identifier to each SCC, and store the names separately.
Check whether two definitions are mutually recursive.
A functiondatarecord definition is nonRecursive if it is not even mutually recursive with itself.
Get the number of parameters to the current module.
Compute the number of free variables of a defined name. This is the sum of number of parameters shared with the current module and the number of anonymous variables (if the name comes from a let-bound module).
Compute the context variables to apply a definition to.
We have to insert the module telescope of the common prefix of the current module and the module where the definition comes from. (Properly raised to the current context.)
Example:
module M₁ Γ where
module M₁ Δ where
f = ...
module M₃ Θ where
... M₁.M₂.f [insert Γ raised by Θ]
Instantiate a closed definition with the correct part of the current context.
Enter abstract mode. Abstract definition in the current module are transparent.
Not in abstract mode. All abstract definitions are opaque.
Ignore abstract mode. All abstract definitions are transparent.
Go under the given opaque block. The unfolding set will turn opaque definitions transparent.
Enter the reducibility environment associated with a definition: The environment will have the same concreteness as the name, and we will be in the opaque block enclosing the name, if any.
Get relevance of a constant.
Get modality of a constant.
The number of dropped parameters for a definition. 0 except for projection(-like) functions and constructors.
Is it the name of a non-irrelevant record projection?
Is it a function marked STATIC?
Is it a function marked INLINE?
Returns True if we are dealing with a proper projection,
i.e., not a projection-like function nor a record field value
(projection applied to argument).
Check whether a definition uses copatterns.
All possible metavariable classes.
Switch off assignment of metas.
Is the meta-variable from another top-level module?
If another meta-variable is created, then it will get this MetaId (unless the state is changed too much, for instance by setTopLevelModule).
Pairs of local meta-stores.
Constructors
LocalMetaStoresopenMetas :: LocalMetaStoreA
MetaStorecontaining open meta-variables.solvedMetas :: LocalMetaStoreA
MetaStorecontaining instantiated meta-variables.
Run a computation and record which new metas it created.
Find information about the given local meta-variable, if any.
Find information about the given local meta-variable.
Find the meta-variable's instantiation.
Find the meta-variable's judgement.
Find the meta-variable's modality.
Update the information associated with a local meta-variable.
Insert a new meta-variable with associated information into the local meta store.
Returns the MetaPriority of the given local meta-variable.
If a meta variable is still open, what is its kind?
Compute the context variables that a local meta-variable should be applied to, accounting for pruning.
Given a local meta-variable, return the type applied to the current context.
Is it a local meta-variable that might be generalized?
Check whether all metas are instantiated. Precondition: argument is a meta (in some form) or a list of metas.
Methods
isInstantiatedMeta :: (MonadFail m, ReadTCState m) => a -> m Bool
Instances8IsInstantiatedMeta, …
IsInstantiatedMeta MetaIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsIsInstantiatedMeta LevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsIsInstantiatedMeta PlusLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsIsInstantiatedMeta TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsIsInstantiatedMeta a => IsInstantiatedMeta (Arg a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsIsInstantiatedMeta a => IsInstantiatedMeta (Abs a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsDoes not worry about raising.
IsInstantiatedMeta a => IsInstantiatedMeta (Maybe a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsIsInstantiatedMeta a => IsInstantiatedMeta [a]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVars
Returns all metavariables in a constraint. Slightly complicated by the fact that blocked terms are represented by two meta variables. To find the second one we need to look up the meta listeners for the one in the UnBlock constraint. This is used for the purpose of deciding if a metavariable is constrained or if it can be generalized over (see Agda.TypeChecking.Generalize).
Get the listeners for a local meta-variable.
Create MetaInfo in the current environment.
Change the ArgInfo that will be used when generalizing over this local meta-variable.
Find an interaction point by Range by searching the whole map. Issue 3000: Don't consider solved interaction points.
O(n): linear in the number of registered interaction points.
Hook up a local meta-variable to an interaction point.
Mark an interaction point as solved.
Get a list of interaction ids.
Get all metas that correspond to unsolved interaction ids.
Get all metas that correspond to unsolved interaction ids.
Get the information associated to an interaction point.
Get MetaId for an interaction point. Precondition: interaction point is connected.
Check whether an interaction id is already associated with a meta variable.
Generate new meta variable.
Generate a new meta variable with some instantiation given. For instance, the instantiation could be a PostponedTypeCheckingProblem.
listenToMeta l m: register l as a listener to m. This is done
when the type of l is blocked by m.
Unregister a listener.
Do safe eta-expansions for meta (SingletonRecords,Levels).
Eta expand metavariables listening on the current meta.
Wake up a meta listener and let it do its thing
Freeze the given meta-variables (but only if they are open) and return those that were not already frozen.
Thaw all open meta variables.
Unfreeze a meta and its type if this is a meta again. Does not unfreeze deep occurrences of meta-variables or remote meta-variables.
Methods
unfreezeMeta :: MonadMetaSolver m => a -> m ()
Instances8UnFreezeMeta, …
UnFreezeMeta MetaIdDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta LevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta PlusLevelDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta SortDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta TermDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta TypeDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta a => UnFreezeMeta (Abs a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVarsUnFreezeMeta a => UnFreezeMeta [a]Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.MetaVars
The result and associated parameters of a type-checked file, when invoked directly via interaction or a backend. Note that the constructor is not exported.
Flattened unidirectional pattern for CheckResult for destructuring inside the ModuleInfo field.
Ask the active backend whether a type may be erased. See issue #3732.
Call the compilerMain function of the given backend.
Look for a backend of the given name.
Get the currently active backend (if any).