Agda-2.8.0: A dependently typed functional programming language and proof assistant

Safe Haskell | None
Language | Haskell2010

Agda.TypeChecking.Monad.Base

Contents

- Orphan instances

Synopsis

- pattern Constructor :: Int -> Int -> ConHead -> QName -> IsAbstract -> CompKit -> Maybe [QName] -> [IsForced] -> Maybe [Bool] -> Bool -> Bool -> Defn
- pattern Datatype :: Nat -> Nat -> Maybe Clause -> [QName] -> Sort -> Maybe [QName] -> IsAbstract -> [QName] -> Maybe QName -> Maybe QName -> Defn
- data Constraint
  - = ValueCmp Comparison CompareAs Term Term
  - | ValueCmpOnFace Comparison Term Type Term Term
  - | ElimCmp [Polarity] [IsForced] Type Term [Elim] [Elim]
  - | SortCmp Comparison Sort Sort
  - | LevelCmp Comparison Level Level
  - | HasBiggerSort Sort
  - | HasPTSRule (Dom Type) (Abs Sort)
  - | CheckDataSort QName Sort
  - | CheckMetaInst MetaId
  - | CheckType Type
  - | UnBlock MetaId
  - | IsEmpty Range Type
  - | CheckSizeLtSat Term
  - | FindInstance Range MetaId (Maybe [Candidate])
  - | ResolveInstanceHead QName
  - | CheckFunDef DefInfo QName [Clause] TCErr
  - | UnquoteTactic Term Term Type
  - | CheckLockedVars Term Type (Arg Term) Type
  - | UsableAtModality WhyCheckModality (Maybe Sort) Modality Term
- typeError :: (HasCallStack, MonadTCError m) => TypeError -> m a
- data TypeError
  - = InternalError String
  - | NotImplemented String
  - | NotSupported String
  - | CompilationError String
  - | SyntaxError String
  - | OptionError OptionError
  - | NicifierError DeclarationException'
  - | DoNotationError String
  - | IdiomBracketError String
  - | NoKnownRecordWithSuchFields [Name]
  - | ShouldEndInApplicationOfTheDatatype Type
  - | ConstructorPatternInWrongDatatype QName QName
  - | CantResolveOverloadedConstructorsTargetingSameDatatype QName (List1 QName)
  - | ConstructorDoesNotTargetGivenType QName Type
  - | InvalidDottedExpression
  - | LiteralTooBig
  - | NegativeLiteralInPattern
  - | WrongHidingInLHS
  - | WrongHidingInLambda Type
  - | WrongHidingInApplication Type
  - | WrongHidingInProjection QName
  - | IllegalHidingInPostfixProjection (NamedArg Expr)
  - | WrongNamedArgument (NamedArg Expr) (List1 NamedName)
  - | WrongAnnotationInLambda
  - | WrongIrrelevanceInLambda
  - | WrongQuantityInLambda
  - | WrongCohesionInLambda
  - | WrongPolarityInLambda
  - | QuantityMismatch Quantity Quantity
  - | HidingMismatch Hiding Hiding
  - | RelevanceMismatch Relevance Relevance
  - | ForcedConstructorNotInstantiated Pattern
  - | IllformedProjectionPatternAbstract Pattern
  - | IllformedProjectionPatternConcrete Pattern
  - | CannotEliminateWithPattern (Maybe Blocker) (NamedArg Pattern) Type
  - | CannotEliminateWithProjection (Arg Type) Bool QName
  - | WrongNumberOfConstructorArguments QName Nat Nat
  - | ShouldBeEmpty Type [DeBruijnPattern]
  - | ShouldBeASort Type
  - | ShouldBePi Type
  - | ShouldBePath Type
  - | ShouldBeRecordType Type
  - | ShouldBeRecordPattern DeBruijnPattern
  - | CannotApply Expr Type
  - | InvalidTypeSort Sort
  - | SplitOnCoinductive
  - | SplitOnIrrelevant (Dom Type)
  - | SplitOnUnusableCohesion (Dom Type)
  - | SplitOnUnusablePolarity (Dom Type)
  - | SplitOnNonVariable Term Type
  - | SplitOnNonEtaRecord QName
  - | SplitOnAbstract QName
  - | SplitOnUnchecked QName
  - | SplitOnPartial (Dom Type)
  - | SplitInProp DataOrRecordE
  - | DefinitionIsIrrelevant QName
  - | DefinitionIsErased QName
  - | ProjectionIsIrrelevant QName
  - | VariableIsIrrelevant Name
  - | VariableIsErased Name
  - | VariableIsOfUnusableCohesion Name Cohesion
  - | LambdaIsErased
  - | RecordIsErased
  - | InvalidModalTelescopeUse Term Modality Modality Definition
  - | VariableIsOfUnusablePolarity Name PolarityModality
  - | UnequalLevel Comparison Level Level
  - | UnequalTerms Comparison Term Term CompareAs
  - | UnequalRelevance Comparison Term Term
  - | UnequalQuantity Comparison Term Term
  - | UnequalCohesion Comparison Term Term
  - | UnequalPolarity Comparison Term Term
  - | UnequalFiniteness Comparison Term Term
  - | UnequalHiding Term Term
  - | UnequalSorts Sort Sort
  - | NotLeqSort Sort Sort
  - | MetaCannotDependOn MetaId Term Nat
  - | MetaIrrelevantSolution MetaId Term
  - | MetaErasedSolution MetaId Term
  - | GenericError String
  - | GenericDocError Doc
  - | SortOfSplitVarError (Maybe Blocker) Doc
  - | WrongSharpArity QName
  - | BuiltinMustBeConstructor BuiltinId Expr
  - | BuiltinMustBeData BuiltinId Int
  - | BuiltinMustBeDef BuiltinId
  - | BuiltinMustBeFunction BuiltinId
  - | BuiltinMustBePostulate BuiltinId
  - | NoSuchBuiltinName String
  - | InvalidBuiltin String
  - | DuplicateBuiltinBinding BuiltinId Term Term
  - | NoBindingForBuiltin BuiltinId
  - | NoBindingForPrimitive PrimitiveId
  - | NoSuchPrimitiveFunction String
  - | DuplicatePrimitiveBinding PrimitiveId QName QName
  - | WrongArgInfoForPrimitive PrimitiveId ArgInfo ArgInfo
  - | ShadowedModule Name (List1 ModuleName)
  - | BuiltinInParameterisedModule BuiltinId
  - | IllegalDeclarationInDataDefinition (List1 Declaration)
  - | IllegalLetInTelescope TypedBinding
  - | IllegalPatternInTelescope Binder
  - | AbsentRHSRequiresAbsurdPattern
  - | TooManyFields QName [Name] (List1 Name)
  - | DuplicateFields (List1 Name)
  - | DuplicateConstructors (List1 Name)
  - | DuplicateOverlapPragma QName OverlapMode OverlapMode
  - | WithOnFreeVariable Expr Term
  - | UnexpectedWithPatterns (List1 Pattern)
  - | WithClausePatternMismatch Pattern (NamedArg DeBruijnPattern)
  - | IllTypedPatternAfterWithAbstraction Pattern
  - | TooFewPatternsInWithClause
  - | TooManyPatternsInWithClause
  - | PathAbstractionFailed (Abs Type)
  - | FieldOutsideRecord
  - | ModuleArityMismatch ModuleName Telescope (Either (List1 (NamedArg Expr)) Args)
  - | GeneralizeCyclicDependency
  - | ReferencesFutureVariables Term (List1 Int) (Arg Term) Int
  - | DoesNotMentionTicks Term Type (Arg Term)
  - | MismatchedProjectionsError QName QName
  - | AttributeKindNotEnabled String String String
  - | InvalidProjectionParameter (NamedArg Expr)
  - | TacticAttributeNotAllowed
  - | CannotRewriteByNonEquation Type
  - | MacroResultTypeMismatch Type
  - | NamedWhereModuleInRefinedContext [Term] [String]
  - | ComatchingDisabledForRecord QName
  - | IncorrectTypeForRewriteRelation Term IncorrectTypeForRewriteRelationReason
  - | CannotGenerateHCompClause Type
  - | CannotGenerateTransportClause QName (Closure (Abs Type))
  - | CubicalNotErasure QName
  - | CubicalPrimitiveNotFullyApplied QName
  - | ExpectedIntervalLiteral Expr
  - | FaceConstraintDisjunction
  - | FaceConstraintUnsatisfiable
  - | PatternInPathLambda
  - | PatternInSystem
  - | UnexpectedParameter LamBinding
  - | NoParameterOfName ArgName
  - | UnexpectedModalityAnnotationInParameter LamBinding
  - | ExpectedBindingForParameter (Dom Type) (Abs Type)
  - | UnexpectedTypeSignatureForParameter (List1 (NamedArg Binder))
  - | SortDoesNotAdmitDataDefinitions QName Sort
  - | SortCannotDependOnItsIndex QName Type
  - | UnusableAtModality WhyCheckModality Modality Term
  - | SplitError SplitError
  - | ImpossibleConstructor QName NegativeUnification
  - | DatatypeIndexPolarity
  - | RecursiveRecordNeedsInductivity QName
  - | CannotSolveSizeConstraints (List1 (ProblemConstraint, HypSizeConstraint)) Doc
  - | ContradictorySizeConstraint (ProblemConstraint, HypSizeConstraint)
  - | EmptyTypeOfSizes Term
  - | FunctionTypeInSizeUniv Term
  - | PostulatedSizeInModule
  - | LibraryError LibErrors
  - | LibTooFarDown TopLevelModuleName AgdaLibFile
  - | SolvedButOpenHoles
  - | CyclicModuleDependency (List2 TopLevelModuleName)
  - | FileNotFound TopLevelModuleName [AbsolutePath]
  - | OverlappingProjects AbsolutePath TopLevelModuleName TopLevelModuleName
  - | AmbiguousTopLevelModuleName TopLevelModuleName (List2 AbsolutePath)
  - | ModuleNameUnexpected TopLevelModuleName TopLevelModuleName
  - | ModuleNameDoesntMatchFileName TopLevelModuleName [AbsolutePath]
  - | ModuleDefinedInOtherFile TopLevelModuleName AbsolutePath AbsolutePath
  - | InvalidFileName AbsolutePath InvalidFileNameReason
  - | ModuleNameHashCollision RawTopLevelModuleName (Maybe RawTopLevelModuleName)
  - | BothWithAndRHS
  - | AbstractConstructorNotInScope QName
  - | CopatternHeadNotProjection QName
  - | NotAllowedInDotPatterns NotAllowedInDotPatterns
  - | NotInScope QName
  - | NoSuchModule QName
  - | AmbiguousName QName AmbiguousNameReason
  - | AmbiguousModule QName (List1 ModuleName)
  - | AmbiguousField Name (List2 ModuleName)
  - | AmbiguousConstructor QName (List2 QName)
  - | ClashingDefinition QName QName (Maybe NiceDeclaration)
  - | ClashingModule ModuleName ModuleName
  - | DefinitionInDifferentModule QName
  - | DuplicateImports QName (List1 ImportedName)
  - | InvalidPattern Pattern
  - | InvalidPun ConstructorOrPatternSynonym QName
  - | RepeatedNamesInImportDirective (List1 (List2 ImportedName))
  - | RepeatedVariablesInPattern (List1 Name)
  - | GeneralizeNotSupportedHere QName
  - | GeneralizedVarInLetOpenedModule QName
  - | MultipleFixityDecls (List1 (Name, Pair Fixity'))
  - | MultiplePolarityPragmas (List1 Name)
  - | ExplicitPolarityVsPragma QName
  - | ConstructorNameOfNonRecord ResolvedName
  - | CannotQuote CannotQuote
  - | CannotQuoteTerm CannotQuoteTerm
  - | DeclarationsAfterTopLevelModule
  - | IllegalDeclarationBeforeTopLevelModule
  - | MissingTypeSignature MissingTypeSignatureInfo
  - | NotAnExpression Expr
  - | NotAValidLetBinding (Maybe NotAValidLetBinding)
  - | NotAValidLetExpression NotAValidLetExpression
  - | NotValidBeforeField NiceDeclaration
  - | PrivateRecordField
  - | QualifiedLocalModule
  - | AsPatternInPatternSynonym
  - | DotPatternInPatternSynonym
  - | BadArgumentsToPatternSynonym AmbiguousQName
  - | TooFewArgumentsToPatternSynonym AmbiguousQName
  - | CannotResolveAmbiguousPatternSynonym (List1 (QName, PatternSynDefn))
  - | IllegalInstanceVariableInPatternSynonym Name
  - | PatternSynonymArgumentShadows ConstructorOrPatternSynonym Name (List1 AbstractName)
  - | UnusedVariableInPatternSynonym Name
  - | UnboundVariablesInPatternSynonym (List1 Name)
  - | NoParseForApplication (List2 Expr)
  - | AmbiguousParseForApplication (List2 Expr) (List1 Expr)
  - | NoParseForLHS LHSOrPatSyn [Pattern] Pattern
  - | AmbiguousParseForLHS LHSOrPatSyn Pattern (List2 Pattern)
  - | AmbiguousProjection QName (List1 QName)
  - | AmbiguousOverloadedProjection (List1 QName) Doc
  - | OperatorInformation [NotationSection] TypeError
  - | InstanceNoCandidate Type [(Term, TCErr)]
  - | ExecError ExecError
  - | UnquoteFailed UnquoteError
  - | DeBruijnIndexOutOfScope Nat Telescope [Name]
  - | NeedOptionAllowExec
  - | NeedOptionCopatterns
  - | NeedOptionCubical Cubical String
  - | NeedOptionPatternMatching
  - | NeedOptionProp
  - | NeedOptionRewriting
  - | NeedOptionSizedTypes String
  - | NeedOptionTwoLevel
  - | NeedOptionUniversePolymorphism
  - | NonFatalErrors (Set1 TCWarning)
  - | InstanceSearchDepthExhausted Term Type Int
  - | TriedToCopyConstrainedPrim QName
  - | InvalidInstanceHeadType Type WhyInvalidInstanceType
  - | InteractionError InteractionError
  - | BackendDoesNotSupportOnlyScopeChecking BackendName
  - | CubicalCompilationNotSupported Cubical
  - | CustomBackendError BackendName Doc
  - | GHCBackendError GHCBackendError
  - | JSBackendError JSBackendError
  - | UnknownBackend BackendName (Set BackendName)
- data TCErr
  - = TypeError {
    - tcErrLocation :: CallStack
    - tcErrState :: TCState
    - tcErrClosErr :: Closure TypeError
    }
  - | ParserError ParseError
  - | GenericException String
  - | IOException (Maybe TCState) Range IOException
  - | PatternErr Blocker
- type Backend = Backend_boot Definition TCM
- data Builtin pf
  - = Builtin Term
  - | Prim pf
  - | BuiltinRewriteRelations (Set QName)
- data ModuleInfo = ModuleInfo {
  - miInterface :: Interface
  - miWarnings :: Set TCWarning
  - miPrimitive :: Bool
  - miMode :: ModuleCheckMode
  }
- data System = System {
  - systemTel :: Telescope
  - systemClauses :: [(Face, Term)]
  }
- 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 -> Defn
- type TCM = TCMT IO
- newtype TCMT (m :: Type -> Type) a = TCM {
  - unTCM :: IORef TCState -> TCEnv -> m a
  }
- type Backend' opts env menv mod def = Backend'_boot Definition TCM opts env menv mod def
- data TypeCheckAction
  - = EnterSection !Erased !ModuleName !Telescope
  - | LeaveSection !ModuleName
  - | Decl !Declaration
  - | Pragmas !PragmaOptions
- pattern Primitive :: IsAbstract -> PrimitiveId -> [Clause] -> FunctionInverse -> Maybe CompiledClauses -> IsOpaque -> Defn
- newtype ReduceM a = ReduceM {
  - unReduceM :: ReduceEnv -> a
  }
- runReduceM :: ReduceM a -> TCM a
- data Open a = OpenThing {
  - openThingCheckpoint :: CheckpointId
  - openThingCheckpointMap :: Map CheckpointId Substitution
  - openThingModule :: ModuleNameHash
  - openThing :: a
  }
- data MetaInfo = MetaInfo {
  - miClosRange :: Closure Range
  - miModality :: Modality
  - miMetaOccursCheck :: RunMetaOccursCheck
  - miNameSuggestion :: MetaNameSuggestion
  - miGeneralizable :: Arg DoGeneralize
  }
- type Constraints = [ProblemConstraint]
- data WarningsAndNonFatalErrors = WarningsAndNonFatalErrors {
  - tcWarnings :: Set TCWarning
  - nonFatalErrors :: Set TCWarning
  }
- data Warning
  - = NicifierIssue DeclarationWarning
  - | TerminationIssue (List1 TerminationError)
  - | UnreachableClauses QName (List1 Range)
  - | CoverageIssue QName (List1 (Telescope, [NamedArg DeBruijnPattern]))
  - | CoverageNoExactSplit QName (List1 Clause)
  - | InlineNoExactSplit QName Clause
  - | NotStrictlyPositive QName (Seq OccursWhere)
  - | ConstructorDoesNotFitInData DataOrRecord_ QName Sort Sort TCErr
  - | CoinductiveEtaRecord QName
  - | UnsolvedMetaVariables (Set1 Range)
  - | UnsolvedInteractionMetas (Set1 Range)
  - | UnsolvedConstraints (List1 ProblemConstraint)
  - | InteractionMetaBoundaries (Set1 Range)
  - | CantGeneralizeOverSorts (Set1 MetaId)
  - | AbsurdPatternRequiresAbsentRHS
  - | OldBuiltin BuiltinId BuiltinId
  - | BuiltinDeclaresIdentifier BuiltinId
  - | DuplicateRecordDirective RecordDirective
  - | EmptyRewritePragma
  - | EmptyWhere
  - | FixingRelevance String Relevance Relevance
  - | FixingCohesion String Cohesion Cohesion
  - | FixingPolarity String PolarityModality PolarityModality
  - | IllformedAsClause String
  - | InvalidCharacterLiteral Char
  - | ClashesViaRenaming NameOrModule (Set1 Name)
  - | UselessPatternDeclarationForRecord String
  - | UselessPragma Range Doc
  - | UselessPublic UselessPublicReason
  - | UselessHiding (List1 ImportedName)
  - | UselessInline QName
  - | UselessTactic
  - | WrongInstanceDeclaration
  - | InstanceWithExplicitArg QName
  - | InstanceNoOutputTypeName Doc
  - | InstanceArgWithExplicitArg Doc
  - | InversionDepthReached QName
  - | SafeFlagPostulate QName
  - | SafeFlagPragma (Set String)
  - | SafeFlagWithoutKFlagPrimEraseEquality
  - | WithoutKFlagPrimEraseEquality
  - | ConflictingPragmaOptions String String
  - | OptionWarning OptionWarning
  - | ParseWarning ParseWarning
  - | LibraryWarning LibWarning
  - | DeprecationWarning String String String
  - | UserWarning Text
  - | DuplicateUsing (List1 ImportedName)
  - | FixityInRenamingModule (List1 Range)
  - | ModuleDoesntExport QName [Name] [Name] (List1 ImportedName)
  - | InfectiveImport Doc
  - | CoInfectiveImport Doc
  - | ConfluenceCheckingIncompleteBecauseOfMeta QName
  - | ConfluenceForCubicalNotSupported
  - | NotARewriteRule QName IsAmbiguous
  - | IllegalRewriteRule QName IllegalRewriteRuleReason
  - | RewriteNonConfluent Term Term Term Doc
  - | RewriteMaybeNonConfluent Term Term [Doc]
  - | RewriteAmbiguousRules Term Term Term
  - | RewriteMissingRule Term Term Term
  - | PragmaCompileErased BackendName QName
  - | PragmaCompileList
  - | PragmaCompileMaybe
  - | PragmaCompileUnparsable String
  - | PragmaCompileWrong QName String
  - | PragmaCompileWrongName QName IsAmbiguous
  - | PragmaExpectsDefinedSymbol String QName
  - | PragmaExpectsUnambiguousConstructorOrFunction String QName IsAmbiguous
  - | PragmaExpectsUnambiguousProjectionOrFunction String QName IsAmbiguous
  - | NoMain TopLevelModuleName
  - | NotInScopeW QName
  - | UnsupportedIndexedMatch Doc
  - | AsPatternShadowsConstructorOrPatternSynonym ConstructorOrPatternSynonym
  - | PatternShadowsConstructor Name QName
  - | PlentyInHardCompileTimeMode QωOrigin
  - | RecordFieldWarning RecordFieldWarning
  - | MissingTypeSignatureForOpaque QName IsOpaque
  - | NotAffectedByOpaque
  - | UnfoldingWrongName QName
  - | UnfoldTransparentName QName
  - | UselessOpaque
  - | HiddenNotInArgumentPosition Expr
  - | InstanceNotInArgumentPosition Expr
  - | MacroInLetBindings
  - | AbstractInLetBindings
  - | InvalidDisplayForm QName String
  - | UnusedVariablesInDisplayForm (List1 Name)
  - | TooManyArgumentsToSort QName (List1 (NamedArg Expr))
  - | RewritesNothing
  - | WithClauseProjectionFixityMismatch {
    - withClausePattern :: NamedArg Pattern
    - withClauseProjectionOrigin :: ProjOrigin
    - parentPattern :: NamedArg DeBruijnPattern
    - parentProjectionOrigin :: ProjOrigin
    }
  - | TooManyPolarities QName PragmaPolarities
  - | TopLevelPolarity QName PolarityModality
  - | FaceConstraintCannotBeHidden ArgInfo
  - | FaceConstraintCannotBeNamed NamedName
  - | CustomBackendWarning String Doc
- class Monad m => MonadTCState (m :: Type -> Type) where
  - getTC :: m TCState
  - putTC :: TCState -> m ()
  - modifyTC :: (TCState -> TCState) -> m ()
- data TCState = TCSt {
  - stPersistentState :: !PersistentTCState
  - stPreScopeState :: !PreScopeState
  - stPostScopeState :: !PostScopeState
  }
- data Signature = Sig {
  - _sigSections :: Sections
  - _sigDefinitions :: Definitions
  - _sigRewriteRules :: RewriteRuleMap
  - _sigInstances :: InstanceTable
  }
- data TCWarning = TCWarning {
  - tcWarningLocation :: CallStack
  - tcWarningRange :: Range
  - tcWarning :: Warning
  - tcWarningDoc :: Doc
  - tcWarningString :: String
  - tcWarningCached :: Bool
  }
- data Definition = Defn {
  - defArgInfo :: ArgInfo
  - defName :: QName
  - defType :: Type
  - defPolarity :: [Polarity]
  - defArgOccurrences :: [Occurrence]
  - defGeneralizedParams :: [Maybe Name]
  - defDisplay :: [LocalDisplayForm]
  - defMutual :: MutualId
  - defCompiledRep :: CompiledRepresentation
  - defInstance :: Maybe InstanceInfo
  - defCopy :: Bool
  - defMatchable :: Set QName
  - defNoCompilation :: Bool
  - defInjective :: Bool
  - defCopatternLHS :: Bool
  - defBlocked :: Blocked_
  - defLanguage :: !Language
  - theDef :: Defn
  }
- data Interface = Interface {
  - iSourceHash :: !Hash
  - iSource :: Text
  - iFileType :: FileType
  - iImportedModules :: [(TopLevelModuleName, Hash)]
  - iModuleName :: ModuleName
  - iTopLevelModuleName :: TopLevelModuleName
  - iScope :: Map ModuleName Scope
  - iInsideScope :: ScopeInfo
  - iSignature :: Signature
  - iMetaBindings :: RemoteMetaStore
  - iDisplayForms :: DisplayForms
  - iUserWarnings :: UserWarnings
  - iImportWarning :: Maybe Text
  - iBuiltin :: BuiltinThings' (PrimitiveId, QName)
  - iForeignCode :: Map BackendName ForeignCodeStack
  - iHighlighting :: HighlightingInfo
  - iDefaultPragmaOptions :: [OptionsPragma]
  - iFilePragmaOptions :: [OptionsPragma]
  - iOptionsUsed :: PragmaOptions
  - iPatternSyns :: PatternSynDefns
  - iWarnings :: Set TCWarning
  - iPartialDefs :: Set QName
  - iOpaqueBlocks :: Map OpaqueId OpaqueBlock
  - iOpaqueNames :: Map QName OpaqueId
  }
- type MonadTCError (m :: Type -> Type) = (MonadTCEnv m, ReadTCState m, MonadError TCErr m)
- class Monad m => ReadTCState (m :: Type -> Type) where
  - getTCState :: m TCState
  - locallyTCState :: Lens' TCState a -> (a -> a) -> m b -> m b
  - withTCState :: (TCState -> TCState) -> m a -> m a
- class (Applicative tcm, MonadIO tcm, MonadTCEnv tcm, MonadTCState tcm, HasOptions tcm) => MonadTCM (tcm :: Type -> Type) where
  - liftTCM :: TCM a -> tcm a
- internalError :: (HasCallStack, MonadTCError m) => String -> m a
- srcFilePath :: MonadFileId m => SourceFile -> m AbsolutePath
- topLevelModuleFilePath :: ModuleToSource -> TopLevelModuleName -> AbsolutePath
- pattern Record :: Nat -> Maybe Clause -> ConHead -> Bool -> [Dom QName] -> Telescope -> Maybe [QName] -> EtaEquality -> PatternOrCopattern -> Maybe Induction -> Maybe Bool -> IsAbstract -> CompKit -> Defn
- type Definitions = HashMap QName Definition
- stModuleToSourceId :: Lens' TCState ModuleToSourceId
- useTC :: ReadTCState m => Lens' TCState a -> m a
- type InteractionOutputCallback = Response_boot TCErr TCWarning WarningsAndNonFatalErrors -> TCM ()
- defaultInteractionOutputCallback :: InteractionOutputCallback
- class Monad m => MonadTCEnv (m :: Type -> Type) where
  - askTC :: m TCEnv
  - localTC :: (TCEnv -> TCEnv) -> m a -> m a
- mapTCMT :: (forall a1. m a1 -> n a1) -> TCMT m a -> TCMT n a
- type UsedNames = Map RawName (Set1 RawName)
- data LHSOrPatSyn
  - = IsLHS
  - | IsPatSyn
- initState :: AbsolutePath -> TCState
- data Call
  - = CheckClause Type SpineClause
  - | CheckLHS SpineLHS
  - | CheckPattern Pattern Telescope Type
  - | CheckPatternLinearityType Name
  - | CheckPatternLinearityValue Name
  - | CheckLetBinding LetBinding
  - | InferExpr Expr
  - | CheckExprCall Comparison Expr Type
  - | CheckDotPattern Expr Term
  - | CheckProjection Range QName Type
  - | IsTypeCall Comparison Expr Sort
  - | IsType_ Expr
  - | InferVar Name
  - | InferDef QName
  - | CheckArguments Expr [NamedArg Expr] Type (Maybe Type)
  - | CheckMetaSolution Range MetaId Type Term
  - | CheckTargetType Range Type Type
  - | CheckDataDef Range QName [LamBinding] [Constructor]
  - | CheckRecDef Range QName [LamBinding] [Constructor]
  - | CheckConstructor QName Telescope Sort Constructor
  - | CheckConArgFitsIn QName Bool Type Sort
  - | CheckFunDefCall Range QName [Clause] Bool
  - | CheckPragma Range Pragma
  - | CheckPrimitive Range QName Expr
  - | CheckIsEmpty Range Type
  - | CheckConfluence QName QName
  - | CheckModuleParameters ModuleName Telescope
  - | CheckWithFunctionType Type
  - | CheckSectionApplication Range Erased ModuleName ModuleApplication
  - | CheckNamedWhere ModuleName
  - | CheckIApplyConfluence Range QName Term Term Term Type
  - | ScopeCheckExpr Expr
  - | ScopeCheckDeclaration NiceDeclaration
  - | ScopeCheckLHS QName Pattern
  - | NoHighlighting
  - | ModuleContents
  - | SetRange Range
- data DisplayForm = Display {
  - dfPatternVars :: Nat
  - dfPats :: Elims
  - dfRHS :: DisplayTerm
  }
- data Closure a = Closure {
  - clSignature :: Signature
  - clEnv :: TCEnv
  - clScope :: ScopeInfo
  - clModuleCheckpoints :: Map ModuleName CheckpointId
  - clValue :: a
  }
- class (Applicative m, MonadTCEnv m, ReadTCState m, HasOptions m) => MonadReduce (m :: Type -> Type) where
  - liftReduce :: ReduceM a -> m a
- type Statistics = Map String Integer
- askR :: ReduceM ReduceEnv
- defAbstract :: Definition -> IsAbstract
- data CompilerPragma = CompilerPragma Range String
- data TCEnv = TCEnv {
  - envContext :: Context
  - envLetBindings :: LetBindings
  - envCurrentModule :: ModuleName
  - envCurrentPath :: Maybe FileId
  - envAnonymousModules :: [(ModuleName, Nat)]
  - envImportPath :: [TopLevelModuleName]
  - envMutualBlock :: Maybe MutualId
  - envTerminationCheck :: TerminationCheck ()
  - envCoverageCheck :: CoverageCheck
  - envMakeCase :: Bool
  - envSolvingConstraints :: Bool
  - envCheckingWhere :: WhereClause_
  - envWorkingOnTypes :: Bool
  - envAssignMetas :: Bool
  - envActiveProblems :: Set ProblemId
  - envUnquoteProblem :: Maybe ProblemId
  - envAbstractMode :: AbstractMode
  - envRelevance :: Relevance
  - envQuantity :: Quantity
  - envHardCompileTimeMode :: Bool
  - envSplitOnStrict :: Bool
  - envDisplayFormsEnabled :: Bool
  - envFoldLetBindings :: Bool
  - envRange :: Range
  - envHighlightingRange :: Range
  - envClause :: IPClause
  - envCall :: Maybe (Closure Call)
  - envHighlightingLevel :: HighlightingLevel
  - envHighlightingMethod :: HighlightingMethod
  - envExpandLast :: ExpandHidden
  - envAppDef :: Maybe QName
  - envSimplification :: Simplification
  - envAllowedReductions :: AllowedReductions
  - envReduceDefs :: ReduceDefs
  - envReconstructed :: Bool
  - envInjectivityDepth :: Int
  - envCompareBlocked :: Bool
  - envPrintDomainFreePi :: Bool
  - envPrintMetasBare :: Bool
  - envInsideDotPattern :: Bool
  - envUnquoteFlags :: UnquoteFlags
  - envInstanceDepth :: !Int
  - envIsDebugPrinting :: Bool
  - envPrintingPatternLambdas :: [QName]
  - envCallByNeed :: Bool
  - envCurrentCheckpoint :: CheckpointId
  - envCheckpoints :: Map CheckpointId Substitution
  - envGeneralizeMetas :: DoGeneralize
  - envGeneralizedVars :: Map QName GeneralizedValue
  - envActiveBackendName :: Maybe BackendName
  - envConflComputingOverlap :: Bool
  - envCurrentlyElaborating :: Bool
  - envSyntacticEqualityFuel :: !(Maybe Int)
  - envCurrentOpaqueId :: !(Maybe OpaqueId)
  - envTermCheckReducing :: Bool
  }
- type RewriteRules = [RewriteRule]
- data PrimFun = PrimFun {
  - primFunName :: QName
  - primFunArity :: Arity
  - primFunArgOccurrences :: [Occurrence]
  - primFunImplementation :: [Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)
  }
- data RunMetaOccursCheck
  - = RunMetaOccursCheck
  - | DontRunMetaOccursCheck
- data CompareAs
  - = AsTermsOf Type
  - | AsSizes
  - | AsTypes
- data CompareDirection
  - = DirEq
  - | DirLeq
  - | DirGeq
- data MetaVariable = MetaVar {
  - mvInfo :: MetaInfo
  - mvPriority :: MetaPriority
  - mvPermutation :: Permutation
  - mvJudgement :: Judgement MetaId
  - mvInstantiation :: MetaInstantiation
  - mvListeners :: Set Listener
  - mvFrozen :: Frozen
  - mvTwin :: Maybe MetaId
  }
- data InstanceInfo = InstanceInfo {
  - instanceClass :: QName
  - instanceOverlap :: OverlapMode
  }
- class Monad m => MonadBlock (m :: Type -> Type) where
  - patternViolation :: Blocker -> m a
  - catchPatternErr :: (Blocker -> m a) -> m a -> m a
- data Reduced no yes
  - = NoReduction no
  - | YesReduction Simplification yes
- data IsReduced
  - = NotReduced
  - | Reduced (Blocked ())
- data ProblemConstraint = PConstr {
  - constraintProblems :: Set ProblemId
  - constraintUnblocker :: Blocker
  - theConstraint :: Closure Constraint
  }
- data NLPat
  - = PVar !Int [Arg Int]
  - | PDef QName PElims
  - | PLam ArgInfo (Abs NLPat)
  - | PPi (Dom NLPType) (Abs NLPType)
  - | PSort NLPSort
  - | PBoundVar !Int PElims
  - | PTerm Term
- data UnquoteError
  - = BlockedOnMeta TCState Blocker
  - | CannotDeclareHiddenFunction QName
  - | CommitAfterDef
  - | ConInsteadOfDef QName String String
  - | DefineDataNotData QName
  - | DefInsteadOfCon QName String String
  - | MissingDeclaration QName
  - | MissingDefinition QName
  - | NakedUnquote
  - | NonCanonical String Term
  - | PatLamWithoutClauses Term
  - | StaleMeta TopLevelModuleName MetaId
  - | TooManyParameters Nat Expr
  - | UnboundName QName
- data SplitError
  - = NotADatatype (Closure Type)
  - | BlockedType Blocker (Closure Type)
  - | ErasedDatatype ErasedDatatypeReason (Closure Type)
  - | CoinductiveDatatype (Closure Type)
  - | UnificationStuck {
    - cantSplitBlocker :: Maybe Blocker
    - cantSplitConName :: QName
    - cantSplitTel :: Telescope
    - cantSplitConIdx :: Args
    - cantSplitGivenIdx :: Args
    - cantSplitFailures :: [UnificationFailure]
    }
  - | CosplitCatchall
  - | CosplitNoTarget
  - | CosplitNoRecordType (Closure Type)
  - | CannotCreateMissingClause QName (Telescope, [NamedArg DeBruijnPattern]) Doc (Closure (Abs Type))
  - | GenericSplitError String
- pattern Axiom :: Bool -> Defn
- defOpaque :: Definition -> IsOpaque
- class Monad m => MonadFresh i (m :: Type -> Type) where
  - fresh :: m i
- newtype Fields = Fields [(Name, Type)]
- data LetBinding = LetBinding {
  - letOrigin :: Origin
  - letTerm :: Term
  - letType :: Dom Type
  }
- newtype Section = Section {
  - _secTelescope :: Telescope
  }
- data PersistentTCState = PersistentTCSt {
  - stPersistentSession :: !SessionTCState
  - stDecodedModules :: !DecodedModules
  - stPersistentTopLevelModuleNames :: !(BiMap RawTopLevelModuleName ModuleNameHash)
  - stPersistentOptions :: CommandLineOptions
  - stInteractionOutputCallback :: InteractionOutputCallback
  - stAccumStatistics :: !Statistics
  - stPersistLoadedFileCache :: !(Maybe LoadedFileCache)
  }
- data PreScopeState = PreScopeState {
  - stPreTokens :: !HighlightingInfo
  - stPreImports :: !Signature
  - stPreImportedModules :: !ImportedModules
  - stPreImportedModulesTransitive :: !ImportedModules
  - stPreModuleToSourceId :: !ModuleToSourceId
  - stPreVisitedModules :: !VisitedModules
  - stPreScope :: !ScopeInfo
  - stPrePatternSyns :: !PatternSynDefns
  - stPrePatternSynImports :: !PatternSynDefns
  - stPreGeneralizedVars :: !(Maybe (Set QName))
  - stPrePragmaOptions :: !PragmaOptions
  - stPreImportedBuiltins :: !BuiltinThings
  - stPreImportedDisplayForms :: !DisplayForms
  - stPreFreshInteractionId :: !InteractionId
  - stPreImportedUserWarnings :: !UserWarnings
  - stPreLocalUserWarnings :: !UserWarnings
  - stPreWarningOnImport :: !(Maybe Text)
  - stPreImportedPartialDefs :: !(Set QName)
  - stPreLibCache :: !LibCache
  - stPreImportedMetaStore :: !RemoteMetaStore
  - stPreCopiedNames :: !(HashMap QName QName)
  - stPreNameCopies :: !(HashMap QName (HashSet QName))
  }
- data PostScopeState = PostScopeState {
  - stPostSyntaxInfo :: !HighlightingInfo
  - stPostDisambiguatedNames :: !DisambiguatedNames
  - stPostOpenMetaStore :: !LocalMetaStore
  - stPostSolvedMetaStore :: !LocalMetaStore
  - stPostInteractionPoints :: !InteractionPoints
  - stPostAwakeConstraints :: !Constraints
  - stPostSleepingConstraints :: !Constraints
  - stPostDirty :: !Bool
  - stPostOccursCheckDefs :: !(Set QName)
  - stPostSignature :: !Signature
  - stPostModuleCheckpoints :: !(Map ModuleName CheckpointId)
  - stPostImportsDisplayForms :: !DisplayForms
  - stPostForeignCode :: !BackendForeignCode
  - stPostCurrentModule :: !(Maybe (ModuleName, TopLevelModuleName))
  - stPostPendingInstances :: !(Set QName)
  - stPostTemporaryInstances :: !(Set QName)
  - stPostConcreteNames :: !ConcreteNames
  - stPostUsedNames :: !UsedNames
  - stPostShadowingNames :: !ShadowingNames
  - stPostStatistics :: !Statistics
  - stPostTCWarnings :: !(Set TCWarning)
  - stPostMutualBlocks :: !MutualBlocks
  - stPostLocalBuiltins :: !BuiltinThings
  - stPostFreshMetaId :: !MetaId
  - stPostFreshMutualId :: !MutualId
  - stPostFreshProblemId :: !ProblemId
  - stPostFreshCheckpointId :: !CheckpointId
  - stPostFreshInt :: !Int
  - stPostFreshNameId :: !NameId
  - stPostFreshOpaqueId :: !OpaqueId
  - stPostAreWeCaching :: !Bool
  - stPostPostponeInstanceSearch :: !Bool
  - stPostConsideringInstance :: !Bool
  - stPostInstantiateBlocking :: !Bool
  - stPostLocalPartialDefs :: !(Set QName)
  - stPostOpaqueBlocks :: Map OpaqueId OpaqueBlock
  - stPostOpaqueIds :: Map QName OpaqueId
  - stPostInstanceHack :: !Bool
  }
- type BackendForeignCode = Map BackendName ForeignCodeStack
- newtype ForeignCodeStack = ForeignCodeStack {
  - getForeignCodeStack :: [ForeignCode]
  }
- type ImportedModules = Set TopLevelModuleName
- type UserWarnings = Map QName Text
- type VisitedModules = Map TopLevelModuleName ModuleInfo
- type BuiltinThings = BuiltinThings' PrimFun
- type DisplayForms = HashMap QName [LocalDisplayForm]
- type RemoteMetaStore = HashMap MetaId RemoteMetaVariable
- data DisambiguatedName = DisambiguatedName NameKind QName
- type DisambiguatedNames = IntMap DisambiguatedName
- type ConcreteNames = Map Name (List1 Name)
- type ShadowingNames = Map Name (Set1 RawName)
- type LocalMetaStore = Map MetaId MetaVariable
- type InteractionPoints = BiMap InteractionId InteractionPoint
- newtype CheckpointId = CheckpointId Int
- type MutualBlocks = IntMap MutualBlock
- newtype MutualId = MutualId Word32
- data OpaqueBlock = OpaqueBlock {
  - opaqueId :: !OpaqueId
  - opaqueUnfolding :: HashSet QName
  - opaqueDecls :: HashSet QName
  - opaqueParent :: Maybe OpaqueId
  - opaqueRange :: Range
  }
- data SessionTCState = SessionTCState {
  - stSessionBenchmark :: !Benchmark
  - stSessionBackends :: [Backend]
  - stSessionFileDict :: !FileDictWithBuiltins
  }
- type DecodedModules = Map TopLevelModuleName ModuleInfo
- data LoadedFileCache = LoadedFileCache {
  - lfcCached :: !CachedTypeCheckLog
  - lfcCurrent :: !CurrentTypeCheckLog
  }
- type CachedTypeCheckLog = [(TypeCheckAction, PostScopeState)]
- type CurrentTypeCheckLog = [(TypeCheckAction, PostScopeState)]
- initFileDict :: AbsolutePath -> FileDictWithBuiltins
- initSessionState :: AbsolutePath -> SessionTCState
- initPersistentState :: AbsolutePath -> PersistentTCState
- initPersistentStateFromSessionState :: SessionTCState -> PersistentTCState
- initialMetaId :: MetaId
- initPreScopeState :: PreScopeState
- emptySignature :: Signature
- initPostScopeState :: PostScopeState
- initStateIO :: IO TCState
- initStateFromSessionState :: SessionTCState -> TCState
- initStateFromPersistentState :: PersistentTCState -> TCState
- lensPersistentState :: Lens' TCState PersistentTCState
- lensPreScopeState :: Lens' TCState PreScopeState
- lensPostScopeState :: Lens' TCState PostScopeState
- lensSessionState :: Lens' TCState SessionTCState
- lensPersistentSession :: Lens' PersistentTCState SessionTCState
- lensBackends :: Lens' SessionTCState [Backend]
- lensBenchmark :: Lens' SessionTCState Benchmark
- lensFileDict :: Lens' SessionTCState FileDictWithBuiltins
- lensFileDictBuilder :: Lens' SessionTCState FileDictBuilder
- lensBuiltinModuleIds :: Lens' SessionTCState BuiltinModuleIds
- lensPrimitiveLibDir :: Lens' SessionTCState PrimitiveLibDir
- lensLoadedFileCache :: Lens' PersistentTCState (Maybe LoadedFileCache)
- lensTopLevelModuleNames :: Lens' PersistentTCState (BiMap RawTopLevelModuleName ModuleNameHash)
- lensPreTokens :: Lens' PreScopeState HighlightingInfo
- lensImports :: Lens' PreScopeState Signature
- lensImportedModules :: Lens' PreScopeState ImportedModules
- lensImportedModulesTransitive :: Lens' PreScopeState ImportedModules
- lensModuleToSourceId :: Lens' PreScopeState ModuleToSourceId
- lensVisitedModules :: Lens' PreScopeState VisitedModules
- lensScope :: Lens' PreScopeState ScopeInfo
- lensPatternSyns :: Lens' PreScopeState PatternSynDefns
- lensPatternSynImports :: Lens' PreScopeState PatternSynDefns
- lensGeneralizedVars :: Lens' PreScopeState (Maybe (Set QName))
- lensImportedBuiltins :: Lens' PreScopeState BuiltinThings
- lensFreshInteractionId :: Lens' PreScopeState InteractionId
- lensImportedUserWarnings :: Lens' PreScopeState UserWarnings
- lensLocalUserWarnings :: Lens' PreScopeState UserWarnings
- lensWarningOnImport :: Lens' PreScopeState (Maybe Text)
- lensImportedPartialDefs :: Lens' PreScopeState (Set QName)
- lensLibCache :: Lens' PreScopeState LibCache
- lensImportedMetaStore :: Lens' PreScopeState RemoteMetaStore
- lensCopiedNames :: Lens' PreScopeState (HashMap QName QName)
- lensNameCopies :: Lens' PreScopeState (HashMap QName (HashSet QName))
- lensForeignCode :: Lens' PostScopeState BackendForeignCode
- lensLocalPartialDefs :: Lens' PostScopeState (Set QName)
- lensFreshNameId :: Lens' PostScopeState NameId
- lensFreshOpaqueId :: Lens' PostScopeState OpaqueId
- lensOpaqueBlocks :: Lens' PostScopeState (Map OpaqueId OpaqueBlock)
- lensOpaqueIds :: Lens' PostScopeState (Map QName OpaqueId)
- lensSyntaxInfo :: Lens' PostScopeState HighlightingInfo
- lensDisambiguatedNames :: Lens' PostScopeState DisambiguatedNames
- lensOpenMetaStore :: Lens' PostScopeState LocalMetaStore
- lensSolvedMetaStore :: Lens' PostScopeState LocalMetaStore
- lensInteractionPoints :: Lens' PostScopeState InteractionPoints
- lensAwakeConstraints :: Lens' PostScopeState Constraints
- lensSleepingConstraints :: Lens' PostScopeState Constraints
- lensDirty :: Lens' PostScopeState Bool
- lensOccursCheckDefs :: Lens' PostScopeState (Set QName)
- lensSignature :: Lens' PostScopeState Signature
- lensModuleCheckpoints :: Lens' PostScopeState (Map ModuleName CheckpointId)
- lensImportsDisplayForms :: Lens' PostScopeState DisplayForms
- lensImportedDisplayForms :: Lens' PreScopeState DisplayForms
- lensTemporaryInstances :: Lens' PostScopeState (Set QName)
- lensConcreteNames :: Lens' PostScopeState ConcreteNames
- lensUsedNames :: Lens' PostScopeState UsedNames
- lensShadowingNames :: Lens' PostScopeState ShadowingNames
- lensStatistics :: Lens' PostScopeState Statistics
- lensTCWarnings :: Lens' PostScopeState (Set TCWarning)
- lensMutualBlocks :: Lens' PostScopeState MutualBlocks
- lensLocalBuiltins :: Lens' PostScopeState BuiltinThings
- lensFreshMetaId :: Lens' PostScopeState MetaId
- lensFreshMutualId :: Lens' PostScopeState MutualId
- lensFreshProblemId :: Lens' PostScopeState ProblemId
- lensFreshCheckpointId :: Lens' PostScopeState CheckpointId
- lensFreshInt :: Lens' PostScopeState Int
- lensAreWeCaching :: Lens' PostScopeState Bool
- lensPostponeInstanceSearch :: Lens' PostScopeState Bool
- lensConsideringInstance :: Lens' PostScopeState Bool
- lensInstantiateBlocking :: Lens' PostScopeState Bool
- lensInstanceHack :: Lens' PostScopeState Bool
- stBackends :: Lens' TCState [Backend]
- stBenchmark :: Lens' TCState Benchmark
- stFileDict :: Lens' TCState FileDictWithBuiltins
- stBuiltinModuleIds :: Lens' TCState BuiltinModuleIds
- stPrimitiveLibDir :: Lens' TCState PrimitiveLibDir
- stLoadedFileCache :: Lens' TCState (Maybe LoadedFileCache)
- stTopLevelModuleNames :: Lens' TCState (BiMap RawTopLevelModuleName ModuleNameHash)
- stTokens :: Lens' TCState HighlightingInfo
- stImports :: Lens' TCState Signature
- stImportedModules :: Lens' TCState ImportedModules
- stImportedModulesTransitive :: Lens' TCState ImportedModules
- stModuleToSource :: Lens' TCState ModuleToSource
- stVisitedModules :: Lens' TCState VisitedModules
- stScope :: Lens' TCState ScopeInfo
- stPatternSyns :: Lens' TCState PatternSynDefns
- stPatternSynImports :: Lens' TCState PatternSynDefns
- stGeneralizedVars :: Lens' TCState (Maybe (Set QName))
- stPragmaOptions :: Lens' TCState PragmaOptions
- stImportedBuiltins :: Lens' TCState BuiltinThings
- stForeignCode :: Lens' TCState BackendForeignCode
- stFreshInteractionId :: Lens' TCState InteractionId
- stImportedUserWarnings :: Lens' TCState UserWarnings
- stLocalUserWarnings :: Lens' TCState UserWarnings
- getUserWarnings :: ReadTCState m => m UserWarnings
- useR :: ReadTCState m => Lens' TCState a -> m a
- stWarningOnImport :: Lens' TCState (Maybe Text)
- stImportedPartialDefs :: Lens' TCState (Set QName)
- stLibCache :: Lens' TCState LibCache
- stImportedMetaStore :: Lens' TCState RemoteMetaStore
- stCopiedNames :: Lens' TCState (HashMap QName QName)
- stNameCopies :: Lens' TCState (HashMap QName (HashSet QName))
- stImportedDisplayForms :: Lens' TCState DisplayForms
- stLocalPartialDefs :: Lens' TCState (Set QName)
- getPartialDefs :: ReadTCState m => m (Set QName)
- stFreshNameId :: Lens' TCState NameId
- stFreshOpaqueId :: Lens' TCState OpaqueId
- stOpaqueBlocks :: Lens' TCState (Map OpaqueId OpaqueBlock)
- stOpaqueIds :: Lens' TCState (Map QName OpaqueId)
- stInstanceHack :: Lens' TCState Bool
- stSyntaxInfo :: Lens' TCState HighlightingInfo
- stDisambiguatedNames :: Lens' TCState DisambiguatedNames
- stOpenMetaStore :: Lens' TCState LocalMetaStore
- stSolvedMetaStore :: Lens' TCState LocalMetaStore
- stInteractionPoints :: Lens' TCState InteractionPoints
- stAwakeConstraints :: Lens' TCState Constraints
- stSleepingConstraints :: Lens' TCState Constraints
- stDirty :: Lens' TCState Bool
- stOccursCheckDefs :: Lens' TCState (Set QName)
- stSignature :: Lens' TCState Signature
- stRewriteRules :: Lens' TCState RewriteRuleMap
- type RewriteRuleMap = HashMap QName RewriteRules
- sigRewriteRules :: Lens' Signature RewriteRuleMap
- stModuleCheckpoints :: Lens' TCState (Map ModuleName CheckpointId)
- stImportsDisplayForms :: Lens' TCState DisplayForms
- stCurrentModule :: Lens' TCState (Maybe (ModuleName, TopLevelModuleName))
- stInstanceDefs :: Lens' TCState TempInstanceTable
- type TempInstanceTable = (InstanceTable, Set QName)
- sigInstances :: Lens' Signature InstanceTable
- stTemporaryInstances :: Lens' TCState (Set QName)
- stConcreteNames :: Lens' TCState ConcreteNames
- stUsedNames :: Lens' TCState UsedNames
- stShadowingNames :: Lens' TCState ShadowingNames
- stStatistics :: Lens' TCState Statistics
- stTCWarnings :: Lens' TCState (Set TCWarning)
- stMutualBlocks :: Lens' TCState MutualBlocks
- stLocalBuiltins :: Lens' TCState BuiltinThings
- stFreshMetaId :: Lens' TCState MetaId
- stFreshMutualId :: Lens' TCState MutualId
- stFreshProblemId :: Lens' TCState ProblemId
- stFreshCheckpointId :: Lens' TCState CheckpointId
- stFreshInt :: Lens' TCState Int
- stAreWeCaching :: Lens' TCState Bool
- stPostponeInstanceSearch :: Lens' TCState Bool
- stConsideringInstance :: Lens' TCState Bool
- stInstantiateBlocking :: Lens' TCState Bool
- stInstanceTree :: Lens' TCState (DiscrimTree QName)
- itableTree :: Lens' InstanceTable (DiscrimTree QName)
- stBuiltinThings :: TCState -> BuiltinThings
- unionBuiltin :: Builtin a -> Builtin a -> Builtin a
- class Enum i => HasFresh i where
  - freshLens :: Lens' TCState i
  - nextFresh' :: i -> i
- nextFresh :: HasFresh i => TCState -> (i, TCState)
- freshName :: MonadFresh NameId m => Range -> String -> m Name
- freshNoName :: MonadFresh NameId m => Range -> m Name
- freshNoName_ :: MonadFresh NameId m => m Name
- freshRecordName :: MonadFresh NameId m => m Name
- class FreshName a where
  - freshName_ :: MonadFresh NameId m => a -> m Name
- class Monad m => MonadStConcreteNames (m :: Type -> Type) where
  - runStConcreteNames :: StateT ConcreteNames m a -> m a
  - useConcreteNames :: m ConcreteNames
  - modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> m ()
- stateTCLensM :: (MonadTCState m, ReadTCState m) => Lens' TCState a -> (a -> m (r, a)) -> m r
- srcFromPath :: MonadFileId m => AbsolutePath -> m SourceFile
- data ModuleCheckMode
  - = ModuleScopeChecked
  - | ModuleTypeChecked
- data ForeignCode = ForeignCode Range String
- type BuiltinThings' pf = Map SomeBuiltin (Builtin pf)
- iFullHash :: Interface -> Hash
- intSignature :: Lens' Interface Signature
- class LensClosure b a | b -> a where
  - lensClosure :: Lens' b (Closure a)
- class LensTCEnv a where
  - lensTCEnv :: Lens' a TCEnv
- buildClosure :: (MonadTCEnv m, ReadTCState m) => a -> m (Closure a)
- data WhyCheckModality
  - = ConstructorType
  - | IndexedClause
  - | IndexedClauseArg Name Name
  - | GeneratedClause
- data IsForced
  - = Forced
  - | NotForced
- data Candidate = Candidate {
  - candidateKind :: CandidateKind
  - candidateTerm :: Term
  - candidateType :: Type
  - candidateOverlap :: OverlapMode
  }
- fromCmp :: Comparison -> CompareDirection
- flipCmp :: CompareDirection -> CompareDirection
- dirToCmp :: (Comparison -> a -> a -> c) -> CompareDirection -> a -> a -> c
- data Judgement a
  - = HasType {
    - jMetaId :: a
    - jComparison :: Comparison
    - jMetaType :: Type
    }
  - | IsSort {
    - jMetaId :: a
    - jMetaType :: Type
    }
- data DoGeneralize
  - = YesGeneralizeVar
  - | YesGeneralizeMeta
  - | NoGeneralize
- data GeneralizedValue = GeneralizedValue {
  - genvalCheckpoint :: CheckpointId
  - genvalTerm :: Term
  - genvalType :: Type
  }
- newtype MetaPriority = MetaPriority Int
- data MetaInstantiation
  - = InstV Instantiation
  - | OpenMeta MetaKind
  - | BlockedConst Term
  - | PostponedTypeCheckingProblem (Closure TypeCheckingProblem)
- data Listener
  - = EtaExpand MetaId
  - | CheckConstraint Nat ProblemConstraint
- data Frozen
  - = Frozen
  - | Instantiable
- data Instantiation = Instantiation {
  - instTel :: [Arg String]
  - instBody :: Term
  }
- data TypeCheckingProblem
  - = CheckExpr Comparison Expr Type
  - | CheckArgs Comparison ExpandHidden Expr [NamedArg Expr] Type Type (ArgsCheckState CheckedTarget -> TCM Term)
  - | CheckProjAppToKnownPrincipalArg Comparison Expr ProjOrigin (List1 QName) Expr Args Type Int Term Type PrincipalArgTypeMetas
  - | CheckLambda Comparison (Arg (List1 (WithHiding Name), Maybe Type)) Expr Type
  - | DisambiguateConstructor ConstructorDisambiguationData (ConHead -> TCM Term)
  - | DoQuoteTerm Comparison Term Type
- data RemoteMetaVariable = RemoteMetaVariable {
  - rmvInstantiation :: Instantiation
  - rmvModality :: Modality
  - rmvJudgement :: Judgement MetaId
  }
- data CheckedTarget
  - = CheckedTarget (Maybe ProblemId)
  - | NotCheckedTarget
- data PrincipalArgTypeMetas = PrincipalArgTypeMetas {
  - patmMetas :: Args
  - patmRemainder :: Type
  }
- data ExpandHidden
  - = ExpandLast
  - | DontExpandLast
  - | ReallyDontExpandLast
- data ArgsCheckState a = ACState {
  - acCheckedArgs :: [CheckedArg]
  - acFun :: Expr
  - acType :: Type
  - acData :: a
  }
- data ConstructorDisambiguationData = ConstructorDisambiguationData {
  - bcdConName :: QName
  - bcdCandidates :: List1 (QName, Type, ConHead)
  - bcdArguments :: Args
  - bcdType :: Type
  }
- suffixNameSuggestion :: MetaNameSuggestion -> ArgName -> MetaNameSuggestion
- getMetaInfo :: MetaVariable -> Closure Range
- normalMetaPriority :: MetaPriority
- lowMetaPriority :: MetaPriority
- highMetaPriority :: MetaPriority
- getMetaScope :: MetaVariable -> ScopeInfo
- getMetaEnv :: MetaVariable -> TCEnv
- getMetaSig :: MetaVariable -> Signature
- metaFrozen :: Lens' MetaVariable Frozen
- _mvInfo :: Lens' MetaVariable MetaInfo
- aModeToDef :: AbstractMode -> Maybe IsAbstract
- aDefToMode :: IsAbstract -> AbstractMode
- data InteractionPoint = InteractionPoint {
  - ipRange :: Range
  - ipMeta :: Maybe MetaId
  - ipSolved :: Bool
  - ipClause :: IPClause
  - ipBoundary :: IPBoundary
  }
- data IPClause
  - = IPClause {
    - ipcQName :: QName
    - ipcClauseNo :: Int
    - ipcType :: Type
    - ipcWithSub :: Maybe Substitution
    - ipcClause :: SpineClause
    - ipcClosure :: Closure ()
    }
  - | IPNoClause
- type IPBoundary = IPBoundary' Term
- newtype IPBoundary' t = IPBoundary {
  - getBoundary :: Map (IntMap Bool) t
  }
- data Overapplied
  - = Overapplied
  - | NotOverapplied
- type Sections = Map ModuleName Section
- data InstanceTable = InstanceTable {
  - _itableTree :: DiscrimTree QName
  - _itableCounts :: Map QName Int
  }
- sigSections :: Lens' Signature Sections
- sigDefinitions :: Lens' Signature Definitions
- type LocalDisplayForm = Open DisplayForm
- secTelescope :: Lens' Section Telescope
- data DisplayTerm
  - = DWithApp DisplayTerm (List1 DisplayTerm) Elims
  - | DCon ConHead ConInfo [Arg DisplayTerm]
  - | DDef QName [Elim' DisplayTerm]
  - | DDot' Term Elims
  - | DTerm' Term Elims
- pattern DDot :: Term -> DisplayTerm
- pattern DTerm :: Term -> DisplayTerm
- defaultDisplayForm :: QName -> [LocalDisplayForm]
- type PElims = [Elim' NLPat]
- data NLPType = NLPType {
  - nlpTypeSort :: NLPSort
  - nlpTypeUnEl :: NLPat
  }
- data NLPSort
  - = PUniv Univ NLPat
  - | PInf Univ Integer
  - | PSizeUniv
  - | PLockUniv
  - | PLevelUniv
  - | PIntervalUniv
- pattern PType :: NLPat -> NLPSort
- pattern PProp :: NLPat -> NLPSort
- pattern PSSet :: NLPat -> NLPSort
- data RewriteRule = RewriteRule {
  - rewName :: QName
  - rewContext :: Telescope
  - rewHead :: QName
  - rewPats :: PElims
  - rewRHS :: Term
  - rewType :: Type
  - rewFromClause :: Bool
  - rewTopModule :: TopLevelModuleName
  }
- data Defn
  - = AxiomDefn AxiomData
  - | DataOrRecSigDefn DataOrRecSigData
  - | GeneralizableVar NumGeneralizableArgs
  - | AbstractDefn Defn
  - | FunctionDefn FunctionData
  - | DatatypeDefn DatatypeData
  - | RecordDefn RecordData
  - | ConstructorDefn ConstructorData
  - | PrimitiveDefn PrimitiveData
  - | PrimitiveSortDefn PrimitiveSortData
- type CompiledRepresentation = Map BackendName [CompilerPragma]
- data NumGeneralizableArgs
  - = NoGeneralizableArgs
  - | SomeGeneralizableArgs !Int
- lensTheDef :: Lens' Definition Defn
- defaultDefn :: ArgInfo -> QName -> Type -> Language -> Defn -> Definition
- noCompiledRep :: CompiledRepresentation
- jsBackendName :: BackendName
- ghcBackendName :: BackendName
- type Face = [(Term, Bool)]
- data ExtLamInfo = ExtLamInfo {
  - extLamModule :: ModuleName
  - extLamAbsurd :: Bool
  - extLamSys :: !(Maybe System)
  }
- modifySystem :: (System -> System) -> ExtLamInfo -> ExtLamInfo
- data Projection = Projection {
  - projProper :: Maybe QName
  - projOrig :: QName
  - projFromType :: Arg QName
  - projIndex :: Int
  - projLams :: ProjLams
  }
- newtype ProjLams = ProjLams {
  - getProjLams :: [Arg ArgName]
  }
- projDropPars :: Projection -> ProjOrigin -> Term
- projArgInfo :: Projection -> ArgInfo
- data EtaEquality
  - = Specified {
    - theEtaEquality :: !HasEta
    }
  - | Inferred {
    - theEtaEquality :: !HasEta
    }
- setEtaEquality :: EtaEquality -> HasEta -> EtaEquality
- data FunctionFlag
  - = FunStatic
  - | FunInline
  - | FunMacro
  - | FunFirstOrder
  - | FunErasure
  - | FunAbstract
  - | FunProj
- data CompKit = CompKit {
  - nameOfHComp :: Maybe QName
  - nameOfTransp :: Maybe QName
  }
- emptyCompKit :: CompKit
- defaultAxiom :: Defn
- constTranspAxiom :: Defn
- data AxiomData = AxiomData {
  - _axiomConstTransp :: Bool
  }
- data DataOrRecSigData = DataOrRecSigData {
  - _datarecPars :: Int
  }
- data FunctionData = FunctionData {
  - _funClauses :: [Clause]
  - _funCompiled :: Maybe CompiledClauses
  - _funSplitTree :: Maybe SplitTree
  - _funTreeless :: Maybe Compiled
  - _funCovering :: [Clause]
  - _funInv :: FunctionInverse
  - _funMutual :: Maybe [QName]
  - _funProjection :: Either ProjectionLikenessMissing Projection
  - _funFlags :: SmallSet FunctionFlag
  - _funTerminates :: Maybe Bool
  - _funExtLam :: Maybe ExtLamInfo
  - _funWith :: Maybe QName
  - _funIsKanOp :: Maybe QName
  - _funOpaque :: IsOpaque
  }
- data DatatypeData = DatatypeData {
  - _dataPars :: Nat
  - _dataIxs :: Nat
  - _dataClause :: Maybe Clause
  - _dataCons :: [QName]
  - _dataSort :: Sort
  - _dataMutual :: Maybe [QName]
  - _dataAbstr :: IsAbstract
  - _dataPathCons :: [QName]
  - _dataTranspIx :: Maybe QName
  - _dataTransp :: Maybe QName
  }
- data RecordData = RecordData {
  - _recPars :: Nat
  - _recClause :: Maybe Clause
  - _recConHead :: ConHead
  - _recNamedCon :: Bool
  - _recFields :: [Dom QName]
  - _recTel :: Telescope
  - _recMutual :: Maybe [QName]
  - _recEtaEquality' :: EtaEquality
  - _recPatternMatching :: PatternOrCopattern
  - _recInduction :: Maybe Induction
  - _recTerminates :: Maybe Bool
  - _recAbstr :: IsAbstract
  - _recComp :: CompKit
  }
- data ConstructorData = ConstructorData {
  - _conPars :: Int
  - _conArity :: Int
  - _conSrcCon :: ConHead
  - _conData :: QName
  - _conAbstr :: IsAbstract
  - _conComp :: CompKit
  - _conProj :: Maybe [QName]
  - _conForced :: [IsForced]
  - _conErased :: Maybe [Bool]
  - _conErasure :: !Bool
  - _conInline :: !Bool
  }
- data PrimitiveData = PrimitiveData {
  - _primAbstr :: IsAbstract
  - _primName :: PrimitiveId
  - _primClauses :: [Clause]
  - _primInv :: FunctionInverse
  - _primCompiled :: Maybe CompiledClauses
  - _primOpaque :: IsOpaque
  }
- data PrimitiveSortData = PrimitiveSortData {
  - _primSortName :: BuiltinSort
  - _primSortSort :: Sort
  }
- pattern DataOrRecSig :: Int -> Defn
- pattern PrimitiveSort :: BuiltinSort -> Sort -> Defn
- axiomConstTransp :: Defn -> Bool
- datarecPars :: Defn -> Int
- data ProjectionLikenessMissing
  - = MaybeProjection
  - | NeverProjection
- type FunctionInverse = FunctionInverse' Clause
- funClauses :: Defn -> [Clause]
- funCompiled :: Defn -> Maybe CompiledClauses
- funSplitTree :: Defn -> Maybe SplitTree
- funTreeless :: Defn -> Maybe Compiled
- funCovering :: Defn -> [Clause]
- funInv :: Defn -> FunctionInverse
- funMutual :: Defn -> Maybe [QName]
- funProjection :: Defn -> Either ProjectionLikenessMissing Projection
- funFlags :: Defn -> SmallSet FunctionFlag
- funTerminates :: Defn -> Maybe Bool
- funExtLam :: Defn -> Maybe ExtLamInfo
- funWith :: Defn -> Maybe QName
- funIsKanOp :: Defn -> Maybe QName
- funOpaque :: Defn -> IsOpaque
- dataPars :: Defn -> Nat
- dataIxs :: Defn -> Nat
- dataClause :: Defn -> Maybe Clause
- dataCons :: Defn -> [QName]
- dataSort :: Defn -> Sort
- dataMutual :: Defn -> Maybe [QName]
- dataAbstr :: Defn -> IsAbstract
- dataPathCons :: Defn -> [QName]
- dataTranspIx :: Defn -> Maybe QName
- dataTransp :: Defn -> Maybe QName
- recPars :: Defn -> Nat
- recClause :: Defn -> Maybe Clause
- recConHead :: Defn -> ConHead
- recNamedCon :: Defn -> Bool
- recFields :: Defn -> [Dom QName]
- recTel :: Defn -> Telescope
- recMutual :: Defn -> Maybe [QName]
- recEtaEquality' :: Defn -> EtaEquality
- recPatternMatching :: Defn -> PatternOrCopattern
- recInduction :: Defn -> Maybe Induction
- recTerminates :: Defn -> Maybe Bool
- recAbstr :: Defn -> IsAbstract
- recComp :: Defn -> CompKit
- conPars :: Defn -> Int
- conArity :: Defn -> Int
- conSrcCon :: Defn -> ConHead
- conData :: Defn -> QName
- conAbstr :: Defn -> IsAbstract
- conComp :: Defn -> CompKit
- conProj :: Defn -> Maybe [QName]
- conForced :: Defn -> [IsForced]
- conErased :: Defn -> Maybe [Bool]
- conErasure :: Defn -> Bool
- conInline :: Defn -> Bool
- primAbstr :: Defn -> IsAbstract
- primName :: Defn -> PrimitiveId
- primClauses :: Defn -> [Clause]
- primInv :: Defn -> FunctionInverse
- primCompiled :: Defn -> Maybe CompiledClauses
- primOpaque :: Defn -> IsOpaque
- data BuiltinSort
  - = SortUniv Univ
  - | SortOmega Univ
  - | SortIntervalUniv
  - | SortLevelUniv
- data BuiltinDescriptor
  - = BuiltinData (TCM Type) [BuiltinId]
  - | BuiltinDataCons (TCM Type)
  - | BuiltinPrim PrimitiveId (Term -> TCM ())
  - | BuiltinSort BuiltinSort
  - | BuiltinPostulate Relevance (TCM Type)
  - | BuiltinUnknown (Maybe (TCM Type)) (Term -> Type -> TCM ())
- primSortName :: Defn -> BuiltinSort
- primSortSort :: Defn -> Sort
- lensFunction :: Lens' Defn FunctionData
- lensConstructor :: Lens' Defn ConstructorData
- lensRecord :: Lens' Defn RecordData
- lensRecTel :: Lens' RecordData Telescope
- lensRecEta :: Lens' RecordData EtaEquality
- data FunctionInverse' c
  - = NotInjective
  - | Inverse (InversionMap c)
- recRecursive :: Defn -> Bool
- recRecursive_ :: RecordData -> Bool
- recEtaEquality :: Defn -> HasEta
- _recEtaEquality :: RecordData -> HasEta
- emptyFunctionData :: HasOptions m => m FunctionData
- emptyFunctionData_ :: Bool -> FunctionData
- emptyFunction :: HasOptions m => m Defn
- emptyFunction_ :: Bool -> Defn
- funFlag_ :: FunctionFlag -> Lens' FunctionData Bool
- funFlag :: FunctionFlag -> Lens' Defn Bool
- funStatic :: Lens' Defn Bool
- funInline :: Lens' Defn Bool
- funMacro :: Lens' Defn Bool
- funMacro_ :: Lens' FunctionData Bool
- funFirstOrder :: Lens' Defn Bool
- funErasure :: Lens' Defn Bool
- funAbstract :: Lens' Defn Bool
- funAbstr :: Lens' Defn IsAbstract
- funAbstract_ :: Lens' FunctionData Bool
- funAbstr_ :: Lens' FunctionData IsAbstract
- funProj :: Lens' Defn Bool
- funProj_ :: Lens' FunctionData Bool
- isMacro :: Defn -> Bool
- isEmptyFunction :: Defn -> Bool
- isExtendedLambda :: Defn -> Bool
- isWithFunction :: Defn -> Bool
- isCopatternLHS :: [Clause] -> Bool
- recCon :: Defn -> QName
- defIsRecord :: Defn -> Bool
- defIsDataOrRecord :: Defn -> Bool
- defConstructors :: Defn -> [QName]
- data Simplification
  - = YesSimplification
  - | NoSimplification
- redReturn :: a -> ReduceM (Reduced a' a)
- redBind :: ReduceM (Reduced a a') -> (a -> ReduceM b) -> (a' -> ReduceM (Reduced b b')) -> ReduceM (Reduced b b')
- data MaybeReduced a = MaybeRed {
  - isReduced :: IsReduced
  - ignoreReduced :: a
  }
- type MaybeReducedArgs = [MaybeReduced (Arg Term)]
- type MaybeReducedElims = [MaybeReduced Elim]
- notReduced :: a -> MaybeReduced a
- reduced :: Blocked (Arg Term) -> MaybeReduced (Arg Term)
- data AllowedReduction
  - = ProjectionReductions
  - | InlineReductions
  - | CopatternReductions
  - | FunctionReductions
  - | RecursiveReductions
  - | LevelReductions
  - | TypeLevelReductions
  - | UnconfirmedReductions
  - | NonTerminatingReductions
- type AllowedReductions = SmallSet AllowedReduction
- allReductions :: AllowedReductions
- reallyAllReductions :: AllowedReductions
- data ReduceDefs
  - = OnlyReduceDefs (Set QName)
  - | DontReduceDefs (Set QName)
- reduceAllDefs :: ReduceDefs
- locallyReduceDefs :: MonadTCEnv m => ReduceDefs -> m a -> m a
- locallyTC :: MonadTCEnv m => Lens' TCEnv a -> (a -> a) -> m b -> m b
- eReduceDefs :: Lens' TCEnv ReduceDefs
- locallyReduceAllDefs :: MonadTCEnv m => m a -> m a
- shouldReduceDef :: MonadTCEnv m => QName -> m Bool
- asksTC :: MonadTCEnv m => (TCEnv -> a) -> m a
- toReduceDefs :: (Bool, [QName]) -> ReduceDefs
- fromReduceDefs :: ReduceDefs -> (Bool, [QName])
- locallyReconstructed :: MonadTCEnv m => m a -> m a
- eReconstructed :: Lens' TCEnv Bool
- isReconstructed :: MonadTCEnv m => m Bool
- data PrimitiveImpl = PrimImpl Type PrimFun
- primFun :: QName -> Arity -> ([Arg Term] -> ReduceM (Reduced MaybeReducedArgs Term)) -> PrimFun
- defClauses :: Definition -> [Clause]
- defCompiled :: Definition -> Maybe CompiledClauses
- defParameters :: Definition -> Maybe Nat
- defInverse :: Definition -> FunctionInverse
- defCompilerPragmas :: BackendName -> Definition -> [CompilerPragma]
- defNonterminating :: Definition -> Bool
- defTerminationUnconfirmed :: Definition -> Bool
- defForced :: Definition -> [IsForced]
- type InversionMap c = Map TermHead [c]
- data TermHead
  - = SortHead
  - | PiHead
  - | ConsHead QName
  - | VarHead Nat
  - | UnknownHead
- data MutualBlock = MutualBlock {
  - mutualInfo :: MutualInfo
  - mutualNames :: Set QName
  }
- itableCounts :: Lens' InstanceTable (Map QName Int)
- pattern SortProp :: BuiltinSort
- pattern SortSet :: BuiltinSort
- pattern SortStrictSet :: BuiltinSort
- pattern SortPropOmega :: BuiltinSort
- pattern SortSetOmega :: BuiltinSort
- pattern SortStrictSetOmega :: BuiltinSort
- data BuiltinInfo = BuiltinInfo {
  - builtinName :: BuiltinId
  - builtinDesc :: BuiltinDescriptor
  }
- ifTopLevelAndHighlightingLevelIsOr :: MonadTCEnv tcm => HighlightingLevel -> Bool -> tcm () -> tcm ()
- ifTopLevelAndHighlightingLevelIs :: MonadTCEnv tcm => HighlightingLevel -> tcm () -> tcm ()
- type LetBindings = Map Name (Open LetBinding)
- data AbstractMode
  - = AbstractMode
  - | ConcreteMode
  - | IgnoreAbstractMode
- data UnquoteFlags = UnquoteFlags {
  - _unquoteNormalise :: Bool
  }
- initEnv :: TCEnv
- defaultUnquoteFlags :: UnquoteFlags
- unquoteNormalise :: Lens' UnquoteFlags Bool
- eUnquoteNormalise :: Lens' TCEnv Bool
- eUnquoteFlags :: Lens' TCEnv UnquoteFlags
- eContext :: Lens' TCEnv Context
- eLetBindings :: Lens' TCEnv LetBindings
- eCurrentModule :: Lens' TCEnv ModuleName
- eCurrentPath :: Lens' TCEnv (Maybe FileId)
- eAnonymousModules :: Lens' TCEnv [(ModuleName, Nat)]
- eImportPath :: Lens' TCEnv [TopLevelModuleName]
- eMutualBlock :: Lens' TCEnv (Maybe MutualId)
- eTerminationCheck :: Lens' TCEnv (TerminationCheck ())
- eCoverageCheck :: Lens' TCEnv CoverageCheck
- eMakeCase :: Lens' TCEnv Bool
- eSolvingConstraints :: Lens' TCEnv Bool
- eCheckingWhere :: Lens' TCEnv WhereClause_
- eWorkingOnTypes :: Lens' TCEnv Bool
- eAssignMetas :: Lens' TCEnv Bool
- eActiveProblems :: Lens' TCEnv (Set ProblemId)
- eAbstractMode :: Lens' TCEnv AbstractMode
- eRelevance :: Lens' TCEnv Relevance
- eQuantity :: Lens' TCEnv Quantity
- eHardCompileTimeMode :: Lens' TCEnv Bool
- eSplitOnStrict :: Lens' TCEnv Bool
- eDisplayFormsEnabled :: Lens' TCEnv Bool
- eFoldLetBindings :: Lens' TCEnv Bool
- eRange :: Lens' TCEnv Range
- eHighlightingRange :: Lens' TCEnv Range
- eCall :: Lens' TCEnv (Maybe (Closure Call))
- eHighlightingLevel :: Lens' TCEnv HighlightingLevel
- eHighlightingMethod :: Lens' TCEnv HighlightingMethod
- eExpandLast :: Lens' TCEnv ExpandHidden
- eExpandLastBool :: Lens' TCEnv Bool
- isExpandLast :: ExpandHidden -> Bool
- toExpandLast :: Bool -> ExpandHidden
- eAppDef :: Lens' TCEnv (Maybe QName)
- eSimplification :: Lens' TCEnv Simplification
- eAllowedReductions :: Lens' TCEnv AllowedReductions
- eReduceDefsPair :: Lens' TCEnv (Bool, [QName])
- eInjectivityDepth :: Lens' TCEnv Int
- eCompareBlocked :: Lens' TCEnv Bool
- ePrintDomainFreePi :: Lens' TCEnv Bool
- ePrintMetasBare :: Lens' TCEnv Bool
- eInsideDotPattern :: Lens' TCEnv Bool
- eInstanceDepth :: Lens' TCEnv Int
- eIsDebugPrinting :: Lens' TCEnv Bool
- ePrintingPatternLambdas :: Lens' TCEnv [QName]
- eCallByNeed :: Lens' TCEnv Bool
- eCurrentCheckpoint :: Lens' TCEnv CheckpointId
- eCheckpoints :: Lens' TCEnv (Map CheckpointId Substitution)
- eGeneralizeMetas :: Lens' TCEnv DoGeneralize
- eGeneralizedVars :: Lens' TCEnv (Map QName GeneralizedValue)
- eActiveBackendName :: Lens' TCEnv (Maybe BackendName)
- eConflComputingOverlap :: Lens' TCEnv Bool
- eCurrentlyElaborating :: Lens' TCEnv Bool
- currentModality :: MonadTCEnv m => m Modality
- viewTC :: MonadTCEnv m => Lens' TCEnv a -> m a
- onLetBindingType :: (Dom Type -> Dom Type) -> LetBinding -> LetBinding
- isDontExpandLast :: ExpandHidden -> Bool
- data CandidateKind
  - = LocalCandidate
  - | GlobalCandidate QName
- data CheckedArg = CheckedArg {
  - caElim :: Elim
  - caRange :: Maybe Range
  - caConstraint :: Maybe (Abs Constraint)
  }
- data TerminationError = TerminationError {
  - termErrFunctions :: [QName]
  - termErrCalls :: [CallInfo]
  - termErrGuardednessHelps :: GuardednessHelps
  }
- data IsAmbiguous
  - = YesAmbiguous AmbiguousQName
  - | NotAmbiguous
- data IllegalRewriteRuleReason
  - = LHSNotDefinitionOrConstructor
  - | VariablesNotBoundByLHS IntSet
  - | VariablesBoundMoreThanOnce IntSet
  - | LHSReduces Term Term
  - | HeadSymbolIsProjectionLikeFunction QName
  - | HeadSymbolIsTypeConstructor QName
  - | HeadSymbolContainsMetas QName
  - | ConstructorParametersNotGeneral ConHead Args
  - | ContainsUnsolvedMetaVariables (Set1 MetaId)
  - | BlockedOnProblems (Set1 ProblemId)
  - | RequiresDefinitions (Set1 QName)
  - | DoesNotTargetRewriteRelation
  - | BeforeFunctionDefinition
  - | BeforeMutualFunctionDefinition QName
  - | DuplicateRewriteRule
- recordFieldWarningToError :: RecordFieldWarning -> TypeError
- warningName :: Warning -> WarningName
- illegalRewriteWarningName :: IllegalRewriteRuleReason -> WarningName
- isSourceCodeWarning :: WarningName -> Bool
- tcWarningOrigin :: TCWarning -> SrcFile
- data CallInfo = CallInfo {
  - callInfoTarget :: QName
  - callInfoCall :: Closure Term
  }
- data UnificationFailure
  - = UnifyIndicesNotVars Telescope Type Term Term Args
  - | UnifyRecursiveEq Telescope Type Int Term
  - | UnifyReflexiveEq Telescope Type Term
  - | UnifyUnusableModality Telescope Type Int Term Modality
- data NegativeUnification
  - = UnifyConflict Telescope Term Term
  - | UnifyCycle Telescope Int Term
- data ExecError
  - = ExeNotTrusted ExeName ExeMap
  - | ExeNotFound ExeName FilePath
  - | ExeNotExecutable ExeName FilePath
- type DataOrRecordE = DataOrRecord' InductionAndEta
- data IncorrectTypeForRewriteRelationReason
  - = ShouldAcceptAtLeastTwoArguments
  - | FinalTwoArgumentsNotVisible
  - | TypeDoesNotEndInSort Type Telescope
- data InvalidFileNameReason
  - = DoesNotCorrespondToValidModuleName
  - | RootNameModuleNotAQualifiedModuleName Text
- data CannotQuote
  - = CannotQuoteAmbiguous (List2 QName)
  - | CannotQuoteExpression Expr
  - | CannotQuoteHidden
  - | CannotQuoteNothing
  - | CannotQuotePattern (NamedArg Pattern)
- data MissingTypeSignatureInfo
  - = MissingDataSignature Name
  - | MissingRecordSignature Name
  - | MissingFunctionSignature LHS
- data WhyInvalidInstanceType
  - = ImproperInstHead
  - | ImproperInstTele
- data InteractionError
  - = CannotGive Expr
  - | CannotRefine String
  - | CaseSplitError Doc
  - | ExpectedIdentifier Expr
  - | ExpectedApplication
  - | NoActionForInteractionPoint InteractionId
  - | NoSuchInteractionPoint InteractionId
  - | UnexpectedWhere
- data GHCBackendError
  - = ConstructorCountMismatch QName [QName] [String]
  - | NotAHaskellType Term WhyNotAHaskellType
  - | WrongTypeOfMain QName Type
- data JSBackendError = BadCompilePragma
- data WhyNotAHaskellType
  - = NoPragmaFor QName
  - | WrongPragmaFor Range QName
  - | BadLambda Term
  - | BadMeta Term
  - | BadDontCare Term
  - | NotCompiled QName
- data InductionAndEta = InductionAndEta {
  - recordInduction :: Maybe Induction
  - recordEtaEquality :: EtaEquality
  }
- sizedTypesOption :: HasOptions m => m Bool
- guardednessOption :: HasOptions m => m Bool
- withoutKOption :: HasOptions m => m Bool
- cubicalOption :: HasOptions m => m (Maybe Cubical)
- cubicalCompatibleOption :: HasOptions m => m Bool
- enableCaching :: HasOptions m => m Bool
- data ReduceEnv = ReduceEnv {
  - redEnv :: TCEnv
  - redSt :: TCState
  - redPred :: Maybe (MetaId -> ReduceM Bool)
  }
- mapRedEnv :: (TCEnv -> TCEnv) -> ReduceEnv -> ReduceEnv
- mapRedSt :: (TCState -> TCState) -> ReduceEnv -> ReduceEnv
- mapRedEnvSt :: (TCEnv -> TCEnv) -> (TCState -> TCState) -> ReduceEnv -> ReduceEnv
- reduceEnv :: Lens' ReduceEnv TCEnv
- reduceSt :: Lens' ReduceEnv TCState
- unKleisli :: (a -> ReduceM b) -> ReduceM (a -> b)
- onReduceEnv :: (ReduceEnv -> ReduceEnv) -> ReduceM a -> ReduceM a
- fmapReduce :: (a -> b) -> ReduceM a -> ReduceM b
- apReduce :: ReduceM (a -> b) -> ReduceM a -> ReduceM b
- thenReduce :: ReduceM a -> ReduceM b -> ReduceM b
- beforeReduce :: ReduceM a -> ReduceM b -> ReduceM a
- bindReduce :: ReduceM a -> (a -> ReduceM b) -> ReduceM b
- localR :: (ReduceEnv -> ReduceEnv) -> ReduceM a -> ReduceM a
- newtype BlockT (m :: Type -> Type) a = BlockT {
  - unBlockT :: ExceptT Blocker m a
  }
- getsTC :: ReadTCState m => (TCState -> a) -> m a
- modifyTC' :: MonadTCState m => (TCState -> TCState) -> m ()
- setTCLens :: MonadTCState m => Lens' TCState a -> a -> m ()
- setTCLens' :: MonadTCState m => Lens' TCState a -> a -> m ()
- modifyTCLens :: MonadTCState m => Lens' TCState a -> (a -> a) -> m ()
- modifyTCLens' :: MonadTCState m => Lens' TCState a -> (a -> a) -> m ()
- modifyTCLensM :: (MonadTCState m, ReadTCState m) => Lens' TCState a -> (a -> m a) -> m ()
- stateTCLens :: (MonadTCState m, ReadTCState m) => Lens' TCState a -> (a -> (r, a)) -> m r
- runBlocked :: Monad m => BlockT m a -> m (Either Blocker a)
- pureTCM :: forall (m :: Type -> Type) a. MonadIO m => (TCState -> TCEnv -> a) -> TCMT m a
- returnTCMT :: forall (m :: Type -> Type) a. Applicative m => a -> TCMT m a
- bindTCMT :: forall (m :: Type -> Type) a b. Monad m => TCMT m a -> (a -> TCMT m b) -> TCMT m b
- thenTCMT :: forall (m :: Type -> Type) a b. Applicative m => TCMT m a -> TCMT m b -> TCMT m b
- fmapTCMT :: forall (m :: Type -> Type) a b. Functor m => (a -> b) -> TCMT m a -> TCMT m b
- apTCMT :: forall (m :: Type -> Type) a b. Applicative m => TCMT m (a -> b) -> TCMT m a -> TCMT m b
- catchError_ :: TCM a -> (TCErr -> TCM a) -> TCM a
- finally_ :: TCM a -> TCM b -> TCM a
- typeError' :: MonadTCError m => CallStack -> TypeError -> m a
- locatedTypeError :: MonadTCError m => (a -> TypeError) -> HasCallStack => a -> m b
- genericError :: (HasCallStack, MonadTCError m) => String -> m a
- genericDocError :: (HasCallStack, MonadTCError m) => Doc -> m a
- typeError'_ :: (MonadTCEnv m, ReadTCState m) => CallStack -> TypeError -> m TCErr
- typeError_ :: (HasCallStack, MonadTCEnv m, ReadTCState m) => TypeError -> m TCErr
- interactionError :: (HasCallStack, MonadTCError m) => InteractionError -> m a
- syntaxError :: (HasCallStack, MonadTCError m) => String -> m a
- unquoteError :: (HasCallStack, MonadTCError m) => UnquoteError -> m a
- execError :: (HasCallStack, MonadTCError m) => ExecError -> m a
- runTCM :: MonadIO m => TCEnv -> TCState -> TCMT m a -> m (a, TCState)
- runTCMTop :: TCM a -> IO (Either TCErr a)
- runTCMTop' :: MonadIO m => TCMT m a -> m a
- runSafeTCM :: TCM a -> TCState -> IO (a, TCState)
- forkTCM :: TCM () -> TCM ()
- patternInTeleName :: String
- extendedLambdaName :: String
- isExtendedLambdaName :: QName -> Bool
- absurdLambdaName :: String
- isAbsurdLambdaName :: QName -> Bool
- generalizedFieldName :: String
- getGeneralizedFieldName :: QName -> Maybe String
- module Agda.TypeChecking.Monad.Base.Types
- data FileId
- class Monad m => MonadFileId (m :: Type -> Type) where
  - fileFromId :: FileId -> m File
  - idFromFile :: File -> m FileId
- data CannotQuoteTerm
  - = CannotQuoteTermHidden
  - | CannotQuoteTermNothing
- data ErasedDatatypeReason
  - = SeveralConstructors
  - | NoErasedMatches
  - | NoK
- data NotAValidLetBinding
  - = MissingRHS
  - | NotAValidLetPattern
  - | WhereClausesNotAllowed
- data NotAValidLetExpression = MissingBody
- data NotAllowedInDotPatterns
  - = LetExpressions
  - | PatternLambdas
- class (Functor m, Applicative m, Monad m) => HasOptions (m :: Type -> Type) where
  - pragmaOptions :: m PragmaOptions
  - commandLineOptions :: m CommandLineOptions
- data RecordFieldWarning
- data UselessPublicReason
  - = UselessPublicPreamble
  - | UselessPublicLet
  - | UselessPublicNoOpen
  - | UselessPublicAnonymousModule

# Documentation

pattern Constructor :: Int -> Int -> ConHead -> QName -> IsAbstract -> CompKit -> Maybe [QName] -> [IsForced] -> Maybe [Bool] -> Bool -> Bool -> Defn Source #

pattern Datatype :: Nat -> Nat -> Maybe Clause -> [QName] -> Sort -> Maybe [QName] -> IsAbstract -> [QName] -> Maybe QName -> Maybe QName -> Defn Source #

data Constraint Source #

Constructors

ValueCmp Comparison CompareAs Term Term |
ValueCmpOnFace Comparison Term Type Term Term |
ElimCmp [Polarity] [IsForced] Type Term [Elim] [Elim] |
SortCmp Comparison Sort Sort |
LevelCmp Comparison Level Level |
HasBiggerSort Sort |
HasPTSRule (Dom Type) (Abs Sort) |
CheckDataSort QName Sort | Check that the sort `Sort` of data type `QName` admits data/record types. E.g., sorts `IUniv`, `SizeUniv` etc. do not admit such constructions. See `checkDataSort`.
CheckMetaInst MetaId |
CheckType Type |
UnBlock MetaId | Meta 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 Type | The range is the one of the absurd pattern.
CheckSizeLtSat Term | Check that the `Term` is either not a SIZELT or a non-empty SIZELT.
FindInstance Range MetaId (Maybe [Candidate]) | the second argument is the instance argument and the third one is dhe list of candidates (or Nothing if we haven’t determined the list of candidates yet)
ResolveInstanceHead QName | Resolve the head symbol of the type that the given instance targets
CheckFunDef DefInfo QName [Clause] TCErr | Last argument is the error causing us to postpone.
UnquoteTactic Term Term Type | First argument is computation and the others are hole and goal type
CheckLockedVars Term Type (Arg Term) Type | `CheckLockedVars t ty lk lk_ty` with `t : ty`, `lk : lk_ty` and `t lk` well-typed.
UsableAtModality WhyCheckModality (Maybe Sort) Modality Term | Is the term usable at the given modality? This check should run if the `Sort` is `Nothing` or `isFibrant`.

#### Instances

Instances details

TermLike Constraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverseTermM :: Monad m => (Term -> m Term) -> Constraint -> m Constraint Source # foldTerm :: Monoid m => (Term -> m) -> Constraint -> m Source #
AllMetas Constraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods allMetas :: Monoid m => (MetaId -> m) -> Constraint -> m Source #
HasRange Constraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: Constraint -> Range Source #
Reify Constraint Source # |

Instance details

Defined in Agda.Interaction.BasicOps

Associated Types

type ReifiesTo Constraint |
Instance details Defined in Agda.Interaction.BasicOps type ReifiesTo Constraint = OutputConstraint Expr Expr

Methods

reify :: MonadReify m => Constraint -> m (ReifiesTo Constraint) Source #

reifyWhen :: MonadReify m => Bool -> Constraint -> m (ReifiesTo Constraint) Source #

Free Constraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freeVars' :: IsVarSet a c => Constraint -> FreeM a c Source #
MentionsMeta Constraint Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> Constraint -> Bool Source #
PrettyTCM Constraint Source # |
Instance details Defined in Agda.TypeChecking.Pretty.Constraint Methods prettyTCM :: MonadPretty m => Constraint -> m Doc Source #
Instantiate Constraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiate' :: Constraint -> ReduceM Constraint Source #
InstantiateFull Constraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Constraint -> ReduceM Constraint Source #
Normalise Constraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: Constraint -> ReduceM Constraint Source #
Reduce Constraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods reduce' :: Constraint -> ReduceM Constraint Source # reduceB' :: Constraint -> ReduceM (Blocked Constraint) Source #
Simplify Constraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: Constraint -> ReduceM Constraint
Subst Constraint Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg Constraint |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg Constraint = Term

Methods

applySubst :: Substitution' (SubstArg Constraint) -> Constraint -> Constraint Source #

NFData Constraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Constraint -> () Source #
Generic Constraint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Constraint |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Constraint = D1 ('MetaData "Constraint" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((((C1 ('MetaCons "ValueCmp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompareAs)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "ValueCmpOnFace" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: (C1 ('MetaCons "ElimCmp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Polarity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IsForced]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim])))) :+: C1 ('MetaCons "SortCmp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))))) :+: ((C1 ('MetaCons "LevelCmp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level))) :+: C1 ('MetaCons "HasBiggerSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))) :+: (C1 ('MetaCons "HasPTSRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Sort))) :+: (C1 ('MetaCons "CheckDataSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: C1 ('MetaCons "CheckMetaInst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)))))) :+: (((C1 ('MetaCons "CheckType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "UnBlock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId))) :+: (C1 ('MetaCons "IsEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "CheckSizeLtSat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "FindInstance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Candidate]))))))) :+: ((C1 ('MetaCons "ResolveInstanceHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CheckFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCErr)))) :+: (C1 ('MetaCons "UnquoteTactic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "CheckLockedVars" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "UsableAtModality" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyCheckModality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Sort))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))))

Methods

from :: Constraint -> Rep Constraint x Source #

to :: Rep Constraint x -> Constraint Source #

Show Constraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Constraint -> ShowS Source # show :: Constraint -> String Source # showList :: [Constraint] -> ShowS Source #
type ReifiesTo Constraint Source # |
Instance details Defined in Agda.Interaction.BasicOps type ReifiesTo Constraint = OutputConstraint Expr Expr
type SubstArg Constraint Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg Constraint = Term
type Rep Constraint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Constraint = D1 ('MetaData "Constraint" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((((C1 ('MetaCons "ValueCmp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompareAs)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "ValueCmpOnFace" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: (C1 ('MetaCons "ElimCmp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Polarity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IsForced]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim])))) :+: C1 ('MetaCons "SortCmp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))))) :+: ((C1 ('MetaCons "LevelCmp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level))) :+: C1 ('MetaCons "HasBiggerSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))) :+: (C1 ('MetaCons "HasPTSRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Sort))) :+: (C1 ('MetaCons "CheckDataSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: C1 ('MetaCons "CheckMetaInst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)))))) :+: (((C1 ('MetaCons "CheckType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "UnBlock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId))) :+: (C1 ('MetaCons "IsEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "CheckSizeLtSat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "FindInstance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Candidate]))))))) :+: ((C1 ('MetaCons "ResolveInstanceHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CheckFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCErr)))) :+: (C1 ('MetaCons "UnquoteTactic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "CheckLockedVars" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "UsableAtModality" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyCheckModality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Sort))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))))

typeError :: (HasCallStack, MonadTCError m) => TypeError -> m a Source #

data TypeError Source #

Constructors

InternalError String |
NotImplemented String |
NotSupported String |
CompilationError String |
SyntaxError String | Essential syntax error thrown after successful parsing. Description in `String`.
OptionError OptionError | Error thrown by the option parser.
NicifierError DeclarationException' | Error thrown in the nicifier phase `Definitions`.
DoNotationError String | Error during unsugaring some `do` notation. Error message in `String`.
IdiomBracketError String | Error during (operator) parsing and interpreting the contents of idiom brackets. Error message in `String`.
NoKnownRecordWithSuchFields [Name] | The user has given a record expression with the given fields, but no record type known to type inference has all these fields. The list can be empty.
ShouldEndInApplicationOfTheDatatype Type | The target of a constructor isn't an application of its datatype. The `Type` records what it does target.
ConstructorPatternInWrongDatatype QName QName | constructor, datatype
CantResolveOverloadedConstructorsTargetingSameDatatype QName (List1 QName) | Datatype, constructors.
ConstructorDoesNotTargetGivenType QName Type | constructor, type
InvalidDottedExpression | `.e` in non-argument position.
LiteralTooBig | An integer literal that would be too costly to expand to unary.
NegativeLiteralInPattern | Negative literals are not supported in patterns.
WrongHidingInLHS | The left hand side of a function definition has a hidden argument where a non-hidden was expected.
WrongHidingInLambda Type | Expected a non-hidden function and found a hidden lambda.
WrongHidingInApplication Type | A function is applied to a hidden argument where a non-hidden was expected.
WrongHidingInProjection QName |
IllegalHidingInPostfixProjection (NamedArg Expr) |
WrongNamedArgument (NamedArg Expr) (List1 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.
WrongAnnotationInLambda | Wrong user-given (lock/tick) annotation in lambda.
WrongIrrelevanceInLambda | Wrong user-given relevance annotation in lambda.
WrongQuantityInLambda | Wrong user-given quantity annotation in lambda.
WrongCohesionInLambda | Wrong user-given cohesion annotation in lambda.
WrongPolarityInLambda | Wrong user-given polarity annotation in lambda.
QuantityMismatch Quantity Quantity | The given quantity does not correspond to the expected quantity.
HidingMismatch Hiding Hiding | The given hiding does not correspond to the expected hiding.
RelevanceMismatch Relevance Relevance | The given relevance does not correspond to the expected relevance.
ForcedConstructorNotInstantiated Pattern |
IllformedProjectionPatternAbstract Pattern |
IllformedProjectionPatternConcrete Pattern |
CannotEliminateWithPattern (Maybe Blocker) (NamedArg Pattern) Type |
CannotEliminateWithProjection (Arg Type) Bool QName |
WrongNumberOfConstructorArguments QName Nat Nat |
ShouldBeEmpty Type [DeBruijnPattern] | Type should be empty. The list gives possible patterns that match, but can be empty.
ShouldBeASort Type | The given type should have been a sort.
ShouldBePi Type | The given type should have been a pi.
ShouldBePath Type |
ShouldBeRecordType Type |
ShouldBeRecordPattern DeBruijnPattern |
CannotApply Expr Type | The given expression is used as a function but its type is not a function type.
InvalidTypeSort Sort | This sort is not a type expression.
SplitOnCoinductive |
SplitOnIrrelevant (Dom Type) |
SplitOnUnusableCohesion (Dom Type) |
SplitOnUnusablePolarity (Dom Type) |
SplitOnNonVariable Term Type |
SplitOnNonEtaRecord QName |
SplitOnAbstract QName |
SplitOnUnchecked QName |
SplitOnPartial (Dom Type) |
SplitInProp DataOrRecordE |
DefinitionIsIrrelevant QName |
DefinitionIsErased QName |
ProjectionIsIrrelevant QName |
VariableIsIrrelevant Name |
VariableIsErased Name |
VariableIsOfUnusableCohesion Name Cohesion |
LambdaIsErased |
RecordIsErased |
InvalidModalTelescopeUse Term Modality Modality Definition |
VariableIsOfUnusablePolarity Name PolarityModality |
UnequalLevel Comparison Level Level |
UnequalTerms Comparison Term Term CompareAs |
UnequalRelevance Comparison Term Term | The two function types have different relevance.
UnequalQuantity Comparison Term Term | The two function types have different relevance.
UnequalCohesion Comparison Term Term | The two function types have different cohesion.
UnequalPolarity Comparison Term Term | The two function types have different polarity.
UnequalFiniteness Comparison Term Term | One of the function types has a finite domain (i.e. is a `Partia`l@) and the other isonot.
UnequalHiding Term Term | The two function types have different hiding.
UnequalSorts Sort Sort |
NotLeqSort Sort Sort |
MetaCannotDependOn MetaId Term Nat | The arguments are the meta variable, the proposed solution, and the parameter that it wants to depend on.
MetaIrrelevantSolution MetaId Term | When solving ``MetaId` ... := `Term``, part of the `Term` is invalid as it was created in an irrelevant context.
MetaErasedSolution MetaId Term | When solving ``MetaId` ... := `Term``, part of the `Term` is invalid as it was created in an erased context.
GenericError String |
GenericDocError Doc |
SortOfSplitVarError (Maybe Blocker) Doc | the meta is what we might be blocked on.
WrongSharpArity QName |
BuiltinMustBeConstructor BuiltinId Expr |
BuiltinMustBeData BuiltinId Int |
BuiltinMustBeDef BuiltinId |
BuiltinMustBeFunction BuiltinId |
BuiltinMustBePostulate BuiltinId |
NoSuchBuiltinName String |
InvalidBuiltin String |
DuplicateBuiltinBinding BuiltinId Term Term |
NoBindingForBuiltin BuiltinId |
NoBindingForPrimitive PrimitiveId |
NoSuchPrimitiveFunction String |
DuplicatePrimitiveBinding PrimitiveId QName QName |
WrongArgInfoForPrimitive PrimitiveId ArgInfo ArgInfo |
ShadowedModule Name (List1 ModuleName) |
BuiltinInParameterisedModule BuiltinId |
IllegalDeclarationInDataDefinition (List1 Declaration) | The declaration list comes from a single `NiceDeclaration`.
IllegalLetInTelescope TypedBinding |
IllegalPatternInTelescope Binder |
AbsentRHSRequiresAbsurdPattern |
TooManyFields QName [Name] (List1 Name) | Record type, fields not supplied by user, possibly non-fields but supplied.
DuplicateFields (List1 Name) |
DuplicateConstructors (List1 Name) |
DuplicateOverlapPragma QName OverlapMode OverlapMode |
WithOnFreeVariable Expr Term |
UnexpectedWithPatterns (List1 Pattern) |
WithClausePatternMismatch Pattern (NamedArg DeBruijnPattern) |
IllTypedPatternAfterWithAbstraction Pattern |
TooFewPatternsInWithClause |
TooManyPatternsInWithClause |
PathAbstractionFailed (Abs Type) |
FieldOutsideRecord |
ModuleArityMismatch ModuleName Telescope (Either (List1 (NamedArg Expr)) Args) |
GeneralizeCyclicDependency |
ReferencesFutureVariables Term (List1 Int) (Arg Term) Int | The 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 QName |
AttributeKindNotEnabled String String String |
InvalidProjectionParameter (NamedArg Expr) |
TacticAttributeNotAllowed |
CannotRewriteByNonEquation Type |
MacroResultTypeMismatch Type |
NamedWhereModuleInRefinedContext [Term] [String] | The lists should have the same length. TODO: enforce this by construction.
ComatchingDisabledForRecord QName |
IncorrectTypeForRewriteRelation Term IncorrectTypeForRewriteRelationReason |
CannotGenerateHCompClause Type | Cannot generate `hcomp` clause because type is not fibrant.
CannotGenerateTransportClause QName (Closure (Abs Type)) | Cannot generate transport clause because type is not fibrant.
CubicalNotErasure QName | Name was defined for `--cubical` and for use in `--erased-cubical` the option `--erasure` is needed.
CubicalPrimitiveNotFullyApplied QName |
ExpectedIntervalLiteral Expr | Expected an interval literal (0 or 1) but found `Expr`.
FaceConstraintDisjunction |
FaceConstraintUnsatisfiable |
PatternInPathLambda | Attempt to pattern match in an abstraction of interval type.
PatternInSystem | Attempt to pattern or copattern match in a system. Data errors
UnexpectedParameter LamBinding |
NoParameterOfName ArgName |
UnexpectedModalityAnnotationInParameter LamBinding |
ExpectedBindingForParameter (Dom Type) (Abs Type) |
UnexpectedTypeSignatureForParameter (List1 (NamedArg Binder)) |
SortDoesNotAdmitDataDefinitions QName Sort |
SortCannotDependOnItsIndex QName Type |
UnusableAtModality WhyCheckModality Modality Term |
SplitError SplitError |
ImpossibleConstructor QName NegativeUnification |
DatatypeIndexPolarity | An index of a data type has a polarity different from `Mixed`.
RecursiveRecordNeedsInductivity QName | A record type inferred as recursive needs a manual declaration whether it should be inductively or coinductively.
CannotSolveSizeConstraints (List1 (ProblemConstraint, HypSizeConstraint)) Doc | The 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 Term | This type, representing a type of sizes, might be empty.
FunctionTypeInSizeUniv Term | This term, a function type constructor, lives in `SizeUniv`, which is not allowed.
PostulatedSizeInModule |
LibraryError LibErrors | Collected errors when processing the `.agda-lib` file.
LibTooFarDown TopLevelModuleName AgdaLibFile | The `.agda-lib` file for the given module is not on the right level.
SolvedButOpenHoles | Some interaction points (holes) have not been filled by user. There are not `UnsolvedMetas` since unification solved them. This is an error, since interaction points are never filled without user interaction.
CyclicModuleDependency (List2 TopLevelModuleName) | The cycle starts and ends with the same module.
FileNotFound TopLevelModuleName [AbsolutePath] | The list can be empty.
OverlappingProjects AbsolutePath TopLevelModuleName TopLevelModuleName |
AmbiguousTopLevelModuleName TopLevelModuleName (List2 AbsolutePath) | The given module has at least 2 file locations.
ModuleNameUnexpected TopLevelModuleName TopLevelModuleName | Found module name, expected module name.
ModuleNameDoesntMatchFileName TopLevelModuleName [AbsolutePath] | The list can be empty.
ModuleDefinedInOtherFile TopLevelModuleName AbsolutePath AbsolutePath | Module name, file from which it was loaded, file which the include path says contains the module.
InvalidFileName AbsolutePath InvalidFileNameReason | The file name does not correspond to a module name.
ModuleNameHashCollision RawTopLevelModuleName (Maybe RawTopLevelModuleName) |
BothWithAndRHS |
AbstractConstructorNotInScope QName |
CopatternHeadNotProjection QName |
NotAllowedInDotPatterns NotAllowedInDotPatterns |
NotInScope QName |
NoSuchModule QName |
AmbiguousName QName AmbiguousNameReason |
AmbiguousModule QName (List1 ModuleName) |
AmbiguousField Name (List2 ModuleName) |
AmbiguousConstructor QName (List2 QName) | The list contains all interpretations of the name.
ClashingDefinition QName QName (Maybe NiceDeclaration) |
ClashingModule ModuleName ModuleName |
DefinitionInDifferentModule QName | The given data/record definition rests in a different module than its signature.
DuplicateImports QName (List1 ImportedName) |
InvalidPattern Pattern |
InvalidPun ConstructorOrPatternSynonym QName | Expected the identifier to be a variable, not a constructor or pattern synonym.
RepeatedNamesInImportDirective (List1 (List2 ImportedName)) | Some names are bound several times by an `import`/`open` directive.
RepeatedVariablesInPattern (List1 Name) |
GeneralizeNotSupportedHere QName |
GeneralizedVarInLetOpenedModule QName |
MultipleFixityDecls (List1 (Name, Pair Fixity')) |
MultiplePolarityPragmas (List1 Name) |
ExplicitPolarityVsPragma QName |
ConstructorNameOfNonRecord ResolvedName |
CannotQuote CannotQuote |
CannotQuoteTerm CannotQuoteTerm |
DeclarationsAfterTopLevelModule |
IllegalDeclarationBeforeTopLevelModule |
MissingTypeSignature MissingTypeSignatureInfo |
NotAnExpression Expr |
NotAValidLetBinding (Maybe NotAValidLetBinding) |
NotAValidLetExpression NotAValidLetExpression |
NotValidBeforeField NiceDeclaration |
PrivateRecordField |
QualifiedLocalModule |
AsPatternInPatternSynonym |
DotPatternInPatternSynonym |
BadArgumentsToPatternSynonym AmbiguousQName |
TooFewArgumentsToPatternSynonym AmbiguousQName |
CannotResolveAmbiguousPatternSynonym (List1 (QName, PatternSynDefn)) |
IllegalInstanceVariableInPatternSynonym Name | This 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.
PatternSynonymArgumentShadows ConstructorOrPatternSynonym 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 Name | This variable is only bound on the lhs of the pattern synonym, not on the rhs.
UnboundVariablesInPatternSynonym (List1 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] Pattern | The 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 (List2 Pattern) | Pattern and its possible interpretations.
AmbiguousProjection QName (List1 QName) | The list contains alternative interpretations of the name.
AmbiguousOverloadedProjection (List1 QName) Doc |
OperatorInformation [NotationSection] TypeError | The list of notations can be empty.
InstanceNoCandidate Type [(Term, TCErr)] | The list can be empty. Reflection errors
ExecError ExecError |
UnquoteFailed UnquoteError |
DeBruijnIndexOutOfScope Nat Telescope [Name] | The list can be empty. Language option errors
NeedOptionAllowExec |
NeedOptionCopatterns |
NeedOptionCubical Cubical String | Flavor of cubical needed for the given reason.
NeedOptionPatternMatching |
NeedOptionProp |
NeedOptionRewriting |
NeedOptionSizedTypes String | Need `--sized-types` for the given reason.
NeedOptionTwoLevel |
NeedOptionUniversePolymorphism |
NonFatalErrors (Set1 TCWarning) |
InstanceSearchDepthExhausted Term Type Int |
TriedToCopyConstrainedPrim QName |
InvalidInstanceHeadType Type WhyInvalidInstanceType |
InteractionError InteractionError |
BackendDoesNotSupportOnlyScopeChecking BackendName | The given backend does not support `--only-scope-checking`.
CubicalCompilationNotSupported Cubical | NYI: Compilation of files using the given flavor of `Cubical`.
CustomBackendError BackendName Doc | Used for backend-specific errors. The string is the backend name.
GHCBackendError GHCBackendError | Errors raised by the GHC backend.
JSBackendError JSBackendError | Errors raised by the JS backend.
UnknownBackend BackendName (Set BackendName) | Unknown backend requested, known ones are in the `Set`.

#### Instances

Instances details

PrettyTCM TypeError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => TypeError -> m Doc Source #
NFData TypeError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TypeError -> () Source #
Generic TypeError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TypeError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TypeError = D1 ('MetaData "TypeError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((((((C1 ('MetaCons "InternalError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "NotImplemented" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NotSupported" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "CompilationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "SyntaxError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "OptionError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptionError)) :+: C1 ('MetaCons "NicifierError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeclarationException'))))) :+: ((C1 ('MetaCons "DoNotationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "IdiomBracketError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NoKnownRecordWithSuchFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))) :+: ((C1 ('MetaCons "ShouldEndInApplicationOfTheDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ConstructorPatternInWrongDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "CantResolveOverloadedConstructorsTargetingSameDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName))) :+: C1 ('MetaCons "ConstructorDoesNotTargetGivenType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: (((C1 ('MetaCons "InvalidDottedExpression" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LiteralTooBig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NegativeLiteralInPattern" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WrongHidingInLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongHidingInLambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "WrongHidingInApplication" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "WrongHidingInProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "IllegalHidingInPostfixProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))) :+: C1 ('MetaCons "WrongNamedArgument" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 NamedName)))) :+: (C1 ('MetaCons "WrongAnnotationInLambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongIrrelevanceInLambda" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WrongQuantityInLambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongCohesionInLambda" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "WrongPolarityInLambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QuantityMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity))))))) :+: ((((C1 ('MetaCons "HidingMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding)) :+: (C1 ('MetaCons "RelevanceMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance)) :+: C1 ('MetaCons "ForcedConstructorNotInstantiated" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)))) :+: ((C1 ('MetaCons "IllformedProjectionPatternAbstract" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: C1 ('MetaCons "IllformedProjectionPatternConcrete" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons "CannotEliminateWithPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CannotEliminateWithProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))) :+: (((C1 ('MetaCons "WrongNumberOfConstructorArguments" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat))) :+: C1 ('MetaCons "ShouldBeEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DeBruijnPattern]))) :+: (C1 ('MetaCons "ShouldBeASort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ShouldBePi" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "ShouldBePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ShouldBeRecordType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ShouldBeRecordPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeBruijnPattern)) :+: C1 ('MetaCons "CannotApply" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: (((C1 ('MetaCons "InvalidTypeSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: (C1 ('MetaCons "SplitOnCoinductive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SplitOnIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))))) :+: ((C1 ('MetaCons "SplitOnUnusableCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))) :+: C1 ('MetaCons "SplitOnUnusablePolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)))) :+: (C1 ('MetaCons "SplitOnNonVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "SplitOnNonEtaRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "SplitOnAbstract" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "SplitOnUnchecked" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "SplitOnPartial" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))) :+: C1 ('MetaCons "SplitInProp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecordE)))) :+: ((C1 ('MetaCons "DefinitionIsIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "DefinitionIsErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "ProjectionIsIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "VariableIsIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))))))) :+: (((((C1 ('MetaCons "VariableIsErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "VariableIsOfUnusableCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion)) :+: C1 ('MetaCons "LambdaIsErased" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RecordIsErased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InvalidModalTelescopeUse" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Definition)))) :+: (C1 ('MetaCons "VariableIsOfUnusablePolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality)) :+: C1 ('MetaCons "UnequalLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level)))))) :+: (((C1 ('MetaCons "UnequalTerms" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompareAs))) :+: C1 ('MetaCons "UnequalRelevance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "UnequalQuantity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnequalCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: ((C1 ('MetaCons "UnequalPolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnequalFiniteness" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "UnequalHiding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "UnequalSorts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))))) :+: (((C1 ('MetaCons "NotLeqSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: (C1 ('MetaCons "MetaCannotDependOn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat))) :+: C1 ('MetaCons "MetaIrrelevantSolution" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: ((C1 ('MetaCons "MetaErasedSolution" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "GenericError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "GenericDocError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "SortOfSplitVarError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))) :+: (((C1 ('MetaCons "WrongSharpArity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "BuiltinMustBeConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: (C1 ('MetaCons "BuiltinMustBeData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "BuiltinMustBeDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)))) :+: ((C1 ('MetaCons "BuiltinMustBeFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "BuiltinMustBePostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId))) :+: (C1 ('MetaCons "NoSuchBuiltinName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "InvalidBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))) :+: ((((C1 ('MetaCons "DuplicateBuiltinBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "NoBindingForBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "NoBindingForPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId)))) :+: ((C1 ('MetaCons "NoSuchPrimitiveFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "DuplicatePrimitiveBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "WrongArgInfoForPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo))) :+: C1 ('MetaCons "ShadowedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ModuleName)))))) :+: (((C1 ('MetaCons "BuiltinInParameterisedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "IllegalDeclarationInDataDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Declaration)))) :+: (C1 ('MetaCons "IllegalLetInTelescope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypedBinding)) :+: C1 ('MetaCons "IllegalPatternInTelescope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Binder)))) :+: ((C1 ('MetaCons "AbsentRHSRequiresAbsurdPattern" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooManyFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))))) :+: (C1 ('MetaCons "DuplicateFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))) :+: C1 ('MetaCons "DuplicateConstructors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))))))) :+: (((C1 ('MetaCons "DuplicateOverlapPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode))) :+: (C1 ('MetaCons "WithOnFreeVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "UnexpectedWithPatterns" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Pattern))))) :+: ((C1 ('MetaCons "WithClausePatternMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg DeBruijnPattern))) :+: C1 ('MetaCons "IllTypedPatternAfterWithAbstraction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons "TooFewPatternsInWithClause" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooManyPatternsInWithClause" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "PathAbstractionFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Type))) :+: C1 ('MetaCons "FieldOutsideRecord" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ModuleArityMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either (List1 (NamedArg Expr)) Args)))) :+: C1 ('MetaCons "GeneralizeCyclicDependency" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ReferencesFutureVariables" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Int))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: C1 ('MetaCons "DoesNotMentionTicks" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term))))) :+: (C1 ('MetaCons "MismatchedProjectionsError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "AttributeKindNotEnabled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))))))) :+: ((((((C1 ('MetaCons "InvalidProjectionParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))) :+: (C1 ('MetaCons "TacticAttributeNotAllowed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CannotRewriteByNonEquation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "MacroResultTypeMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "NamedWhereModuleInRefinedContext" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Term]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) :+: (C1 ('MetaCons "ComatchingDisabledForRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "IncorrectTypeForRewriteRelation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IncorrectTypeForRewriteRelationReason))))) :+: (((C1 ('MetaCons "CannotGenerateHCompClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "CannotGenerateTransportClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure (Abs Type))))) :+: (C1 ('MetaCons "CubicalNotErasure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CubicalPrimitiveNotFullyApplied" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: ((C1 ('MetaCons "ExpectedIntervalLiteral" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "FaceConstraintDisjunction" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FaceConstraintUnsatisfiable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatternInPathLambda" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "PatternInSystem" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnexpectedParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding)) :+: C1 ('MetaCons "NoParameterOfName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgName)))) :+: ((C1 ('MetaCons "UnexpectedModalityAnnotationInParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding)) :+: C1 ('MetaCons "ExpectedBindingForParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Type)))) :+: (C1 ('MetaCons "UnexpectedTypeSignatureForParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (NamedArg Binder)))) :+: C1 ('MetaCons "SortDoesNotAdmitDataDefinitions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))))) :+: (((C1 ('MetaCons "SortCannotDependOnItsIndex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "UnusableAtModality" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyCheckModality) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "SplitError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SplitError)) :+: C1 ('MetaCons "ImpossibleConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NegativeUnification)))) :+: ((C1 ('MetaCons "DatatypeIndexPolarity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RecursiveRecordNeedsInductivity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "CannotSolveSizeConstraints" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (ProblemConstraint, HypSizeConstraint))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "ContradictorySizeConstraint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ProblemConstraint, HypSizeConstraint)))))))) :+: ((((C1 ('MetaCons "EmptyTypeOfSizes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "FunctionTypeInSizeUniv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "PostulatedSizeInModule" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LibraryError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibErrors)) :+: C1 ('MetaCons "LibTooFarDown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AgdaLibFile))) :+: (C1 ('MetaCons "SolvedButOpenHoles" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CyclicModuleDependency" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 TopLevelModuleName)))))) :+: (((C1 ('MetaCons "FileNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: C1 ('MetaCons "OverlappingProjects" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))) :+: (C1 ('MetaCons "AmbiguousTopLevelModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 AbsolutePath))) :+: C1 ('MetaCons "ModuleNameUnexpected" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))) :+: ((C1 ('MetaCons "ModuleNameDoesntMatchFileName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: C1 ('MetaCons "ModuleDefinedInOtherFile" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath)))) :+: (C1 ('MetaCons "InvalidFileName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InvalidFileNameReason)) :+: C1 ('MetaCons "ModuleNameHashCollision" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RawTopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RawTopLevelModuleName))))))) :+: (((C1 ('MetaCons "BothWithAndRHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbstractConstructorNotInScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CopatternHeadNotProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: ((C1 ('MetaCons "NotAllowedInDotPatterns" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NotAllowedInDotPatterns)) :+: C1 ('MetaCons "NotInScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "NoSuchModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "AmbiguousName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousNameReason))))) :+: (((C1 ('MetaCons "AmbiguousModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ModuleName))) :+: C1 ('MetaCons "AmbiguousField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 ModuleName)))) :+: (C1 ('MetaCons "AmbiguousConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 QName))) :+: C1 ('MetaCons "ClashingDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NiceDeclaration)))))) :+: ((C1 ('MetaCons "ClashingModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons "DefinitionInDifferentModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "DuplicateImports" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: C1 ('MetaCons "InvalidPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)))))))) :+: (((((C1 ('MetaCons "InvalidPun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorOrPatternSynonym) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "RepeatedNamesInImportDirective" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (List2 ImportedName)))) :+: C1 ('MetaCons "RepeatedVariablesInPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))))) :+: ((C1 ('MetaCons "GeneralizeNotSupportedHere" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "GeneralizedVarInLetOpenedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "MultipleFixityDecls" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Name, Pair Fixity')))) :+: C1 ('MetaCons "MultiplePolarityPragmas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name)))))) :+: (((C1 ('MetaCons "ExplicitPolarityVsPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "ConstructorNameOfNonRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResolvedName))) :+: (C1 ('MetaCons "CannotQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CannotQuote)) :+: C1 ('MetaCons "CannotQuoteTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CannotQuoteTerm)))) :+: ((C1 ('MetaCons "DeclarationsAfterTopLevelModule" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IllegalDeclarationBeforeTopLevelModule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MissingTypeSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MissingTypeSignatureInfo)) :+: C1 ('MetaCons "NotAnExpression" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))) :+: (((C1 ('MetaCons "NotAValidLetBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NotAValidLetBinding))) :+: (C1 ('MetaCons "NotAValidLetExpression" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NotAValidLetExpression)) :+: C1 ('MetaCons "NotValidBeforeField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)))) :+: ((C1 ('MetaCons "PrivateRecordField" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QualifiedLocalModule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AsPatternInPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DotPatternInPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "BadArgumentsToPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: C1 ('MetaCons "TooFewArgumentsToPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName))) :+: (C1 ('MetaCons "CannotResolveAmbiguousPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (QName, PatternSynDefn)))) :+: C1 ('MetaCons "IllegalInstanceVariableInPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons "PatternSynonymArgumentShadows" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorOrPatternSynonym) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 AbstractName)))) :+: C1 ('MetaCons "UnusedVariableInPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "UnboundVariablesInPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))) :+: C1 ('MetaCons "NoParseForApplication" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Expr)))))))) :+: ((((C1 ('MetaCons "AmbiguousParseForApplication" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Expr)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Expr))) :+: (C1 ('MetaCons "NoParseForLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pattern]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: C1 ('MetaCons "AmbiguousParseForLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Pattern)))))) :+: ((C1 ('MetaCons "AmbiguousProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName))) :+: C1 ('MetaCons "AmbiguousOverloadedProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons "OperatorInformation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NotationSection]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeError)) :+: C1 ('MetaCons "InstanceNoCandidate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Term, TCErr)]))))) :+: (((C1 ('MetaCons "ExecError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExecError)) :+: C1 ('MetaCons "UnquoteFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnquoteError))) :+: (C1 ('MetaCons "DeBruijnIndexOutOfScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))) :+: C1 ('MetaCons "NeedOptionAllowExec" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NeedOptionCopatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeedOptionCubical" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cubical) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "NeedOptionPatternMatching" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeedOptionProp" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "NeedOptionRewriting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NeedOptionSizedTypes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NeedOptionTwoLevel" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NeedOptionUniversePolymorphism" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonFatalErrors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 TCWarning)))) :+: (C1 ('MetaCons "InstanceSearchDepthExhausted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: C1 ('MetaCons "TriedToCopyConstrainedPrim" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "InvalidInstanceHeadType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyInvalidInstanceType)) :+: C1 ('MetaCons "InteractionError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionError))) :+: (C1 ('MetaCons "BackendDoesNotSupportOnlyScopeChecking" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName)) :+: C1 ('MetaCons "CubicalCompilationNotSupported" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cubical)))) :+: ((C1 ('MetaCons "CustomBackendError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "GHCBackendError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GHCBackendError))) :+: (C1 ('MetaCons "JSBackendError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JSBackendError)) :+: C1 ('MetaCons "UnknownBackend" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set BackendName)))))))))))

Methods

from :: TypeError -> Rep TypeError x Source #

to :: Rep TypeError x -> TypeError Source #

Show TypeError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TypeError -> ShowS Source # show :: TypeError -> String Source # showList :: [TypeError] -> ShowS Source #
type Rep TypeError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TypeError = D1 ('MetaData "TypeError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((((((C1 ('MetaCons "InternalError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "NotImplemented" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NotSupported" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "CompilationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "SyntaxError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "OptionError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptionError)) :+: C1 ('MetaCons "NicifierError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeclarationException'))))) :+: ((C1 ('MetaCons "DoNotationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "IdiomBracketError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NoKnownRecordWithSuchFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))) :+: ((C1 ('MetaCons "ShouldEndInApplicationOfTheDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ConstructorPatternInWrongDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "CantResolveOverloadedConstructorsTargetingSameDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName))) :+: C1 ('MetaCons "ConstructorDoesNotTargetGivenType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: (((C1 ('MetaCons "InvalidDottedExpression" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LiteralTooBig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NegativeLiteralInPattern" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WrongHidingInLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongHidingInLambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "WrongHidingInApplication" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "WrongHidingInProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "IllegalHidingInPostfixProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))) :+: C1 ('MetaCons "WrongNamedArgument" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 NamedName)))) :+: (C1 ('MetaCons "WrongAnnotationInLambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongIrrelevanceInLambda" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WrongQuantityInLambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongCohesionInLambda" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "WrongPolarityInLambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QuantityMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity))))))) :+: ((((C1 ('MetaCons "HidingMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding)) :+: (C1 ('MetaCons "RelevanceMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance)) :+: C1 ('MetaCons "ForcedConstructorNotInstantiated" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)))) :+: ((C1 ('MetaCons "IllformedProjectionPatternAbstract" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: C1 ('MetaCons "IllformedProjectionPatternConcrete" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons "CannotEliminateWithPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CannotEliminateWithProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))) :+: (((C1 ('MetaCons "WrongNumberOfConstructorArguments" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat))) :+: C1 ('MetaCons "ShouldBeEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DeBruijnPattern]))) :+: (C1 ('MetaCons "ShouldBeASort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ShouldBePi" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "ShouldBePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ShouldBeRecordType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ShouldBeRecordPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeBruijnPattern)) :+: C1 ('MetaCons "CannotApply" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: (((C1 ('MetaCons "InvalidTypeSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: (C1 ('MetaCons "SplitOnCoinductive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SplitOnIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))))) :+: ((C1 ('MetaCons "SplitOnUnusableCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))) :+: C1 ('MetaCons "SplitOnUnusablePolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)))) :+: (C1 ('MetaCons "SplitOnNonVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "SplitOnNonEtaRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "SplitOnAbstract" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "SplitOnUnchecked" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "SplitOnPartial" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type))) :+: C1 ('MetaCons "SplitInProp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecordE)))) :+: ((C1 ('MetaCons "DefinitionIsIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "DefinitionIsErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "ProjectionIsIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "VariableIsIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))))))) :+: (((((C1 ('MetaCons "VariableIsErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "VariableIsOfUnusableCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion)) :+: C1 ('MetaCons "LambdaIsErased" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RecordIsErased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InvalidModalTelescopeUse" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Definition)))) :+: (C1 ('MetaCons "VariableIsOfUnusablePolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality)) :+: C1 ('MetaCons "UnequalLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Level)))))) :+: (((C1 ('MetaCons "UnequalTerms" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompareAs))) :+: C1 ('MetaCons "UnequalRelevance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "UnequalQuantity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnequalCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: ((C1 ('MetaCons "UnequalPolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnequalFiniteness" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "UnequalHiding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "UnequalSorts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))))) :+: (((C1 ('MetaCons "NotLeqSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: (C1 ('MetaCons "MetaCannotDependOn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat))) :+: C1 ('MetaCons "MetaIrrelevantSolution" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: ((C1 ('MetaCons "MetaErasedSolution" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "GenericError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "GenericDocError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "SortOfSplitVarError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Blocker)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))) :+: (((C1 ('MetaCons "WrongSharpArity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "BuiltinMustBeConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: (C1 ('MetaCons "BuiltinMustBeData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "BuiltinMustBeDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)))) :+: ((C1 ('MetaCons "BuiltinMustBeFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "BuiltinMustBePostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId))) :+: (C1 ('MetaCons "NoSuchBuiltinName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "InvalidBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))) :+: ((((C1 ('MetaCons "DuplicateBuiltinBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "NoBindingForBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "NoBindingForPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId)))) :+: ((C1 ('MetaCons "NoSuchPrimitiveFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "DuplicatePrimitiveBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "WrongArgInfoForPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveId) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo))) :+: C1 ('MetaCons "ShadowedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ModuleName)))))) :+: (((C1 ('MetaCons "BuiltinInParameterisedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "IllegalDeclarationInDataDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Declaration)))) :+: (C1 ('MetaCons "IllegalLetInTelescope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypedBinding)) :+: C1 ('MetaCons "IllegalPatternInTelescope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Binder)))) :+: ((C1 ('MetaCons "AbsentRHSRequiresAbsurdPattern" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooManyFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))))) :+: (C1 ('MetaCons "DuplicateFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))) :+: C1 ('MetaCons "DuplicateConstructors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))))))) :+: (((C1 ('MetaCons "DuplicateOverlapPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode))) :+: (C1 ('MetaCons "WithOnFreeVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "UnexpectedWithPatterns" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Pattern))))) :+: ((C1 ('MetaCons "WithClausePatternMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg DeBruijnPattern))) :+: C1 ('MetaCons "IllTypedPatternAfterWithAbstraction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons "TooFewPatternsInWithClause" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooManyPatternsInWithClause" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "PathAbstractionFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Type))) :+: C1 ('MetaCons "FieldOutsideRecord" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ModuleArityMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either (List1 (NamedArg Expr)) Args)))) :+: C1 ('MetaCons "GeneralizeCyclicDependency" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ReferencesFutureVariables" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Int))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: C1 ('MetaCons "DoesNotMentionTicks" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term))))) :+: (C1 ('MetaCons "MismatchedProjectionsError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "AttributeKindNotEnabled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))))))) :+: ((((((C1 ('MetaCons "InvalidProjectionParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))) :+: (C1 ('MetaCons "TacticAttributeNotAllowed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CannotRewriteByNonEquation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "MacroResultTypeMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "NamedWhereModuleInRefinedContext" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Term]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) :+: (C1 ('MetaCons "ComatchingDisabledForRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "IncorrectTypeForRewriteRelation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IncorrectTypeForRewriteRelationReason))))) :+: (((C1 ('MetaCons "CannotGenerateHCompClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "CannotGenerateTransportClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure (Abs Type))))) :+: (C1 ('MetaCons "CubicalNotErasure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CubicalPrimitiveNotFullyApplied" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: ((C1 ('MetaCons "ExpectedIntervalLiteral" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "FaceConstraintDisjunction" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FaceConstraintUnsatisfiable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatternInPathLambda" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "PatternInSystem" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnexpectedParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding)) :+: C1 ('MetaCons "NoParameterOfName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgName)))) :+: ((C1 ('MetaCons "UnexpectedModalityAnnotationInParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding)) :+: C1 ('MetaCons "ExpectedBindingForParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs Type)))) :+: (C1 ('MetaCons "UnexpectedTypeSignatureForParameter" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (NamedArg Binder)))) :+: C1 ('MetaCons "SortDoesNotAdmitDataDefinitions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))))) :+: (((C1 ('MetaCons "SortCannotDependOnItsIndex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "UnusableAtModality" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyCheckModality) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "SplitError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SplitError)) :+: C1 ('MetaCons "ImpossibleConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NegativeUnification)))) :+: ((C1 ('MetaCons "DatatypeIndexPolarity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RecursiveRecordNeedsInductivity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "CannotSolveSizeConstraints" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (ProblemConstraint, HypSizeConstraint))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "ContradictorySizeConstraint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ProblemConstraint, HypSizeConstraint)))))))) :+: ((((C1 ('MetaCons "EmptyTypeOfSizes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "FunctionTypeInSizeUniv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "PostulatedSizeInModule" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LibraryError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibErrors)) :+: C1 ('MetaCons "LibTooFarDown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AgdaLibFile))) :+: (C1 ('MetaCons "SolvedButOpenHoles" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CyclicModuleDependency" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 TopLevelModuleName)))))) :+: (((C1 ('MetaCons "FileNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: C1 ('MetaCons "OverlappingProjects" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))) :+: (C1 ('MetaCons "AmbiguousTopLevelModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 AbsolutePath))) :+: C1 ('MetaCons "ModuleNameUnexpected" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))) :+: ((C1 ('MetaCons "ModuleNameDoesntMatchFileName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbsolutePath])) :+: C1 ('MetaCons "ModuleDefinedInOtherFile" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath)))) :+: (C1 ('MetaCons "InvalidFileName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbsolutePath) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InvalidFileNameReason)) :+: C1 ('MetaCons "ModuleNameHashCollision" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RawTopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RawTopLevelModuleName))))))) :+: (((C1 ('MetaCons "BothWithAndRHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbstractConstructorNotInScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CopatternHeadNotProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: ((C1 ('MetaCons "NotAllowedInDotPatterns" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NotAllowedInDotPatterns)) :+: C1 ('MetaCons "NotInScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "NoSuchModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "AmbiguousName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousNameReason))))) :+: (((C1 ('MetaCons "AmbiguousModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ModuleName))) :+: C1 ('MetaCons "AmbiguousField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 ModuleName)))) :+: (C1 ('MetaCons "AmbiguousConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 QName))) :+: C1 ('MetaCons "ClashingDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NiceDeclaration)))))) :+: ((C1 ('MetaCons "ClashingModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons "DefinitionInDifferentModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "DuplicateImports" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: C1 ('MetaCons "InvalidPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)))))))) :+: (((((C1 ('MetaCons "InvalidPun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorOrPatternSynonym) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "RepeatedNamesInImportDirective" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (List2 ImportedName)))) :+: C1 ('MetaCons "RepeatedVariablesInPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))))) :+: ((C1 ('MetaCons "GeneralizeNotSupportedHere" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "GeneralizedVarInLetOpenedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "MultipleFixityDecls" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Name, Pair Fixity')))) :+: C1 ('MetaCons "MultiplePolarityPragmas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name)))))) :+: (((C1 ('MetaCons "ExplicitPolarityVsPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "ConstructorNameOfNonRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResolvedName))) :+: (C1 ('MetaCons "CannotQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CannotQuote)) :+: C1 ('MetaCons "CannotQuoteTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CannotQuoteTerm)))) :+: ((C1 ('MetaCons "DeclarationsAfterTopLevelModule" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IllegalDeclarationBeforeTopLevelModule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MissingTypeSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MissingTypeSignatureInfo)) :+: C1 ('MetaCons "NotAnExpression" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))) :+: (((C1 ('MetaCons "NotAValidLetBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NotAValidLetBinding))) :+: (C1 ('MetaCons "NotAValidLetExpression" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NotAValidLetExpression)) :+: C1 ('MetaCons "NotValidBeforeField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)))) :+: ((C1 ('MetaCons "PrivateRecordField" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QualifiedLocalModule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AsPatternInPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DotPatternInPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "BadArgumentsToPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: C1 ('MetaCons "TooFewArgumentsToPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName))) :+: (C1 ('MetaCons "CannotResolveAmbiguousPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (QName, PatternSynDefn)))) :+: C1 ('MetaCons "IllegalInstanceVariableInPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons "PatternSynonymArgumentShadows" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorOrPatternSynonym) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 AbstractName)))) :+: C1 ('MetaCons "UnusedVariableInPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "UnboundVariablesInPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))) :+: C1 ('MetaCons "NoParseForApplication" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Expr)))))))) :+: ((((C1 ('MetaCons "AmbiguousParseForApplication" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Expr)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Expr))) :+: (C1 ('MetaCons "NoParseForLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pattern]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: C1 ('MetaCons "AmbiguousParseForLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSOrPatSyn) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 Pattern)))))) :+: ((C1 ('MetaCons "AmbiguousProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName))) :+: C1 ('MetaCons "AmbiguousOverloadedProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons "OperatorInformation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NotationSection]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeError)) :+: C1 ('MetaCons "InstanceNoCandidate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Term, TCErr)]))))) :+: (((C1 ('MetaCons "ExecError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExecError)) :+: C1 ('MetaCons "UnquoteFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnquoteError))) :+: (C1 ('MetaCons "DeBruijnIndexOutOfScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))) :+: C1 ('MetaCons "NeedOptionAllowExec" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NeedOptionCopatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeedOptionCubical" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cubical) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "NeedOptionPatternMatching" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeedOptionProp" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "NeedOptionRewriting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NeedOptionSizedTypes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NeedOptionTwoLevel" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NeedOptionUniversePolymorphism" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonFatalErrors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 TCWarning)))) :+: (C1 ('MetaCons "InstanceSearchDepthExhausted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: C1 ('MetaCons "TriedToCopyConstrainedPrim" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "InvalidInstanceHeadType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyInvalidInstanceType)) :+: C1 ('MetaCons "InteractionError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionError))) :+: (C1 ('MetaCons "BackendDoesNotSupportOnlyScopeChecking" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName)) :+: C1 ('MetaCons "CubicalCompilationNotSupported" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cubical)))) :+: ((C1 ('MetaCons "CustomBackendError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "GHCBackendError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GHCBackendError))) :+: (C1 ('MetaCons "JSBackendError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JSBackendError)) :+: C1 ('MetaCons "UnknownBackend" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set BackendName)))))))))))

data TCErr Source #

Type-checking errors.

Constructors

TypeError |

Fields

- tcErrLocation :: CallStack

  Location in the internal Agda source code where the error was raised

- tcErrState :: TCState

  The state in which the error was raised.

- tcErrClosErr :: Closure TypeError

  The environment in which the error as raised plus the error.

ParserError ParseError | Error raised by the Happy parser.
GenericException String | Unspecific error without `Range`.
IOException (Maybe TCState) Range IOException | The first argument is the state in which the error was raised.
PatternErr Blocker | The 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.

#### Instances

Instances details

EncodeTCM DisplayInfo Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: DisplayInfo -> TCM Value Source #
EncodeTCM Info_Error Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: Info_Error -> TCM Value Source #
EncodeTCM Response Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: Response -> TCM Value Source #
EncodeTCM TCErr Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: TCErr -> TCM Value Source #
HasRange TCErr Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: TCErr -> Range Source #
PrettyTCM TCErr Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => TCErr -> m Doc Source #
NFData TCErr Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TCErr -> () Source #
Exception TCErr Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods toException :: TCErr -> SomeException Source # fromException :: SomeException -> Maybe TCErr Source # displayException :: TCErr -> String Source # backtraceDesired :: TCErr -> Bool Source #
Show TCErr Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TCErr -> ShowS Source # show :: TCErr -> String Source # showList :: [TCErr] -> ShowS Source #
MonadError TCErr IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods throwError :: TCErr -> IM a Source # catchError :: IM a -> (TCErr -> IM a) -> IM a Source #
MonadError TCErr TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods throwError :: TCErr -> TerM a Source # catchError :: TerM a -> (TCErr -> TerM a) -> TerM a Source #
Monad m => MonadError TCErr (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods throwError :: TCErr -> PureConversionT m a Source # catchError :: PureConversionT m a -> (TCErr -> PureConversionT m a) -> PureConversionT m a Source #
(CatchIO m, MonadIO m) => MonadError TCErr (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods throwError :: TCErr -> TCMT m a Source # catchError :: TCMT m a -> (TCErr -> TCMT m a) -> TCMT m a Source #
EncodeTCM (OutputForm Expr Expr) Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: OutputForm Expr Expr -> TCM Value Source #
(Pretty a, Pretty b) => Pretty (OutputConstraint a b) Source # |
Instance details Defined in Agda.Interaction.BasicOps Methods pretty :: OutputConstraint a b -> Doc Source # prettyPrec :: Int -> OutputConstraint a b -> Doc Source # prettyList :: [OutputConstraint a b] -> Doc Source #
(Pretty a, Pretty b) => Pretty (OutputForm a b) Source # |
Instance details Defined in Agda.Interaction.BasicOps Methods pretty :: OutputForm a b -> Doc Source # prettyPrec :: Int -> OutputForm a b -> Doc Source # prettyList :: [OutputForm a b] -> Doc Source #
(ToConcrete a, ToConcrete b) => ToConcrete (OutputConstraint a b) Source # |

Instance details

Defined in Agda.Interaction.BasicOps

Associated Types

type ConOfAbs (OutputConstraint a b) |
Instance details Defined in Agda.Interaction.BasicOps type ConOfAbs (OutputConstraint a b) = OutputConstraint (ConOfAbs a) (ConOfAbs b)

Methods

toConcrete :: MonadToConcrete m => OutputConstraint a b -> m (ConOfAbs (OutputConstraint a b)) Source #

bindToConcrete :: MonadToConcrete m => OutputConstraint a b -> (ConOfAbs (OutputConstraint a b) -> m b0) -> m b0 Source #

(ToConcrete a, ToConcrete b) => ToConcrete (OutputForm a b) Source # |

Instance details

Defined in Agda.Interaction.BasicOps

Associated Types

type ConOfAbs (OutputForm a b) |
Instance details Defined in Agda.Interaction.BasicOps type ConOfAbs (OutputForm a b) = OutputForm (ConOfAbs a) (ConOfAbs b)

Methods

toConcrete :: MonadToConcrete m => OutputForm a b -> m (ConOfAbs (OutputForm a b)) Source #

bindToConcrete :: MonadToConcrete m => OutputForm a b -> (ConOfAbs (OutputForm a b) -> m b0) -> m b0 Source #

Monad m => MonadBlock (ExceptT TCErr m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> ExceptT TCErr m a Source # catchPatternErr :: (Blocker -> ExceptT TCErr m a) -> ExceptT TCErr m a -> ExceptT TCErr m a Source #
(Pretty a, Pretty b) => PrettyTCM (OutputForm a b) Source # |
Instance details Defined in Agda.Interaction.BasicOps Methods prettyTCM :: MonadPretty m => OutputForm a b -> m Doc Source #
type ConOfAbs (OutputConstraint a b) Source # |
Instance details Defined in Agda.Interaction.BasicOps type ConOfAbs (OutputConstraint a b) = OutputConstraint (ConOfAbs a) (ConOfAbs b)
type ConOfAbs (OutputForm a b) Source # |
Instance details Defined in Agda.Interaction.BasicOps type ConOfAbs (OutputForm a b) = OutputForm (ConOfAbs a) (ConOfAbs b)

type Backend = Backend_boot Definition TCM Source #

data Builtin pf Source #

Constructors

Builtin Term |
Prim pf |
BuiltinRewriteRelations (Set QName) | `BUILTIN REWRITE`. We can have several rewrite relations.

#### Instances

Instances details

Functor Builtin Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> Builtin a -> Builtin b Source # (<$) :: a -> Builtin b -> Builtin a Source #
Foldable Builtin Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

fold :: Monoid m => Builtin m -> m Source #

foldMap :: Monoid m => (a -> m) -> Builtin a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Builtin a -> m Source #

foldr :: (a -> b -> b) -> b -> Builtin a -> b Source #

foldr' :: (a -> b -> b) -> b -> Builtin a -> b Source #

foldl :: (b -> a -> b) -> b -> Builtin a -> b Source #

foldl' :: (b -> a -> b) -> b -> Builtin a -> b Source #

foldr1 :: (a -> a -> a) -> Builtin a -> a Source #

foldl1 :: (a -> a -> a) -> Builtin a -> a Source #

toList :: Builtin a -> [a] Source #

null :: Builtin a -> Bool Source #

length :: Builtin a -> Int Source #

elem :: Eq a => a -> Builtin a -> Bool Source #

maximum :: Ord a => Builtin a -> a Source #

minimum :: Ord a => Builtin a -> a Source #

sum :: Num a => Builtin a -> a Source #

product :: Num a => Builtin a -> a Source #

Traversable Builtin Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverse :: Applicative f => (a -> f b) -> Builtin a -> f (Builtin b) Source # sequenceA :: Applicative f => Builtin (f a) -> f (Builtin a) Source # mapM :: Monad m => (a -> m b) -> Builtin a -> m (Builtin b) Source # sequence :: Monad m => Builtin (m a) -> m (Builtin a) Source #
NamesIn a => NamesIn (Builtin a) Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> Builtin a -> m Source #
InstantiateFull a => InstantiateFull (Builtin a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Builtin a -> ReduceM (Builtin a) Source #
EmbPrj a => EmbPrj (Builtin a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Builtin a -> S Word32 Source # icod_ :: Builtin a -> S Word32 Source # value :: Word32 -> R (Builtin a) Source #
NFData pf => NFData (Builtin pf) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Builtin pf -> () Source #
Generic (Builtin pf) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep (Builtin pf) |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Builtin pf) = D1 ('MetaData "Builtin" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Builtin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "Prim" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 pf)) :+: C1 ('MetaCons "BuiltinRewriteRelations" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)))))

Methods

from :: Builtin pf -> Rep (Builtin pf) x Source #

to :: Rep (Builtin pf) x -> Builtin pf Source #

Show pf => Show (Builtin pf) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Builtin pf -> ShowS Source # show :: Builtin pf -> String Source # showList :: [Builtin pf] -> ShowS Source #
type Rep (Builtin pf) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Builtin pf) = D1 ('MetaData "Builtin" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Builtin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "Prim" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 pf)) :+: C1 ('MetaCons "BuiltinRewriteRelations" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)))))

data ModuleInfo Source #

Constructors

ModuleInfo |

Fields

- miInterface :: Interface
- miWarnings :: Set 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 :: Bool

  `True` if the module is a primitive module, which should always be importable.

- miMode :: ModuleCheckMode

  The `ModuleCheckMode` used to create the `Interface`

#### Instances

Instances details

NFData ModuleInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ModuleInfo -> () Source #
Generic ModuleInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ModuleInfo |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "miInterface") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Interface) :*: S1 ('MetaSel ('Just "miWarnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set TCWarning))) :*: (S1 ('MetaSel ('Just "miPrimitive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "miMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleCheckMode))))

Methods

from :: ModuleInfo -> Rep ModuleInfo x Source #

to :: Rep ModuleInfo x -> ModuleInfo Source #

type Rep ModuleInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "miInterface") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Interface) :*: S1 ('MetaSel ('Just "miWarnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set TCWarning))) :*: (S1 ('MetaSel ('Just "miPrimitive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "miMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleCheckMode))))

data System Source #

An alternative representation of partial elements in a telescope: Γ ⊢ λ Δ. [φ₁ u₁, ... , φₙ uₙ] : Δ → PartialP (∨_ᵢ φᵢ) T see cubicaltt paper (however we do not store the type T).

Constructors

System |

Fields

- systemTel :: Telescope

  the telescope Δ, binding vars for the clauses, Γ ⊢ Δ

- systemClauses :: [(Face, Term)]

  a system [φ₁ u₁, ... , φₙ uₙ] where Γ, Δ ⊢ φᵢ and Γ, Δ, φᵢ ⊢ uᵢ

#### Instances

Instances details

NamesIn System Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> System -> m Source #
KillRange System Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT System Source #
InstantiateFull System Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: System -> ReduceM System Source #
EmbPrj System Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: System -> S Word32 Source # icod_ :: System -> S Word32 Source # value :: Word32 -> R System Source #
Abstract System Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> System -> System Source #
Apply System Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: System -> Args -> System Source # applyE :: System -> Elims -> System Source #
NFData System Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: System -> () Source #
Generic System Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep System |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep System = D1 ('MetaData "System" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)])))

Methods

from :: System -> Rep System x Source #

to :: Rep System x -> System Source #

Show System Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> System -> ShowS Source # show :: System -> String Source # showList :: [System] -> ShowS Source #
Reify (QNamed System) Source # |

Instance details

Defined in Agda.Syntax.Translation.InternalToAbstract

Associated Types

type ReifiesTo (QNamed System) |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo (QNamed System) = [Clause]

Methods

reify :: MonadReify m => QNamed System -> m (ReifiesTo (QNamed System)) Source #

reifyWhen :: MonadReify m => Bool -> QNamed System -> m (ReifiesTo (QNamed System)) Source #

type Rep System Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep System = D1 ('MetaData "System" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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) Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo (QNamed System) = [Clause]

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 -> Defn Source #

type TCM = TCMT IO Source #

Type checking monad.

newtype TCMT (m :: Type -> Type) a Source #

The type checking monad transformer. Adds readonly `TCEnv` and mutable `TCState`.

Constructors

TCM |

Fields

- unTCM :: IORef TCState -> TCEnv -> m a

#### Instances

Instances details

MonadFixityError ScopeM Source # |

Instance details

Defined in Agda.Syntax.Scope.Monad

Methods

throwMultipleFixityDecls :: List1 (Name, Pair Fixity') -> ScopeM a Source #

throwMultiplePolarityPragmas :: List1 Name -> ScopeM a Source #

warnUnknownNamesInFixityDecl :: Set1 Name -> ScopeM () Source #

warnUnknownNamesInPolarityPragmas :: Set1 Name -> ScopeM () Source #

warnUnknownFixityInMixfixDecl :: Set1 Name -> ScopeM () Source #

warnPolarityPragmasButNotPostulates :: Set1 Name -> ScopeM () Source #

warnEmptyPolarityPragma :: Range -> ScopeM () Source #

MonadBlock TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> TCM a Source # catchPatternErr :: (Blocker -> TCM a) -> TCM a -> TCM a Source #
MonadStConcreteNames TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames TCM a -> TCM a Source # useConcreteNames :: TCM ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> TCM () Source #
MonadConstraint TCM Source # |

Instance details

Defined in Agda.TypeChecking.Constraints

Methods

addConstraint :: Blocker -> Constraint -> TCM () Source #

addAwakeConstraint :: Blocker -> Constraint -> TCM () Source #

solveConstraint :: Constraint -> TCM () Source #

solveSomeAwakeConstraints :: (ProblemConstraint -> Bool) -> Bool -> TCM () Source #

wakeConstraints :: (ProblemConstraint -> WakeUp) -> TCM () Source #

stealConstraints :: ProblemId -> TCM () Source #

modifyAwakeConstraints :: (Constraints -> Constraints) -> TCM () Source #

modifySleepingConstraints :: (Constraints -> Constraints) -> TCM () Source #

MonadAddContext TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addCtx :: Name -> Dom Type -> TCM a -> TCM a Source # addLetBinding' :: Origin -> Name -> Term -> Dom Type -> TCM a -> TCM a Source # updateContext :: Substitution -> (Context -> Context) -> TCM a -> TCM a Source # withFreshName :: Range -> ArgName -> (Name -> TCM a) -> TCM a Source #
MonadDebug TCM Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Debug

Methods

formatDebugMessage :: VerboseKey -> VerboseLevel -> TCM Doc -> TCM String Source #

traceDebugMessage :: VerboseKey -> VerboseLevel -> String -> TCM a -> TCM a Source #

verboseBracket :: VerboseKey -> VerboseLevel -> String -> TCM a -> TCM a Source #

getVerbosity :: TCM Verbosity Source #

getProfileOptions :: TCM ProfileOptions Source #

isDebugPrinting :: TCM Bool Source #

nowDebugPrinting :: TCM a -> TCM a Source #

MonadInteractionPoints TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.MetaVars Methods freshInteractionId :: TCM InteractionId Source # modifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> TCM () Source #
MonadMetaSolver TCM Source # |

Instance details

Defined in Agda.TypeChecking.MetaVars

Methods

newMeta' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> TCM MetaId Source #

assignV :: CompareDirection -> MetaId -> Args -> Term -> CompareAs -> TCM () Source #

assignTerm' :: MetaId -> [Arg ArgName] -> Term -> TCM () Source #

etaExpandMeta :: [MetaClass] -> MetaId -> TCM () Source #

updateMetaVar :: MetaId -> (MetaVariable -> MetaVariable) -> TCM () Source #

speculateMetas :: TCM () -> TCM KeepMetas -> TCM () Source #

PureTCM TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Pure
MonadStatistics TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Statistics Methods modifyCounter :: String -> (Integer -> Integer) -> TCM () Source #
MonadTrace TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Trace Methods traceCall :: Call -> TCM a -> TCM a Source # traceCallM :: TCM Call -> TCM a -> TCM a Source # traceCallCPS :: Call -> ((a -> TCM b) -> TCM b) -> (a -> TCM b) -> TCM b Source # traceClosureCall :: Closure Call -> TCM a -> TCM a Source # printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> TCM () Source #
MonadWarning TCM Source # |
Instance details Defined in Agda.TypeChecking.Warnings Methods addWarning :: Bool -> TCWarning -> TCM () Source #
MonadBench TCM Source # | We store benchmark statistics in an IORef. This enables benchmarking pure computation, see Agda.Benchmarking.

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type BenchPhase TCM |
Instance details Defined in Agda.TypeChecking.Monad.Base type BenchPhase TCM = Phase

Methods

getBenchmark :: TCM (Benchmark (BenchPhase TCM)) Source #

putBenchmark :: Benchmark (BenchPhase TCM) -> TCM () Source #

modifyBenchmark :: (Benchmark (BenchPhase TCM) -> Benchmark (BenchPhase TCM)) -> TCM () Source #

finally :: TCM b -> TCM c -> TCM b Source #

CatchImpossible TCM Source # | Like `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.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods catchImpossible :: TCM a -> (Impossible -> TCM a) -> TCM a Source # catchImpossibleJust :: (Impossible -> Maybe b) -> TCM a -> (b -> TCM a) -> TCM a Source # handleImpossible :: (Impossible -> TCM a) -> TCM a -> TCM a Source # handleImpossibleJust :: (Impossible -> Maybe b) -> (b -> TCM a) -> TCM a -> TCM a Source #
MonadTrans TCMT Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lift :: Monad m => m a -> TCMT m a Source #
HasFresh i => MonadFresh i TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: TCM i Source #
(CatchIO m, MonadIO m) => MonadError TCErr (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods throwError :: TCErr -> TCMT m a Source # catchError :: TCMT m a -> (TCErr -> TCMT m a) -> TCMT m a Source #
MonadIO m => HasOptions (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pragmaOptions :: TCMT m PragmaOptions Source # commandLineOptions :: TCMT m CommandLineOptions Source #
MonadIO m => MonadReduce (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> TCMT m a Source #
MonadIO m => MonadTCEnv (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: TCMT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> TCMT m a -> TCMT m a Source #
MonadIO m => MonadTCM (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> TCMT m a Source #
MonadIO m => MonadTCState (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: TCMT m TCState Source # putTC :: TCState -> TCMT m () Source # modifyTC :: (TCState -> TCState) -> TCMT m () Source #
MonadIO m => ReadTCState (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: TCMT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> TCMT m b -> TCMT m b Source # withTCState :: (TCState -> TCState) -> TCMT m a -> TCMT m a Source #
MonadIO m => HasBuiltins (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Builtin Methods getBuiltinThing :: SomeBuiltin -> TCMT m (Maybe (Builtin PrimFun)) Source #
ReportS (TCM Doc) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m () Source #
ReportS [TCM Doc] Source # |
Instance details Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> [TCM Doc] -> m () Source #
TraceS (TCM Doc) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m c -> m c Source #
TraceS [TCM Doc] Source # |
Instance details Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> [TCM Doc] -> m c -> m c Source #
HasConstInfo (TCMT IO) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Signature Methods getConstInfo :: QName -> TCMT IO Definition Source # getConstInfo' :: QName -> TCMT IO (Either SigError Definition) Source # getRewriteRulesFor :: QName -> TCMT IO RewriteRules Source #
MonadIO m => MonadFileId (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.State Methods fileFromId :: FileId -> TCMT m File Source # idFromFile :: File -> TCMT m FileId Source #
Null (TCM Doc) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: TCM Doc Source # null :: TCM Doc -> Bool Source #
MonadIO m => MonadIO (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftIO :: IO a -> TCMT m a Source #
Applicative m => Applicative (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pure :: a -> TCMT m a Source # (<*>) :: TCMT m (a -> b) -> TCMT m a -> TCMT m b Source # liftA2 :: (a -> b -> c) -> TCMT m a -> TCMT m b -> TCMT m c Source # (*>) :: TCMT m a -> TCMT m b -> TCMT m b Source # (<*) :: TCMT m a -> TCMT m b -> TCMT m a Source #
Functor m => Functor (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> TCMT m a -> TCMT m b Source # (<$) :: a -> TCMT m b -> TCMT m a Source #
Monad m => Monad (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (>>=) :: TCMT m a -> (a -> TCMT m b) -> TCMT m b Source # (>>) :: TCMT m a -> TCMT m b -> TCMT m b Source # return :: a -> TCMT m a Source #
Semigroup (TCM Doc) Source # | This instance is more specific than a generic instance `Semigroup a => Semigroup (TCM a)`.
Instance details Defined in Agda.TypeChecking.Pretty Methods (<>) :: TCM Doc -> TCM Doc -> TCM Doc Source # sconcat :: NonEmpty (TCM Doc) -> TCM Doc Source # stimes :: Integral b => b -> TCM Doc -> TCM Doc Source #
(CatchIO m, MonadIO m) => MonadFail (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fail :: String -> TCMT m a Source #
(MonadIO m, Null a) => Null (TCMT m a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: TCMT m a Source # null :: TCMT m a -> Bool Source #
(MonadIO m, Semigroup a, Monoid a) => Monoid (TCMT m a) Source # | Strict (non-shortcut) monoid.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods mempty :: TCMT m a Source # mappend :: TCMT m a -> TCMT m a -> TCMT m a Source # mconcat :: [TCMT m a] -> TCMT m a Source #
(MonadIO m, Semigroup a) => Semigroup (TCMT m a) Source # | Strict (non-shortcut) semigroup. Note that there might be a lazy alternative, e.g., for TCM All we might want `and2M` as concatenation, to shortcut conjunction in case we already have `False`.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (<>) :: TCMT m a -> TCMT m a -> TCMT m a Source # sconcat :: NonEmpty (TCMT m a) -> TCMT m a Source # stimes :: Integral b => b -> TCMT m a -> TCMT m a Source #
(IsString a, MonadIO m) => IsString (TCMT m a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fromString :: String -> TCMT m a Source #
type BenchPhase TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type BenchPhase TCM = Phase

type Backend' opts env menv mod def = Backend'_boot Definition TCM opts env menv mod def Source #

data TypeCheckAction Source #

A complete log for a module will look like this:

- `Pragmas`
- `EnterSection`, entering the main module.
- `Decl`/`EnterSection`/`LeaveSection`, for declarations and nested modules
- `LeaveSection`, leaving the main module.

Constructors

EnterSection !Erased !ModuleName !Telescope |
LeaveSection !ModuleName |
Decl !Declaration | Never a Section or ScopeDecl
Pragmas !PragmaOptions |

#### Instances

Instances details

NFData TypeCheckAction Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TypeCheckAction -> () Source #
Generic TypeCheckAction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TypeCheckAction |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TypeCheckAction = D1 ('MetaData "TypeCheckAction" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "EnterSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Erased) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Telescope))) :+: C1 ('MetaCons "LeaveSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName))) :+: (C1 ('MetaCons "Decl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Declaration)) :+: C1 ('MetaCons "Pragmas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PragmaOptions))))

Methods

from :: TypeCheckAction -> Rep TypeCheckAction x Source #

to :: Rep TypeCheckAction x -> TypeCheckAction Source #

type Rep TypeCheckAction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TypeCheckAction = D1 ('MetaData "TypeCheckAction" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "EnterSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Erased) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Telescope))) :+: C1 ('MetaCons "LeaveSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleName))) :+: (C1 ('MetaCons "Decl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Declaration)) :+: C1 ('MetaCons "Pragmas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PragmaOptions))))

pattern Primitive :: IsAbstract -> PrimitiveId -> [Clause] -> FunctionInverse -> Maybe CompiledClauses -> IsOpaque -> Defn Source #

newtype ReduceM a Source #

Constructors

ReduceM |

Fields

- unReduceM :: ReduceEnv -> a

#### Instances

Instances details

HasOptions ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pragmaOptions :: ReduceM PragmaOptions Source # commandLineOptions :: ReduceM CommandLineOptions Source #
MonadReduce ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> ReduceM a Source #
MonadTCEnv ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: ReduceM TCEnv Source # localTC :: (TCEnv -> TCEnv) -> ReduceM a -> ReduceM a Source #
ReadTCState ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: ReduceM TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> ReduceM b -> ReduceM b Source # withTCState :: (TCState -> TCState) -> ReduceM a -> ReduceM a Source #
HasBuiltins ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Reduce.Monad Methods getBuiltinThing :: SomeBuiltin -> ReduceM (Maybe (Builtin PrimFun)) Source #
MonadAddContext ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Reduce.Monad Methods addCtx :: Name -> Dom Type -> ReduceM a -> ReduceM a Source # addLetBinding' :: Origin -> Name -> Term -> Dom Type -> ReduceM a -> ReduceM a Source # updateContext :: Substitution -> (Context -> Context) -> ReduceM a -> ReduceM a Source # withFreshName :: Range -> ArgName -> (Name -> ReduceM a) -> ReduceM a Source #
MonadDebug ReduceM Source # |

Instance details

Defined in Agda.TypeChecking.Reduce.Monad

Methods

formatDebugMessage :: VerboseKey -> VerboseLevel -> TCM Doc -> ReduceM String Source #

traceDebugMessage :: VerboseKey -> VerboseLevel -> String -> ReduceM a -> ReduceM a Source #

verboseBracket :: VerboseKey -> VerboseLevel -> String -> ReduceM a -> ReduceM a Source #

getVerbosity :: ReduceM Verbosity Source #

getProfileOptions :: ReduceM ProfileOptions Source #

isDebugPrinting :: ReduceM Bool Source #

nowDebugPrinting :: ReduceM a -> ReduceM a Source #

PureTCM ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Reduce.Monad
HasConstInfo ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Reduce.Monad Methods getConstInfo :: QName -> ReduceM Definition Source # getConstInfo' :: QName -> ReduceM (Either SigError Definition) Source # getRewriteRulesFor :: QName -> ReduceM RewriteRules Source #
Applicative ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pure :: a -> ReduceM a Source # (<*>) :: ReduceM (a -> b) -> ReduceM a -> ReduceM b Source # liftA2 :: (a -> b -> c) -> ReduceM a -> ReduceM b -> ReduceM c Source # (*>) :: ReduceM a -> ReduceM b -> ReduceM b Source # (<*) :: ReduceM a -> ReduceM b -> ReduceM a Source #
Functor ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> ReduceM a -> ReduceM b Source # (<$) :: a -> ReduceM b -> ReduceM a Source #
Monad ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (>>=) :: ReduceM a -> (a -> ReduceM b) -> ReduceM b Source # (>>) :: ReduceM a -> ReduceM b -> ReduceM b Source # return :: a -> ReduceM a Source #
MonadFail ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fail :: String -> ReduceM a Source #
(Semigroup a, Monoid a) => Monoid (OccM a) Source # |
Instance details Defined in Agda.TypeChecking.Positivity Methods mempty :: OccM a Source # mappend :: OccM a -> OccM a -> OccM a Source # mconcat :: [OccM a] -> OccM a Source #

runReduceM :: ReduceM a -> TCM a Source #

data Open a Source #

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.

Constructors

OpenThing |

Fields

- openThingCheckpoint :: CheckpointId
- openThingCheckpointMap :: Map CheckpointId Substitution
- openThingModule :: ModuleNameHash
- openThing :: a

#### Instances

Instances details

Decoration Open Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverseF :: Functor m => (a -> m b) -> Open a -> m (Open b) Source # distributeF :: Functor m => Open (m a) -> m (Open a) Source #
Functor Open Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> Open a -> Open b Source # (<$) :: a -> Open b -> Open a Source #
Foldable Open Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

fold :: Monoid m => Open m -> m Source #

foldMap :: Monoid m => (a -> m) -> Open a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Open a -> m Source #

foldr :: (a -> b -> b) -> b -> Open a -> b Source #

foldr' :: (a -> b -> b) -> b -> Open a -> b Source #

foldl :: (b -> a -> b) -> b -> Open a -> b Source #

foldl' :: (b -> a -> b) -> b -> Open a -> b Source #

foldr1 :: (a -> a -> a) -> Open a -> a Source #

foldl1 :: (a -> a -> a) -> Open a -> a Source #

toList :: Open a -> [a] Source #

null :: Open a -> Bool Source #

length :: Open a -> Int Source #

elem :: Eq a => a -> Open a -> Bool Source #

maximum :: Ord a => Open a -> a Source #

minimum :: Ord a => Open a -> a Source #

sum :: Num a => Open a -> a Source #

product :: Num a => Open a -> a Source #

Traversable Open Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverse :: Applicative f => (a -> f b) -> Open a -> f (Open b) Source # sequenceA :: Applicative f => Open (f a) -> f (Open a) Source # mapM :: Monad m => (a -> m b) -> Open a -> m (Open b) Source # sequence :: Monad m => Open (m a) -> m (Open a) Source #
Pretty a => Pretty (Open a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Open a -> Doc Source # prettyPrec :: Int -> Open a -> Doc Source # prettyList :: [Open a] -> Doc Source #
NamesIn a => NamesIn (Open a) Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> Open a -> m Source #
KillRange a => KillRange (Open a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (Open a) Source #
ChaseDisplayForms a => ChaseDisplayForms (Open a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Signature Methods chaseDisplayForms :: Open a -> Set QName -> TCM (Set QName) Source #
InstantiateFull t => InstantiateFull (Open t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Open t -> ReduceM (Open t) Source #
EmbPrj a => EmbPrj (Open a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Open a -> S Word32 Source # icod_ :: Open a -> S Word32 Source # value :: Word32 -> R (Open a) Source #
NFData a => NFData (Open a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Open a -> () Source #
Generic (Open a) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep (Open a) |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Open a) = D1 ('MetaData "Open" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: Open a -> Rep (Open a) x Source #

to :: Rep (Open a) x -> Open a Source #

Show a => Show (Open a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Open a -> ShowS Source # show :: Open a -> String Source # showList :: [Open a] -> ShowS Source #
type Rep (Open a) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Open a) = D1 ('MetaData "Open" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

data MetaInfo Source #

`MetaInfo` is cloned from one meta to the next during pruning.

Constructors

MetaInfo |

Fields

- miClosRange :: Closure Range
- miModality :: Modality

  Instantiable with irrelevant/erased solution?

- miMetaOccursCheck :: RunMetaOccursCheck

  Run the extended occurs check that goes in definitions?

- miNameSuggestion :: MetaNameSuggestion

  Used for printing. `Just x` if meta-variable comes from omitted argument with name `x`.

- miGeneralizable :: Arg DoGeneralize

  Should this meta be generalized if unsolved? If so, at what ArgInfo?

#### Instances

Instances details

LensIsAbstract MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' MetaInfo IsAbstract Source #
LensModalPolarity MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModalPolarity :: MetaInfo -> PolarityModality Source # setModalPolarity :: PolarityModality -> MetaInfo -> MetaInfo Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> MetaInfo -> MetaInfo Source #
LensModality MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: MetaInfo -> Modality Source # setModality :: Modality -> MetaInfo -> MetaInfo Source # mapModality :: (Modality -> Modality) -> MetaInfo -> MetaInfo Source #
LensQuantity MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: MetaInfo -> Quantity Source # setQuantity :: Quantity -> MetaInfo -> MetaInfo Source # mapQuantity :: (Quantity -> Quantity) -> MetaInfo -> MetaInfo Source #
LensRelevance MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: MetaInfo -> Relevance Source # setRelevance :: Relevance -> MetaInfo -> MetaInfo Source # mapRelevance :: (Relevance -> Relevance) -> MetaInfo -> MetaInfo Source #
HasRange MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: MetaInfo -> Range Source #
SetRange MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods setRange :: Range -> MetaInfo -> MetaInfo Source #
NFData MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaInfo -> () Source #
Generic MetaInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep MetaInfo |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MetaInfo = D1 ('MetaData "MetaInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

Methods

from :: MetaInfo -> Rep MetaInfo x Source #

to :: Rep MetaInfo x -> MetaInfo Source #

LensClosure MetaInfo Range Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensClosure :: Lens' MetaInfo (Closure Range) Source #
type Rep MetaInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MetaInfo = D1 ('MetaData "MetaInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

type Constraints = [ProblemConstraint] Source #

data WarningsAndNonFatalErrors Source #

Assorted warnings and errors to be displayed to the user

Constructors

WarningsAndNonFatalErrors |

Fields

- tcWarnings :: Set TCWarning
- nonFatalErrors :: Set TCWarning

#### Instances

Instances details

EncodeTCM DisplayInfo Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: DisplayInfo -> TCM Value Source #
EncodeTCM Response Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: Response -> TCM Value Source #
Null WarningsAndNonFatalErrors Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: WarningsAndNonFatalErrors Source # null :: WarningsAndNonFatalErrors -> Bool Source #

data Warning Source #

A non-fatal error is an error which does not prevent us from checking the document further and interacting with the user.

Constructors

NicifierIssue DeclarationWarning |
TerminationIssue (List1 TerminationError) |
UnreachableClauses QName (List1 Range) | `UnreachableClauses f rs` means that the clauses in `f` whose ranges are `rs` are unreachable.
CoverageIssue QName (List1 (Telescope, [NamedArg DeBruijnPattern])) | `CoverageIssue f pss` means that `pss` are not covered in `f`
CoverageNoExactSplit QName (List1 Clause) |
InlineNoExactSplit QName Clause | `Clause` 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 DataOrRecord_ QName Sort Sort TCErr | Checking whether constructor `QName` `Sort` fits into `data` `Sort` produced `TCErr`.
CoinductiveEtaRecord QName | A record type declared as both `coinductive` and having `eta-equality`.
UnsolvedMetaVariables (Set1 Range) | Do not use directly with `warning`
UnsolvedInteractionMetas (Set1 Range) | Do not use directly with `warning`
UnsolvedConstraints (List1 ProblemConstraint) | Do not use directly with `warning`
InteractionMetaBoundaries (Set1 Range) | Do not use directly with `warning`
CantGeneralizeOverSorts (Set1 MetaId) |
AbsurdPatternRequiresAbsentRHS |
OldBuiltin BuiltinId BuiltinId | In `OldBuiltin old new`, the BUILTIN old has been replaced by new.
BuiltinDeclaresIdentifier BuiltinId | The builtin declares a new identifier, so it should not be in scope.
DuplicateRecordDirective RecordDirective | The given record directive is conflicting with a prior one in the same record declaration.
EmptyRewritePragma | If the user wrote just `{-# REWRITE #-}`.
EmptyWhere | An empty `where` block is dead code. TODO: linearity -- | FixingQuantity String Quantity Quantity -- -- ^ Auto-correcting quantity pertaining to `String` from to.
FixingRelevance String Relevance Relevance | Auto-correcting relevance pertaining to `String` from to.
FixingCohesion String Cohesion Cohesion | Auto-correcting cohesion pertaining to `String` from to.
FixingPolarity String PolarityModality PolarityModality | Auto-correcting polarity pertaining to `String` from to.
IllformedAsClause String | If the user wrote something other than an unqualified name in the `as` clause of an `import` statement. The `String` gives optionally extra explanation.
InvalidCharacterLiteral Char | A character literal Agda does not support, e.g. surrogate code points.
ClashesViaRenaming NameOrModule (Set1 Name) | If a `renaming` import directive introduces a name or module name clash in the exported names of a module. (See issue #4154.)
UselessPatternDeclarationForRecord String | The 'pattern' declaration is useless in the presence of either `coinductive` or `eta-equality`. Content of `String` is "coinductive" or "eta", resp.
UselessPragma Range Doc | Warning when pragma is useless and thus ignored. `Range` is for dead code highlighting.
UselessPublic UselessPublicReason | If the user opens a module public before the module header. (See issue #2377.)
UselessHiding (List1 ImportedName) | Names in `hiding` directive that don't hide anything imported by a `using` directive.
UselessInline QName |
UselessTactic | A tactic attribute applied to a non-hidden (visible or instance) argument.
WrongInstanceDeclaration |
InstanceWithExplicitArg QName | An instance was declared with an implicit argument, which means it will never actually be considered by instance search.
InstanceNoOutputTypeName Doc | The type of an instance argument doesn't end in a named or variable type, so it will never be considered by instance search.
InstanceArgWithExplicitArg Doc | As InstanceWithExplicitArg, but for local bindings rather than top-level instances.
InversionDepthReached QName | The --inversion-max-depth was reached.
SafeFlagPostulate QName |
SafeFlagPragma (Set String) | Unsafe OPTIONS.
SafeFlagWithoutKFlagPrimEraseEquality |
WithoutKFlagPrimEraseEquality |
ConflictingPragmaOptions String String | `ConflictingPragmaOptions a b`: Inconsistent options `--a` and `--no-b`, since `--a` implies `--b`. Ignoring `--no-b`.
OptionWarning OptionWarning |
ParseWarning ParseWarning |
LibraryWarning LibWarning |
DeprecationWarning String String String | `DeprecationWarning old new version`: `old` is deprecated, use `new` instead. This will be an error in Agda `version`.
UserWarning Text | User-defined warning (e.g. to mention that a name is deprecated)
DuplicateUsing (List1 ImportedName) | Duplicate mentions of the same name in `using` directive(s).
FixityInRenamingModule (List1 Range) | Fixity of modules cannot be changed via renaming (since modules have no fixity).
ModuleDoesntExport QName [Name] [Name] (List1 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 Doc | Importing a file using an infective option into one which doesn't
CoInfectiveImport Doc | Importing a file not using a coinfective option from one which does
ConfluenceCheckingIncompleteBecauseOfMeta QName | Confluence checking incomplete because the definition of the `QName` contains unsolved metavariables.
ConfluenceForCubicalNotSupported | Confluence checking with `--cubical` might be incomplete.
NotARewriteRule QName IsAmbiguous | `IllegalRewriteRule` detected during scope checking.
IllegalRewriteRule QName IllegalRewriteRuleReason |
RewriteNonConfluent Term Term Term Doc | Confluence 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 Term | The global confluence checker found a term `u` that reduces to both `v1` and `v2` and there is no rule to resolve the ambiguity.
RewriteMissingRule Term Term Term | The global confluence checker found a term `u` that reduces to `v`, but `v` does not reduce to `rho(u)`.
PragmaCompileErased BackendName QName | COMPILE directive for an erased symbol.
PragmaCompileList | `COMPILE GHC` pragma for lists; ignored.
PragmaCompileMaybe | `COMPILE GHC` pragma for `MAYBE`; ignored.
PragmaCompileUnparsable String | `COMPILE GHC` pragma `String` not parsable; ignored.
PragmaCompileWrong QName String | Wrong `COMPILE GHC` given for `QName`; explanation is in `String`.
PragmaCompileWrongName QName IsAmbiguous | `COMPILE` pragma with name `QName` that is not an unambiguous constructor or definition.
PragmaExpectsDefinedSymbol String QName | Pragma `String` with name `QName` that is not an `Def`.
PragmaExpectsUnambiguousConstructorOrFunction String QName IsAmbiguous | Pragma `String` with name `QName` that is not an unambiguous constructor or definition. General form of `PragmaCompileWrongName` and `NotARewriteRule`.
PragmaExpectsUnambiguousProjectionOrFunction String QName IsAmbiguous | Pragma `String` with name `QName` that is not an unambiguous projection or function.
NoMain TopLevelModuleName | Compiler run on module that does not have a `main` function.
NotInScopeW QName | Out of scope error we can recover from.
UnsupportedIndexedMatch Doc | Was not able to compute a full equivalence when splitting.
AsPatternShadowsConstructorOrPatternSynonym ConstructorOrPatternSynonym | The as-name in an as-pattern may not shadow a constructor or pattern synonym name, because this can be confusing to read.
PatternShadowsConstructor Name QName | A pattern variable has the name of a constructor (data constructor or matchable record constructor).
PlentyInHardCompileTimeMode QωOrigin | Explicit use of @`ω` or @`plenty` in hard compile-time mode.
RecordFieldWarning RecordFieldWarning |
MissingTypeSignatureForOpaque QName IsOpaque | An `abstract` or `opaque` definition lacks a type signature.
NotAffectedByOpaque |
UnfoldingWrongName QName | Name in `unfolding` clause does not resolve to unambiguous defined name.
UnfoldTransparentName QName |
UselessOpaque |
HiddenNotInArgumentPosition Expr |
InstanceNotInArgumentPosition Expr |
MacroInLetBindings |
AbstractInLetBindings |
InvalidDisplayForm QName String | DISPLAY form for `QName` is invalid because `String`.
UnusedVariablesInDisplayForm (List1 Name) | The given names are bound in the lhs of the display form but not used on the rhs. This can indicate a user misunderstanding of display forms.
TooManyArgumentsToSort QName (List1 (NamedArg Expr)) | Extra arguments to sort (will be ignored).
RewritesNothing | A `rewrite` expression that does not fire.
WithClauseProjectionFixityMismatch | The with-clause uses projection in a different fixity style than the parent clause.

Fields

- withClausePattern :: NamedArg Pattern
- withClauseProjectionOrigin :: ProjOrigin
- parentPattern :: NamedArg DeBruijnPattern
- parentProjectionOrigin :: ProjOrigin

TooManyPolarities QName PragmaPolarities | Too many polarities given in POLARITY pragma for `QName`. `PragmaPolarities` contains the (likely) excessive polarities.
TopLevelPolarity QName PolarityModality | Definition with non-default polarity annotation.
FaceConstraintCannotBeHidden ArgInfo | Face constraint patterns `(i = 0)` must be visible arguments.
FaceConstraintCannotBeNamed NamedName | Face constraint patterns `(i = 0)` must be unnamed arguments.
CustomBackendWarning String Doc | Used for backend-specific warnings. The string is the backend name.

#### Instances

Instances details

PrettyTCM Warning Source # |
Instance details Defined in Agda.TypeChecking.Pretty.Warning Methods prettyTCM :: MonadPretty m => Warning -> m Doc Source #
EmbPrj Warning Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: Warning -> S Word32 Source # icod_ :: Warning -> S Word32 Source # value :: Word32 -> R Warning Source #
NFData Warning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Warning -> () Source #
Generic Warning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Warning |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Warning = D1 ('MetaData "Warning" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((((((C1 ('MetaCons "NicifierIssue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeclarationWarning)) :+: C1 ('MetaCons "TerminationIssue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 TerminationError)))) :+: (C1 ('MetaCons "UnreachableClauses" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Range))) :+: (C1 ('MetaCons "CoverageIssue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Telescope, [NamedArg DeBruijnPattern])))) :+: C1 ('MetaCons "CoverageNoExactSplit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Clause)))))) :+: ((C1 ('MetaCons "InlineNoExactSplit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Clause)) :+: (C1 ('MetaCons "NotStrictlyPositive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq OccursWhere))) :+: C1 ('MetaCons "ConstructorDoesNotFitInData" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecord_) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCErr)))))) :+: (C1 ('MetaCons "CoinductiveEtaRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "UnsolvedMetaVariables" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Range))) :+: C1 ('MetaCons "UnsolvedInteractionMetas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Range))))))) :+: (((C1 ('MetaCons "UnsolvedConstraints" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ProblemConstraint))) :+: (C1 ('MetaCons "InteractionMetaBoundaries" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Range))) :+: C1 ('MetaCons "CantGeneralizeOverSorts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 MetaId))))) :+: (C1 ('MetaCons "AbsurdPatternRequiresAbsentRHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OldBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "BuiltinDeclaresIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId))))) :+: ((C1 ('MetaCons "DuplicateRecordDirective" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordDirective)) :+: (C1 ('MetaCons "EmptyRewritePragma" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyWhere" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "FixingRelevance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance))) :+: (C1 ('MetaCons "FixingCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion))) :+: C1 ('MetaCons "FixingPolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality)))))))) :+: ((((C1 ('MetaCons "IllformedAsClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "InvalidCharacterLiteral" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "ClashesViaRenaming" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameOrModule) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Name))))) :+: (C1 ('MetaCons "UselessPatternDeclarationForRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "UselessPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "UselessPublic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UselessPublicReason))))) :+: ((C1 ('MetaCons "UselessHiding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: (C1 ('MetaCons "UselessInline" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "UselessTactic" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "WrongInstanceDeclaration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InstanceWithExplicitArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "InstanceNoOutputTypeName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)))))) :+: (((C1 ('MetaCons "InstanceArgWithExplicitArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons "InversionDepthReached" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "SafeFlagPostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "SafeFlagPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set String))) :+: (C1 ('MetaCons "SafeFlagWithoutKFlagPrimEraseEquality" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WithoutKFlagPrimEraseEquality" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ConflictingPragmaOptions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "OptionWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptionWarning)) :+: C1 ('MetaCons "ParseWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParseWarning)))) :+: (C1 ('MetaCons "LibraryWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibWarning)) :+: (C1 ('MetaCons "DeprecationWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "UserWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))))))) :+: (((((C1 ('MetaCons "DuplicateUsing" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: (C1 ('MetaCons "FixityInRenamingModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Range))) :+: C1 ('MetaCons "ModuleDoesntExport" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName)))))) :+: (C1 ('MetaCons "InfectiveImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons "CoInfectiveImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "ConfluenceCheckingIncompleteBecauseOfMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons "ConfluenceForCubicalNotSupported" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NotARewriteRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous)) :+: C1 ('MetaCons "IllegalRewriteRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IllegalRewriteRuleReason)))) :+: (C1 ('MetaCons "RewriteNonConfluent" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons "RewriteMaybeNonConfluent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Doc]))) :+: C1 ('MetaCons "RewriteAmbiguousRules" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))) :+: (((C1 ('MetaCons "RewriteMissingRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "PragmaCompileErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "PragmaCompileList" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "PragmaCompileMaybe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PragmaCompileUnparsable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "PragmaCompileWrong" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) :+: ((C1 ('MetaCons "PragmaCompileWrongName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous)) :+: (C1 ('MetaCons "PragmaExpectsDefinedSymbol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "PragmaExpectsUnambiguousConstructorOrFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous))))) :+: (C1 ('MetaCons "PragmaExpectsUnambiguousProjectionOrFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous))) :+: (C1 ('MetaCons "NoMain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)) :+: C1 ('MetaCons "NotInScopeW" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))))) :+: ((((C1 ('MetaCons "UnsupportedIndexedMatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons "AsPatternShadowsConstructorOrPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorOrPatternSynonym)) :+: C1 ('MetaCons "PatternShadowsConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "PlentyInHardCompileTimeMode" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QωOrigin)) :+: (C1 ('MetaCons "RecordFieldWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordFieldWarning)) :+: C1 ('MetaCons "MissingTypeSignatureForOpaque" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsOpaque))))) :+: ((C1 ('MetaCons "NotAffectedByOpaque" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnfoldingWrongName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "UnfoldTransparentName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "UselessOpaque" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HiddenNotInArgumentPosition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "InstanceNotInArgumentPosition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))) :+: (((C1 ('MetaCons "MacroInLetBindings" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbstractInLetBindings" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InvalidDisplayForm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "UnusedVariablesInDisplayForm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))) :+: (C1 ('MetaCons "TooManyArgumentsToSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (NamedArg Expr)))) :+: C1 ('MetaCons "RewritesNothing" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "WithClauseProjectionFixityMismatch" 'PrefixI 'True) ((S1 ('MetaSel ('Just "withClausePattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern)) :*: S1 ('MetaSel ('Just "withClauseProjectionOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin)) :*: (S1 ('MetaSel ('Just "parentPattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg DeBruijnPattern)) :*: S1 ('MetaSel ('Just "parentProjectionOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin))) :+: (C1 ('MetaCons "TooManyPolarities" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PragmaPolarities)) :+: C1 ('MetaCons "TopLevelPolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality)))) :+: (C1 ('MetaCons "FaceConstraintCannotBeHidden" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo)) :+: (C1 ('MetaCons "FaceConstraintCannotBeNamed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NamedName)) :+: C1 ('MetaCons "CustomBackendWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)))))))))

Methods

from :: Warning -> Rep Warning x Source #

to :: Rep Warning x -> Warning Source #

Show Warning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Warning -> ShowS Source # show :: Warning -> String Source # showList :: [Warning] -> ShowS Source #
type Rep Warning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Warning = D1 ('MetaData "Warning" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((((((C1 ('MetaCons "NicifierIssue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DeclarationWarning)) :+: C1 ('MetaCons "TerminationIssue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 TerminationError)))) :+: (C1 ('MetaCons "UnreachableClauses" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Range))) :+: (C1 ('MetaCons "CoverageIssue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Telescope, [NamedArg DeBruijnPattern])))) :+: C1 ('MetaCons "CoverageNoExactSplit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Clause)))))) :+: ((C1 ('MetaCons "InlineNoExactSplit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Clause)) :+: (C1 ('MetaCons "NotStrictlyPositive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq OccursWhere))) :+: C1 ('MetaCons "ConstructorDoesNotFitInData" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecord_) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCErr)))))) :+: (C1 ('MetaCons "CoinductiveEtaRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "UnsolvedMetaVariables" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Range))) :+: C1 ('MetaCons "UnsolvedInteractionMetas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Range))))))) :+: (((C1 ('MetaCons "UnsolvedConstraints" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ProblemConstraint))) :+: (C1 ('MetaCons "InteractionMetaBoundaries" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Range))) :+: C1 ('MetaCons "CantGeneralizeOverSorts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 MetaId))))) :+: (C1 ('MetaCons "AbsurdPatternRequiresAbsentRHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OldBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId)) :+: C1 ('MetaCons "BuiltinDeclaresIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinId))))) :+: ((C1 ('MetaCons "DuplicateRecordDirective" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordDirective)) :+: (C1 ('MetaCons "EmptyRewritePragma" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyWhere" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "FixingRelevance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance))) :+: (C1 ('MetaCons "FixingCohesion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion))) :+: C1 ('MetaCons "FixingPolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality)))))))) :+: ((((C1 ('MetaCons "IllformedAsClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "InvalidCharacterLiteral" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "ClashesViaRenaming" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameOrModule) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 Name))))) :+: (C1 ('MetaCons "UselessPatternDeclarationForRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "UselessPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "UselessPublic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UselessPublicReason))))) :+: ((C1 ('MetaCons "UselessHiding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: (C1 ('MetaCons "UselessInline" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "UselessTactic" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "WrongInstanceDeclaration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InstanceWithExplicitArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "InstanceNoOutputTypeName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)))))) :+: (((C1 ('MetaCons "InstanceArgWithExplicitArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons "InversionDepthReached" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "SafeFlagPostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "SafeFlagPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set String))) :+: (C1 ('MetaCons "SafeFlagWithoutKFlagPrimEraseEquality" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WithoutKFlagPrimEraseEquality" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ConflictingPragmaOptions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "OptionWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptionWarning)) :+: C1 ('MetaCons "ParseWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParseWarning)))) :+: (C1 ('MetaCons "LibraryWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibWarning)) :+: (C1 ('MetaCons "DeprecationWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "UserWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))))))) :+: (((((C1 ('MetaCons "DuplicateUsing" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName))) :+: (C1 ('MetaCons "FixityInRenamingModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Range))) :+: C1 ('MetaCons "ModuleDoesntExport" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 ImportedName)))))) :+: (C1 ('MetaCons "InfectiveImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons "CoInfectiveImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "ConfluenceCheckingIncompleteBecauseOfMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons "ConfluenceForCubicalNotSupported" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NotARewriteRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous)) :+: C1 ('MetaCons "IllegalRewriteRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IllegalRewriteRuleReason)))) :+: (C1 ('MetaCons "RewriteNonConfluent" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons "RewriteMaybeNonConfluent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Doc]))) :+: C1 ('MetaCons "RewriteAmbiguousRules" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))) :+: (((C1 ('MetaCons "RewriteMissingRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "PragmaCompileErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BackendName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "PragmaCompileList" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "PragmaCompileMaybe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PragmaCompileUnparsable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "PragmaCompileWrong" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) :+: ((C1 ('MetaCons "PragmaCompileWrongName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous)) :+: (C1 ('MetaCons "PragmaExpectsDefinedSymbol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "PragmaExpectsUnambiguousConstructorOrFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous))))) :+: (C1 ('MetaCons "PragmaExpectsUnambiguousProjectionOrFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAmbiguous))) :+: (C1 ('MetaCons "NoMain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)) :+: C1 ('MetaCons "NotInScopeW" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))))) :+: ((((C1 ('MetaCons "UnsupportedIndexedMatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: (C1 ('MetaCons "AsPatternShadowsConstructorOrPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorOrPatternSynonym)) :+: C1 ('MetaCons "PatternShadowsConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "PlentyInHardCompileTimeMode" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QωOrigin)) :+: (C1 ('MetaCons "RecordFieldWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordFieldWarning)) :+: C1 ('MetaCons "MissingTypeSignatureForOpaque" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsOpaque))))) :+: ((C1 ('MetaCons "NotAffectedByOpaque" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnfoldingWrongName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "UnfoldTransparentName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: (C1 ('MetaCons "UselessOpaque" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HiddenNotInArgumentPosition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "InstanceNotInArgumentPosition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))) :+: (((C1 ('MetaCons "MacroInLetBindings" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbstractInLetBindings" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InvalidDisplayForm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "UnusedVariablesInDisplayForm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Name))) :+: (C1 ('MetaCons "TooManyArgumentsToSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (NamedArg Expr)))) :+: C1 ('MetaCons "RewritesNothing" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "WithClauseProjectionFixityMismatch" 'PrefixI 'True) ((S1 ('MetaSel ('Just "withClausePattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern)) :*: S1 ('MetaSel ('Just "withClauseProjectionOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin)) :*: (S1 ('MetaSel ('Just "parentPattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg DeBruijnPattern)) :*: S1 ('MetaSel ('Just "parentProjectionOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin))) :+: (C1 ('MetaCons "TooManyPolarities" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PragmaPolarities)) :+: C1 ('MetaCons "TopLevelPolarity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality)))) :+: (C1 ('MetaCons "FaceConstraintCannotBeHidden" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo)) :+: (C1 ('MetaCons "FaceConstraintCannotBeNamed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NamedName)) :+: C1 ('MetaCons "CustomBackendWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)))))))))

class Monad m => MonadTCState (m :: Type -> Type) where Source #

`MonadTCState` made into its own dedicated service class. This allows us to use `MonadState` for `StateT` extensions of `TCM`.

Minimal complete definition

Nothing

Methods

getTC :: m TCState Source #

default getTC :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadTCState n, t n ~ m) => m TCState Source #

putTC :: TCState -> m () Source #

default putTC :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadTCState n, t n ~ m) => TCState -> m () Source #

modifyTC :: (TCState -> TCState) -> m () Source #

default modifyTC :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadTCState n, t n ~ m) => (TCState -> TCState) -> m () Source #

#### Instances

Instances details

MonadTCState IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods getTC :: IM TCState Source # putTC :: TCState -> IM () Source # modifyTC :: (TCState -> TCState) -> IM () Source #
MonadTCState TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods getTC :: TerM TCState Source # putTC :: TCState -> TerM () Source # modifyTC :: (TCState -> TCState) -> TerM () Source #
MonadTCState m => MonadTCState (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: BlockT m TCState Source # putTC :: TCState -> BlockT m () Source # modifyTC :: (TCState -> TCState) -> BlockT m () Source #
MonadIO m => MonadTCState (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: TCMT m TCState Source # putTC :: TCState -> TCMT m () Source # modifyTC :: (TCState -> TCState) -> TCMT m () Source #
MonadTCState m => MonadTCState (NamesT m) Source # |
Instance details Defined in Agda.TypeChecking.Names Methods getTC :: NamesT m TCState Source # putTC :: TCState -> NamesT m () Source # modifyTC :: (TCState -> TCState) -> NamesT m () Source #
MonadTCState m => MonadTCState (ListT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: ListT m TCState Source # putTC :: TCState -> ListT m () Source # modifyTC :: (TCState -> TCState) -> ListT m () Source #
MonadTCState m => MonadTCState (ChangeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: ChangeT m TCState Source # putTC :: TCState -> ChangeT m () Source # modifyTC :: (TCState -> TCState) -> ChangeT m () Source #
MonadTCState m => MonadTCState (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: MaybeT m TCState Source # putTC :: TCState -> MaybeT m () Source # modifyTC :: (TCState -> TCState) -> MaybeT m () Source #
MonadTCState m => MonadTCState (ExceptT err m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: ExceptT err m TCState Source # putTC :: TCState -> ExceptT err m () Source # modifyTC :: (TCState -> TCState) -> ExceptT err m () Source #
MonadTCState m => MonadTCState (IdentityT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: IdentityT m TCState Source # putTC :: TCState -> IdentityT m () Source # modifyTC :: (TCState -> TCState) -> IdentityT m () Source #
MonadTCState m => MonadTCState (ReaderT r m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: ReaderT r m TCState Source # putTC :: TCState -> ReaderT r m () Source # modifyTC :: (TCState -> TCState) -> ReaderT r m () Source #
MonadTCState m => MonadTCState (StateT s m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: StateT s m TCState Source # putTC :: TCState -> StateT s m () Source # modifyTC :: (TCState -> TCState) -> StateT s m () Source #
(Monoid w, MonadTCState m) => MonadTCState (WriterT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: WriterT w m TCState Source # putTC :: TCState -> WriterT w m () Source # modifyTC :: (TCState -> TCState) -> WriterT w m () Source #

data TCState Source #

Constructors

TCSt |

Fields

- stPersistentState :: !PersistentTCState

  State which persists while we build an Agda project (same main file).

- stPreScopeState :: !PreScopeState

  The state which is frozen after scope checking.

- stPostScopeState :: !PostScopeState

  The state which is modified after scope checking.

#### Instances

Instances details

LensCommandLineOptions TCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getCommandLineOptions :: TCState -> CommandLineOptions Source # setCommandLineOptions :: CommandLineOptions -> TCState -> TCState Source # mapCommandLineOptions :: (CommandLineOptions -> CommandLineOptions) -> TCState -> TCState Source #
LensIncludePaths TCState Source # |

Instance details

Defined in Agda.Interaction.Options.Lenses

Methods

getIncludePaths :: TCState -> [FilePath] Source #

setIncludePaths :: [FilePath] -> TCState -> TCState Source #

mapIncludePaths :: ([FilePath] -> [FilePath]) -> TCState -> TCState Source #

getAbsoluteIncludePaths :: TCState -> [AbsolutePath] Source #

setAbsoluteIncludePaths :: [AbsolutePath] -> TCState -> TCState Source #

mapAbsoluteIncludePaths :: ([AbsolutePath] -> [AbsolutePath]) -> TCState -> TCState Source #

LensPersistentVerbosity TCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getPersistentVerbosity :: TCState -> PersistentVerbosity Source # setPersistentVerbosity :: PersistentVerbosity -> TCState -> TCState Source # mapPersistentVerbosity :: (PersistentVerbosity -> PersistentVerbosity) -> TCState -> TCState Source #
LensSafeMode TCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getSafeMode :: TCState -> SafeMode Source # setSafeMode :: SafeMode -> TCState -> TCState Source # mapSafeMode :: (SafeMode -> SafeMode) -> TCState -> TCState Source #
LensVerbosity TCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getVerbosity :: TCState -> Verbosity Source # setVerbosity :: Verbosity -> TCState -> TCState Source # mapVerbosity :: (Verbosity -> Verbosity) -> TCState -> TCState Source #
LensPragmaOptions TCState Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getPragmaOptions :: TCState -> PragmaOptions Source # setPragmaOptions :: PragmaOptions -> TCState -> TCState Source # mapPragmaOptions :: (PragmaOptions -> PragmaOptions) -> TCState -> TCState Source # lensPragmaOptions :: Lens' TCState PragmaOptions Source #
NFData TCState Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TCState -> () Source #
Generic TCState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TCState |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TCState = D1 ('MetaData "TCState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "TCSt" 'PrefixI 'True) (S1 ('MetaSel ('Just "stPersistentState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PersistentTCState) :*: (S1 ('MetaSel ('Just "stPreScopeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PreScopeState) :*: S1 ('MetaSel ('Just "stPostScopeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PostScopeState))))

Methods

from :: TCState -> Rep TCState x Source #

to :: Rep TCState x -> TCState Source #

Show TCState Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TCState -> ShowS Source # show :: TCState -> String Source # showList :: [TCState] -> ShowS Source #
type Rep TCState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TCState = D1 ('MetaData "TCState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "TCSt" 'PrefixI 'True) (S1 ('MetaSel ('Just "stPersistentState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PersistentTCState) :*: (S1 ('MetaSel ('Just "stPreScopeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PreScopeState) :*: S1 ('MetaSel ('Just "stPostScopeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PostScopeState))))

data Signature Source #

Constructors

Sig |

Fields

- _sigSections :: Sections
- _sigDefinitions :: Definitions
- _sigRewriteRules :: RewriteRuleMap

  The rewrite rules defined in this file.

- _sigInstances :: InstanceTable

#### Instances

Instances details

KillRange Signature Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Signature Source #
InstantiateFull Signature Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Signature -> ReduceM Signature Source #
EmbPrj Signature Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Signature -> S Word32 Source # icod_ :: Signature -> S Word32 Source # value :: Word32 -> R Signature Source #
Null Signature Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: Signature Source # null :: Signature -> Bool Source #
NFData Signature Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Signature -> () Source #
Generic Signature Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Signature |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Signature = D1 ('MetaData "Signature" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: Signature -> Rep Signature x Source #

to :: Rep Signature x -> Signature Source #

Show Signature Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Signature -> ShowS Source # show :: Signature -> String Source # showList :: [Signature] -> ShowS Source #
type Rep Signature Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Signature = D1 ('MetaData "Signature" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

data TCWarning Source #

Constructors

TCWarning |

Fields

- tcWarningLocation :: CallStack

  Location in the internal Agda source code location where the error raised

- tcWarningRange :: Range

  Range where the warning was raised

- tcWarning :: Warning

  The warning itself

- tcWarningDoc :: Doc

  The warning printed in the state and environment where it was raised

- tcWarningString :: String

  Caches `render tcWarningDoc` for the sake of an `Ord` instance.

- tcWarningCached :: Bool

  Should the warning be affected by caching.

#### Instances

Instances details

EncodeTCM DisplayInfo Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: DisplayInfo -> TCM Value Source #
EncodeTCM Info_Error Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: Info_Error -> TCM Value Source #
EncodeTCM Response Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: Response -> TCM Value Source #
EncodeTCM TCWarning Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: TCWarning -> TCM Value Source #
HasRange TCWarning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: TCWarning -> Range Source #
PrettyTCM TCWarning Source # |
Instance details Defined in Agda.TypeChecking.Pretty.Warning Methods prettyTCM :: MonadPretty m => TCWarning -> m Doc Source #
EmbPrj TCWarning Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: TCWarning -> S Word32 Source # icod_ :: TCWarning -> S Word32 Source # value :: Word32 -> R TCWarning Source #
NFData TCWarning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TCWarning -> () Source #
Generic TCWarning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TCWarning |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TCWarning = D1 ('MetaData "TCWarning" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 "tcWarningDoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: (S1 ('MetaSel ('Just "tcWarningString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "tcWarningCached") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

Methods

from :: TCWarning -> Rep TCWarning x Source #

to :: Rep TCWarning x -> TCWarning Source #

Show TCWarning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TCWarning -> ShowS Source # show :: TCWarning -> String Source # showList :: [TCWarning] -> ShowS Source #
Eq TCWarning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: TCWarning -> TCWarning -> Bool Source # (/=) :: TCWarning -> TCWarning -> Bool Source #
Ord TCWarning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: TCWarning -> TCWarning -> Ordering Source #

(<) :: TCWarning -> TCWarning -> Bool Source #

(<=) :: TCWarning -> TCWarning -> Bool Source #

(>) :: TCWarning -> TCWarning -> Bool Source #

(>=) :: TCWarning -> TCWarning -> Bool Source #

max :: TCWarning -> TCWarning -> TCWarning Source #

min :: TCWarning -> TCWarning -> TCWarning Source #

type Rep TCWarning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TCWarning = D1 ('MetaData "TCWarning" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 "tcWarningDoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: (S1 ('MetaSel ('Just "tcWarningString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "tcWarningCached") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data Definition Source #

Constructors

Defn |

Fields

- defArgInfo :: ArgInfo

  Hiding should not be used.

- defName :: QName

  The canonical name, used e.g. in compilation.

- defType :: Type

  Type 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.

- 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 :: MutualId
- defCompiledRep :: CompiledRepresentation
- defInstance :: Maybe InstanceInfo

  `Just q` when this definition is an instance.

- defCopy :: Bool

  Has this function been created by a module instantiation?

- defMatchable :: Set QName

  The set of symbols with rewrite rules that match against this symbol

- defNoCompilation :: Bool

  should compilers skip this? Used for e.g. cubical's comp

- defInjective :: Bool

  Should the def be treated as injective by the pattern matching unifier?

- defCopatternLHS :: Bool

  Is 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 :: !Language

  The language used for the definition.

- theDef :: Defn

#### Instances

Instances details

LensArgInfo Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getArgInfo :: Definition -> ArgInfo Source # setArgInfo :: ArgInfo -> Definition -> Definition Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> Definition -> Definition Source #
LensModalPolarity Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModalPolarity :: Definition -> PolarityModality Source # setModalPolarity :: PolarityModality -> Definition -> Definition Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> Definition -> Definition Source #
LensModality Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: Definition -> Modality Source # setModality :: Modality -> Definition -> Definition Source # mapModality :: (Modality -> Modality) -> Definition -> Definition Source #
LensQuantity Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: Definition -> Quantity Source # setQuantity :: Quantity -> Definition -> Definition Source # mapQuantity :: (Quantity -> Quantity) -> Definition -> Definition Source #
LensRelevance Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: Definition -> Relevance Source # setRelevance :: Relevance -> Definition -> Definition Source # mapRelevance :: (Relevance -> Relevance) -> Definition -> Definition Source #
Pretty Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Definition -> Doc Source # prettyPrec :: Int -> Definition -> Doc Source # prettyList :: [Definition] -> Doc Source #
NamesIn Definition Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> Definition -> m Source #
KillRange Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Definition Source #
KillRange Definitions Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Definitions Source #
InstantiateFull Definition Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Definition -> ReduceM Definition Source #
EmbPrj Definition Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Definition -> S Word32 Source # icod_ :: Definition -> S Word32 Source # value :: Word32 -> R Definition Source #
Abstract Definition Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> Definition -> Definition Source #
Apply Definition Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: Definition -> Args -> Definition Source # applyE :: Definition -> Elims -> Definition Source #
NFData Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Definition -> () Source #
Generic Definition Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Definition |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Definition = D1 ('MetaData "Definition" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 "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)))))))

Methods

from :: Definition -> Rep Definition x Source #

to :: Rep Definition x -> Definition Source #

Show Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Definition -> ShowS Source # show :: Definition -> String Source # showList :: [Definition] -> ShowS Source #
type Rep Definition Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Definition = D1 ('MetaData "Definition" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 "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)))))))

data Interface Source #

Constructors

Interface |

Fields

- iSourceHash :: !Hash

  Hash of the source code.

- iSource :: Text

  The 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 :: FileType

  Source file type, determined from the file extension

- iImportedModules :: [(TopLevelModuleName, Hash)]

  Imported modules and their hashes.

- iModuleName :: ModuleName

  Module name of this interface.

- iTopLevelModuleName :: TopLevelModuleName

  The module's top-level module name.

- iScope :: Map ModuleName Scope

  Scope defined by this module.

  Andreas, AIM XX: Too avoid duplicate serialization, this field is not serialized, so if you deserialize an interface, `iScope` will be empty. But `constructIScope` constructs `iScope` from `iInsideScope`.

- iInsideScope :: ScopeInfo

  Scope after we loaded this interface. Used in `AtTopLevel` and `interactionLoop`.

- iSignature :: Signature
- iMetaBindings :: RemoteMetaStore

  Instantiations for meta-variables that come from this module.

- iDisplayForms :: DisplayForms

  Display forms added for imported identifiers.

- iUserWarnings :: UserWarnings

  User warnings for imported identifiers

- iImportWarning :: Maybe Text

  Whether this module should raise a warning when imported

- iBuiltin :: BuiltinThings' (PrimitiveId, QName)
- iForeignCode :: Map BackendName ForeignCodeStack
- iHighlighting :: HighlightingInfo
- iDefaultPragmaOptions :: [OptionsPragma]

  Pragma options set in library files.

- iFilePragmaOptions :: [OptionsPragma]

  Pragma options set in the file.

- iOptionsUsed :: PragmaOptions

  Options/features used when checking the file (can be different from options set directly in the file).

- iPatternSyns :: PatternSynDefns
- iWarnings :: Set TCWarning
- iPartialDefs :: Set QName
- iOpaqueBlocks :: Map OpaqueId OpaqueBlock
- iOpaqueNames :: Map QName OpaqueId

#### Instances

Instances details

Pretty Interface Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Interface -> Doc Source # prettyPrec :: Int -> Interface -> Doc Source # prettyList :: [Interface] -> Doc Source #
InstantiateFull Interface Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Interface -> ReduceM Interface Source #
EmbPrj Interface Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances Methods icode :: Interface -> S Word32 Source # icod_ :: Interface -> S Word32 Source # value :: Word32 -> R Interface Source #
NFData Interface Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Interface -> () Source #
Generic Interface Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Interface |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Interface = D1 ('MetaData "Interface" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Interface" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "iSourceHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (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 UserWarnings))))) :*: (((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 (Set 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))))))))

Methods

from :: Interface -> Rep Interface x Source #

to :: Rep Interface x -> Interface Source #

Show Interface Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Interface -> ShowS Source # show :: Interface -> String Source # showList :: [Interface] -> ShowS Source #
type Rep Interface Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Interface = D1 ('MetaData "Interface" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Interface" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "iSourceHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (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 UserWarnings))))) :*: (((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 (Set 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))))))))

type MonadTCError (m :: Type -> Type) = (MonadTCEnv m, ReadTCState m, MonadError TCErr m) Source #

The constraints needed for `typeError` and similar.

class Monad m => ReadTCState (m :: Type -> Type) where Source #

Minimal complete definition

Nothing

Methods

getTCState :: m TCState Source #

default getTCState :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, ReadTCState n, t n ~ m) => m TCState Source #

locallyTCState :: Lens' TCState a -> (a -> a) -> m b -> m b Source #

default locallyTCState :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type) a b. (MonadTransControl t, ReadTCState n, t n ~ m) => Lens' TCState a -> (a -> a) -> m b -> m b Source #

withTCState :: (TCState -> TCState) -> m a -> m a Source #

#### Instances

Instances details

ReadTCState IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods getTCState :: IM TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> IM b -> IM b Source # withTCState :: (TCState -> TCState) -> IM a -> IM a Source #
ReadTCState TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods getTCState :: TerM TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> TerM b -> TerM b Source # withTCState :: (TCState -> TCState) -> TerM a -> TerM a Source #
ReadTCState ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: ReduceM TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> ReduceM b -> ReduceM b Source # withTCState :: (TCState -> TCState) -> ReduceM a -> ReduceM a Source #
ReadTCState NLM Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods getTCState :: NLM TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> NLM b -> NLM b Source # withTCState :: (TCState -> TCState) -> NLM a -> NLM a Source #
ReadTCState m => ReadTCState (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods getTCState :: PureConversionT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> PureConversionT m b -> PureConversionT m b Source # withTCState :: (TCState -> TCState) -> PureConversionT m a -> PureConversionT m a Source #
ReadTCState m => ReadTCState (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: BlockT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> BlockT m b -> BlockT m b Source # withTCState :: (TCState -> TCState) -> BlockT m a -> BlockT m a Source #
MonadIO m => ReadTCState (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: TCMT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> TCMT m b -> TCMT m b Source # withTCState :: (TCState -> TCState) -> TCMT m a -> TCMT m a Source #
ReadTCState m => ReadTCState (NamesT m) Source # |
Instance details Defined in Agda.TypeChecking.Names Methods getTCState :: NamesT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> NamesT m b -> NamesT m b Source # withTCState :: (TCState -> TCState) -> NamesT m a -> NamesT m a Source #
ReadTCState m => ReadTCState (ListT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: ListT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> ListT m b -> ListT m b Source # withTCState :: (TCState -> TCState) -> ListT m a -> ListT m a Source #
ReadTCState m => ReadTCState (ChangeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: ChangeT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> ChangeT m b -> ChangeT m b Source # withTCState :: (TCState -> TCState) -> ChangeT m a -> ChangeT m a Source #
ReadTCState m => ReadTCState (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: MaybeT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> MaybeT m b -> MaybeT m b Source # withTCState :: (TCState -> TCState) -> MaybeT m a -> MaybeT m a Source #
ReadTCState m => ReadTCState (ExceptT err m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: ExceptT err m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> ExceptT err m b -> ExceptT err m b Source # withTCState :: (TCState -> TCState) -> ExceptT err m a -> ExceptT err m a Source #
ReadTCState m => ReadTCState (IdentityT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: IdentityT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> IdentityT m b -> IdentityT m b Source # withTCState :: (TCState -> TCState) -> IdentityT m a -> IdentityT m a Source #
ReadTCState m => ReadTCState (ReaderT r m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: ReaderT r m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> ReaderT r m b -> ReaderT r m b Source # withTCState :: (TCState -> TCState) -> ReaderT r m a -> ReaderT r m a Source #
ReadTCState m => ReadTCState (StateT s m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: StateT s m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> StateT s m b -> StateT s m b Source # withTCState :: (TCState -> TCState) -> StateT s m a -> StateT s m a Source #
(Monoid w, ReadTCState m) => ReadTCState (WriterT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: WriterT w m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> WriterT w m b -> WriterT w m b Source # withTCState :: (TCState -> TCState) -> WriterT w m a -> WriterT w m a Source #

class (Applicative tcm, MonadIO tcm, MonadTCEnv tcm, MonadTCState tcm, HasOptions tcm) => MonadTCM (tcm :: Type -> Type) where Source #

Embedding a TCM computation.

Minimal complete definition

Nothing

Methods

liftTCM :: TCM a -> tcm a Source #

default liftTCM :: forall (m :: Type -> Type) (t :: (Type -> Type) -> Type -> Type) a. (MonadTCM m, MonadTrans t, tcm ~ t m) => TCM a -> tcm a Source #

#### Instances

Instances details

MonadTCM IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods liftTCM :: TCM a -> IM a Source #
MonadTCM TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods liftTCM :: TCM a -> TerM a Source #
MonadTCM m => MonadTCM (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> BlockT m a Source #
MonadIO m => MonadTCM (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> TCMT m a Source #
MonadTCM m => MonadTCM (NamesT m) Source # |
Instance details Defined in Agda.TypeChecking.Names Methods liftTCM :: TCM a -> NamesT m a Source #
MonadTCM tcm => MonadTCM (ListT tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> ListT tcm a Source #
MonadTCM tcm => MonadTCM (ChangeT tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> ChangeT tcm a Source #
MonadTCM tcm => MonadTCM (MaybeT tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> MaybeT tcm a Source #
MonadTCM tcm => MonadTCM (ExceptT err tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> ExceptT err tcm a Source #
MonadTCM tcm => MonadTCM (IdentityT tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> IdentityT tcm a Source #
MonadTCM tcm => MonadTCM (ReaderT r tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> ReaderT r tcm a Source #
MonadTCM tcm => MonadTCM (StateT s tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> StateT s tcm a Source #
(Monoid w, MonadTCM tcm) => MonadTCM (WriterT w tcm) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> WriterT w tcm a Source #

internalError :: (HasCallStack, MonadTCError m) => String -> m a Source #

srcFilePath :: MonadFileId m => SourceFile -> m AbsolutePath Source #

Get the file name of a `SourceFile`.

topLevelModuleFilePath :: ModuleToSource -> TopLevelModuleName -> AbsolutePath Source #

Lookup the path of a top level module name, which must be a known one.

pattern Record :: Nat -> Maybe Clause -> ConHead -> Bool -> [Dom QName] -> Telescope -> Maybe [QName] -> EtaEquality -> PatternOrCopattern -> Maybe Induction -> Maybe Bool -> IsAbstract -> CompKit -> Defn Source #

type Definitions = HashMap QName Definition Source #

stModuleToSourceId :: Lens' TCState ModuleToSourceId Source #

useTC :: ReadTCState m => Lens' TCState a -> m a Source #

type InteractionOutputCallback = Response_boot TCErr TCWarning WarningsAndNonFatalErrors -> TCM () Source #

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).

defaultInteractionOutputCallback :: InteractionOutputCallback Source #

The default `InteractionOutputCallback` function prints certain things to stdout (other things generate internal errors).

class Monad m => MonadTCEnv (m :: Type -> Type) where Source #

`MonadTCEnv` made into its own dedicated service class. This allows us to use `MonadReader` for `ReaderT` extensions of `TCM`.

Minimal complete definition

Nothing

Methods

askTC :: m TCEnv Source #

default askTC :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadTCEnv n, t n ~ m) => m TCEnv Source #

localTC :: (TCEnv -> TCEnv) -> m a -> m a Source #

default localTC :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type) a. (MonadTransControl t, MonadTCEnv n, t n ~ m) => (TCEnv -> TCEnv) -> m a -> m a Source #

#### Instances

Instances details

MonadTCEnv IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods askTC :: IM TCEnv Source # localTC :: (TCEnv -> TCEnv) -> IM a -> IM a Source #
MonadTCEnv TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods askTC :: TerM TCEnv Source # localTC :: (TCEnv -> TCEnv) -> TerM a -> TerM a Source #
MonadTCEnv ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: ReduceM TCEnv Source # localTC :: (TCEnv -> TCEnv) -> ReduceM a -> ReduceM a Source #
MonadTCEnv NLM Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods askTC :: NLM TCEnv Source # localTC :: (TCEnv -> TCEnv) -> NLM a -> NLM a Source #
MonadTCEnv m => MonadTCEnv (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods askTC :: PureConversionT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> PureConversionT m a -> PureConversionT m a Source #
MonadTCEnv m => MonadTCEnv (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: BlockT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> BlockT m a -> BlockT m a Source #
MonadIO m => MonadTCEnv (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: TCMT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> TCMT m a -> TCMT m a Source #
MonadTCEnv m => MonadTCEnv (NamesT m) Source # |
Instance details Defined in Agda.TypeChecking.Names Methods askTC :: NamesT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> NamesT m a -> NamesT m a Source #
MonadTCEnv m => MonadTCEnv (ListT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: ListT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> ListT m a -> ListT m a Source #
MonadTCEnv m => MonadTCEnv (ChangeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: ChangeT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> ChangeT m a -> ChangeT m a Source #
MonadTCEnv m => MonadTCEnv (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: MaybeT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> MaybeT m a -> MaybeT m a Source #
MonadTCEnv m => MonadTCEnv (ExceptT err m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: ExceptT err m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> ExceptT err m a -> ExceptT err m a Source #
MonadTCEnv m => MonadTCEnv (IdentityT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: IdentityT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> IdentityT m a -> IdentityT m a Source #
MonadTCEnv m => MonadTCEnv (ReaderT r m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: ReaderT r m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> ReaderT r m a -> ReaderT r m a Source #
MonadTCEnv m => MonadTCEnv (StateT s m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: StateT s m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> StateT s m a -> StateT s m a Source #
(Monoid w, MonadTCEnv m) => MonadTCEnv (WriterT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: WriterT w m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> WriterT w m a -> WriterT w m a Source #

mapTCMT :: (forall a1. m a1 -> n a1) -> TCMT m a -> TCMT n a Source #

type UsedNames = Map RawName (Set1 RawName) Source #

data LHSOrPatSyn Source #

Distinguish error message when parsing lhs or pattern synonym, resp.

Constructors

IsLHS |
IsPatSyn |

#### Instances

Instances details

EmbPrj LHSOrPatSyn Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: LHSOrPatSyn -> S Word32 Source # icod_ :: LHSOrPatSyn -> S Word32 Source # value :: Word32 -> R LHSOrPatSyn Source #
NFData LHSOrPatSyn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: LHSOrPatSyn -> () Source #
Bounded LHSOrPatSyn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods minBound :: LHSOrPatSyn Source # maxBound :: LHSOrPatSyn Source #
Enum LHSOrPatSyn Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: LHSOrPatSyn -> LHSOrPatSyn Source #

pred :: LHSOrPatSyn -> LHSOrPatSyn Source #

toEnum :: Int -> LHSOrPatSyn Source #

fromEnum :: LHSOrPatSyn -> Int Source #

enumFrom :: LHSOrPatSyn -> [LHSOrPatSyn] Source #

enumFromThen :: LHSOrPatSyn -> LHSOrPatSyn -> [LHSOrPatSyn] Source #

enumFromTo :: LHSOrPatSyn -> LHSOrPatSyn -> [LHSOrPatSyn] Source #

enumFromThenTo :: LHSOrPatSyn -> LHSOrPatSyn -> LHSOrPatSyn -> [LHSOrPatSyn] Source #

Generic LHSOrPatSyn Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep LHSOrPatSyn |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep LHSOrPatSyn = D1 ('MetaData "LHSOrPatSyn" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "IsLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsPatSyn" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: LHSOrPatSyn -> Rep LHSOrPatSyn x Source #

to :: Rep LHSOrPatSyn x -> LHSOrPatSyn Source #

Show LHSOrPatSyn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> LHSOrPatSyn -> ShowS Source # show :: LHSOrPatSyn -> String Source # showList :: [LHSOrPatSyn] -> ShowS Source #
Eq LHSOrPatSyn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: LHSOrPatSyn -> LHSOrPatSyn -> Bool Source # (/=) :: LHSOrPatSyn -> LHSOrPatSyn -> Bool Source #
type Rep LHSOrPatSyn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep LHSOrPatSyn = D1 ('MetaData "LHSOrPatSyn" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "IsLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsPatSyn" 'PrefixI 'False) (U1 :: Type -> Type))

initState :: AbsolutePath -> TCState Source #

data Call Source #

Constructors

CheckClause Type SpineClause |
CheckLHS SpineLHS |
CheckPattern Pattern Telescope Type |
CheckPatternLinearityType Name |
CheckPatternLinearityValue Name |
CheckLetBinding LetBinding |
InferExpr Expr |
CheckExprCall Comparison Expr Type |
CheckDotPattern Expr Term |
CheckProjection Range QName Type |
IsTypeCall Comparison Expr Sort |
IsType_ Expr |
InferVar Name |
InferDef QName |
CheckArguments Expr [NamedArg Expr] Type (Maybe Type) |
CheckMetaSolution Range MetaId Type Term |
CheckTargetType Range Type Type |
CheckDataDef Range QName [LamBinding] [Constructor] |
CheckRecDef Range QName [LamBinding] [Constructor] |
CheckConstructor QName Telescope Sort Constructor |
CheckConArgFitsIn QName Bool Type Sort |
CheckFunDefCall Range QName [Clause] Bool | Highlight (interactively) if and only if the boolean is `True`.
CheckPragma Range Pragma |
CheckPrimitive Range QName Expr |
CheckIsEmpty Range Type |
CheckConfluence QName QName |
CheckModuleParameters ModuleName Telescope |
CheckWithFunctionType Type |
CheckSectionApplication Range Erased ModuleName ModuleApplication |
CheckNamedWhere ModuleName |
CheckIApplyConfluence | Checking a clause for confluence with endpoint reductions. Always `φ ⊢ f vs = rhs` for now, but we store the simplifications of `f vs[φ]` and `rhs[φ]`.

Fields

- Range

  Clause range

- QName

  Function name

- Term

  (As-is) Function applied to the patterns in this clause

- Term

  (Simplified) Function applied to the patterns in this clause

- Term

  (Simplified) clause RHS

- Type

  (Simplified) clause type

ScopeCheckExpr Expr |
ScopeCheckDeclaration NiceDeclaration |
ScopeCheckLHS QName Pattern |
NoHighlighting |
ModuleContents | Interaction command: show module contents.
SetRange Range | used by `setCurrentRange`

#### Instances

Instances details

Pretty Call Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Call -> Doc Source # prettyPrec :: Int -> Call -> Doc Source # prettyList :: [Call] -> Doc Source #
HasRange Call Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: Call -> Range Source #
PrettyTCM Call Source # |
Instance details Defined in Agda.TypeChecking.Pretty.Call Methods prettyTCM :: MonadPretty m => Call -> m Doc Source #
NFData Call Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Call -> () Source #
Generic Call Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Call |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Call = D1 ('MetaData "Call" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((((C1 ('MetaCons "CheckClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineClause)) :+: C1 ('MetaCons "CheckLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineLHS))) :+: (C1 ('MetaCons "CheckPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CheckPatternLinearityType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons "CheckPatternLinearityValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "CheckLetBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetBinding))) :+: (C1 ('MetaCons "InferExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons "CheckExprCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CheckDotPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))) :+: (((C1 ('MetaCons "CheckProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "IsTypeCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))) :+: (C1 ('MetaCons "IsType_" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "InferVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons "InferDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CheckArguments" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Type))))) :+: (C1 ('MetaCons "CheckMetaSolution" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "CheckTargetType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CheckDataDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor])))))))) :+: ((((C1 ('MetaCons "CheckRecDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor]))) :+: C1 ('MetaCons "CheckConstructor" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Constructor)))) :+: (C1 ('MetaCons "CheckConArgFitsIn" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))) :+: C1 ('MetaCons "CheckFunDefCall" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :+: ((C1 ('MetaCons "CheckPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: C1 ('MetaCons "CheckPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: (C1 ('MetaCons "CheckIsEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "CheckConfluence" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CheckModuleParameters" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)))))) :+: (((C1 ('MetaCons "CheckWithFunctionType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "CheckSectionApplication" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleApplication)))) :+: (C1 ('MetaCons "CheckNamedWhere" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: (C1 ('MetaCons "CheckIApplyConfluence" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons "ScopeCheckExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))) :+: ((C1 ('MetaCons "ScopeCheckDeclaration" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)) :+: C1 ('MetaCons "ScopeCheckLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons "NoHighlighting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ModuleContents" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SetRange" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))))))

Methods

from :: Call -> Rep Call x Source #

to :: Rep Call x -> Call Source #

type Rep Call Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Call = D1 ('MetaData "Call" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((((C1 ('MetaCons "CheckClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineClause)) :+: C1 ('MetaCons "CheckLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpineLHS))) :+: (C1 ('MetaCons "CheckPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CheckPatternLinearityType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons "CheckPatternLinearityValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "CheckLetBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetBinding))) :+: (C1 ('MetaCons "InferExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons "CheckExprCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CheckDotPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))) :+: (((C1 ('MetaCons "CheckProjection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "IsTypeCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))) :+: (C1 ('MetaCons "IsType_" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "InferVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: ((C1 ('MetaCons "InferDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CheckArguments" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Type))))) :+: (C1 ('MetaCons "CheckMetaSolution" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "CheckTargetType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "CheckDataDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor])))))))) :+: ((((C1 ('MetaCons "CheckRecDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor]))) :+: C1 ('MetaCons "CheckConstructor" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Constructor)))) :+: (C1 ('MetaCons "CheckConArgFitsIn" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort))) :+: C1 ('MetaCons "CheckFunDefCall" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :+: ((C1 ('MetaCons "CheckPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: C1 ('MetaCons "CheckPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: (C1 ('MetaCons "CheckIsEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "CheckConfluence" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CheckModuleParameters" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)))))) :+: (((C1 ('MetaCons "CheckWithFunctionType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "CheckSectionApplication" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleApplication)))) :+: (C1 ('MetaCons "CheckNamedWhere" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: (C1 ('MetaCons "CheckIApplyConfluence" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons "ScopeCheckExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))) :+: ((C1 ('MetaCons "ScopeCheckDeclaration" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration)) :+: C1 ('MetaCons "ScopeCheckLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern))) :+: (C1 ('MetaCons "NoHighlighting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ModuleContents" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SetRange" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))))))

data DisplayForm Source #

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 `Syntax`.

The patterns `ts` are just terms, but the first `dfPatternVars` variables are pattern variables that matches any term.

Constructors

Display |

Fields

- dfPatternVars :: Nat

  Number `n` of pattern variables in `dfPats`.

- dfPats :: Elims

  Left hand side patterns, the `n` first free variables are pattern variables, any variables above `n` are 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 :: DisplayTerm

  Right hand side.

#### Instances

Instances details

Pretty DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: DisplayForm -> Doc Source # prettyPrec :: Int -> DisplayForm -> Doc Source # prettyList :: [DisplayForm] -> Doc Source #
NamesIn DisplayForm Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> DisplayForm -> m Source #
KillRange DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT DisplayForm Source #
Free DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freeVars' :: IsVarSet a c => DisplayForm -> FreeM a c Source #
ChaseDisplayForms DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Signature Methods chaseDisplayForms :: DisplayForm -> Set QName -> TCM (Set QName) Source #
InstantiateFull DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: DisplayForm -> ReduceM DisplayForm Source #
Normalise DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: DisplayForm -> ReduceM DisplayForm Source #
Simplify DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: DisplayForm -> ReduceM DisplayForm
EmbPrj DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DisplayForm -> S Word32 Source # icod_ :: DisplayForm -> S Word32 Source # value :: Word32 -> R DisplayForm Source #
Subst DisplayForm Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg DisplayForm |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg DisplayForm = Term

Methods

applySubst :: Substitution' (SubstArg DisplayForm) -> DisplayForm -> DisplayForm Source #

NFData DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DisplayForm -> () Source #
Generic DisplayForm Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep DisplayForm |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DisplayForm = D1 ('MetaData "DisplayForm" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: DisplayForm -> Rep DisplayForm x Source #

to :: Rep DisplayForm x -> DisplayForm Source #

Show DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DisplayForm -> ShowS Source # show :: DisplayForm -> String Source # showList :: [DisplayForm] -> ShowS Source #
type SubstArg DisplayForm Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg DisplayForm = Term
type Rep DisplayForm Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DisplayForm = D1 ('MetaData "DisplayForm" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

data Closure a Source #

Constructors

Closure |

Fields

- clSignature :: Signature
- clEnv :: TCEnv
- clScope :: ScopeInfo
- clModuleCheckpoints :: Map ModuleName CheckpointId
- clValue :: a

#### Instances

Instances details

Functor Closure Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> Closure a -> Closure b Source # (<$) :: a -> Closure b -> Closure a Source #
Foldable Closure Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

fold :: Monoid m => Closure m -> m Source #

foldMap :: Monoid m => (a -> m) -> Closure a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Closure a -> m Source #

foldr :: (a -> b -> b) -> b -> Closure a -> b Source #

foldr' :: (a -> b -> b) -> b -> Closure a -> b Source #

foldl :: (b -> a -> b) -> b -> Closure a -> b Source #

foldl' :: (b -> a -> b) -> b -> Closure a -> b Source #

foldr1 :: (a -> a -> a) -> Closure a -> a Source #

foldl1 :: (a -> a -> a) -> Closure a -> a Source #

toList :: Closure a -> [a] Source #

null :: Closure a -> Bool Source #

length :: Closure a -> Int Source #

elem :: Eq a => a -> Closure a -> Bool Source #

maximum :: Ord a => Closure a -> a Source #

minimum :: Ord a => Closure a -> a Source #

sum :: Num a => Closure a -> a Source #

product :: Num a => Closure a -> a Source #

LensIsAbstract (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' (Closure a) IsAbstract Source #
HasRange a => HasRange (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: Closure a -> Range Source #
KillRange a => KillRange (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (Closure a) Source #
MentionsMeta a => MentionsMeta (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> Closure a -> Bool Source #
LensTCEnv (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensTCEnv :: Lens' (Closure a) TCEnv Source #
PrettyTCM a => PrettyTCM (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Closure a -> m Doc Source #
Instantiate a => Instantiate (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiate' :: Closure a -> ReduceM (Closure a) Source #
InstantiateFull a => InstantiateFull (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Closure a -> ReduceM (Closure a) Source #
Normalise a => Normalise (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: Closure a -> ReduceM (Closure a) Source #
Reduce a => Reduce (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods reduce' :: Closure a -> ReduceM (Closure a) Source # reduceB' :: Closure a -> ReduceM (Blocked (Closure a)) Source #
Simplify a => Simplify (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: Closure a -> ReduceM (Closure a)
NFData a => NFData (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Closure a -> () Source #
Generic (Closure a) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep (Closure a) |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Closure a) = D1 ('MetaData "Closure" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: Closure a -> Rep (Closure a) x Source #

to :: Rep (Closure a) x -> Closure a Source #

Show a => Show (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Closure a -> ShowS Source # show :: Closure a -> String Source # showList :: [Closure a] -> ShowS Source #
LensClosure (Closure a) a Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensClosure :: Lens' (Closure a) (Closure a) Source #
type Rep (Closure a) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Closure a) = D1 ('MetaData "Closure" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

class (Applicative m, MonadTCEnv m, ReadTCState m, HasOptions m) => MonadReduce (m :: Type -> Type) where Source #

Minimal complete definition

Nothing

Methods

liftReduce :: ReduceM a -> m a Source #

default liftReduce :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type) a. (MonadTrans t, MonadReduce n, t n ~ m) => ReduceM a -> m a Source #

#### Instances

Instances details

MonadReduce TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods liftReduce :: ReduceM a -> TerM a Source #
MonadReduce ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> ReduceM a Source #
MonadReduce NLM Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods liftReduce :: ReduceM a -> NLM a Source #
MonadReduce m => MonadReduce (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods liftReduce :: ReduceM a -> PureConversionT m a Source #
MonadReduce m => MonadReduce (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> BlockT m a Source #
MonadIO m => MonadReduce (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> TCMT m a Source #
MonadReduce m => MonadReduce (NamesT m) Source # |
Instance details Defined in Agda.TypeChecking.Names Methods liftReduce :: ReduceM a -> NamesT m a Source #
MonadReduce m => MonadReduce (ListT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> ListT m a Source #
MonadReduce m => MonadReduce (ChangeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> ChangeT m a Source #
MonadReduce m => MonadReduce (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> MaybeT m a Source #
MonadReduce m => MonadReduce (ExceptT err m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> ExceptT err m a Source #
MonadReduce m => MonadReduce (IdentityT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> IdentityT m a Source #
MonadReduce m => MonadReduce (ReaderT r m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> ReaderT r m a Source #
MonadReduce m => MonadReduce (StateT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> StateT w m a Source #
(Monoid w, MonadReduce m) => MonadReduce (WriterT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> WriterT w m a Source #

type Statistics = Map String Integer Source #

askR :: ReduceM ReduceEnv Source #

defAbstract :: Definition -> IsAbstract Source #

data CompilerPragma Source #

The backends are responsible for parsing their own pragmas.

Constructors

CompilerPragma Range String |

#### Instances

Instances details

HasRange CompilerPragma Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: CompilerPragma -> Range Source #
KillRange CompiledRepresentation Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT CompiledRepresentation Source #
EmbPrj CompilerPragma Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Compilers Methods icode :: CompilerPragma -> S Word32 Source # icod_ :: CompilerPragma -> S Word32 Source # value :: Word32 -> R CompilerPragma Source #
NFData CompilerPragma Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CompilerPragma -> () Source #
Generic CompilerPragma Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep CompilerPragma |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CompilerPragma = D1 ('MetaData "CompilerPragma" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "CompilerPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: CompilerPragma -> Rep CompilerPragma x Source #

to :: Rep CompilerPragma x -> CompilerPragma Source #

Show CompilerPragma Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompilerPragma -> ShowS Source # show :: CompilerPragma -> String Source # showList :: [CompilerPragma] -> ShowS Source #
Eq CompilerPragma Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CompilerPragma -> CompilerPragma -> Bool Source # (/=) :: CompilerPragma -> CompilerPragma -> Bool Source #
type Rep CompilerPragma Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CompilerPragma = D1 ('MetaData "CompilerPragma" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "CompilerPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data TCEnv Source #

Constructors

TCEnv |

Fields

- envContext :: Context
- envLetBindings :: LetBindings
- envCurrentModule :: ModuleName
- envCurrentPath :: Maybe FileId

  The 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 MutualId

  the current (if any) mutual block

- envTerminationCheck :: TerminationCheck ()

  are we inside the scope of a termination pragma

- envCoverageCheck :: CoverageCheck

  are we inside the scope of a coverage pragma

- envMakeCase :: Bool

  are we inside a make-case (if so, ignore forcing analysis in unifier)

- envSolvingConstraints :: Bool

  Are we currently in the process of solving active constraints?

- envCheckingWhere :: WhereClause_

  Have we stepped into the where-declarations of a clause? Everything under a `where` will be checked with this flag on.

- envWorkingOnTypes :: Bool

  Are we working on types? Turned on by `workOnTypes`.

- envAssignMetas :: Bool

  Are we allowed to assign metas?

- envActiveProblems :: Set ProblemId
- envUnquoteProblem :: Maybe ProblemId

  If inside a `runUnquoteM` call, 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 a `solveInstanceConstraints` inside `noConstraints` only failing for local instance constraints.

- envAbstractMode :: AbstractMode

  When 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 :: Relevance

  Are we checking an irrelevant argument? (=`Irrelevant`) Then top-level irrelevant declarations are enabled. Other value: `Relevant`, then only relevant decls. are available.

- envQuantity :: Quantity

  Are we checking a runtime-irrelevant thing? (=`Quantity0`) Then runtime-irrelevant things are usable.

- envHardCompileTimeMode :: Bool

  Is 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 :: Bool

  Are 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 :: Bool

  Sometimes we want to disable display forms.

- envFoldLetBindings :: Bool

  Fold let-bindings when printing terms (default: True)

- envRange :: Range
- envHighlightingRange :: Range

  Interactive highlighting uses this range rather than `envRange`.

- envClause :: IPClause

  What 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 :: HighlightingLevel

  Set to `None` when imported modules are type-checked.

- envHighlightingMethod :: HighlightingMethod
- envExpandLast :: ExpandHidden

  When 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 QName

  We are reducing an application of this function. (For tracking of incomplete matches.)

- envSimplification :: Simplification

  Did we encounter a simplification (proper match) during the current reduction process?

- envAllowedReductions :: AllowedReductions
- envReduceDefs :: ReduceDefs
- envReconstructed :: Bool
- envInjectivityDepth :: Int

  Injectivity can cause non-termination for unsolvable contraints (#431, #3067). Keep a limit on the nesting depth of injectivity uses.

- envCompareBlocked :: Bool

  When `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. when `envAssignMetas` is `False` or when running `pureEqualTerms`) or else we get non-unique meta solutions.

- envPrintDomainFreePi :: Bool

  When `True`, types will be omitted from printed pi types if they can be inferred.

- envPrintMetasBare :: Bool

  When `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 tactics `solveAll`.

- envInsideDotPattern :: Bool

  Used by the scope checker to make sure that certain forms of expressions are not used inside dot patterns: extended lambdas and let-expressions.

- envUnquoteFlags :: UnquoteFlags
- envInstanceDepth :: !Int

  Until we get a termination checker for instance search (#1743) we limit the search depth to ensure termination.

- envIsDebugPrinting :: Bool
- envPrintingPatternLambdas :: [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 :: Bool

  Use call-by-need evaluation for reductions.

- envCurrentCheckpoint :: CheckpointId

  Checkpoints track the evolution of the context as we go under binders or refine it by pattern matching.

- envCheckpoints :: Map CheckpointId Substitution

  Keeps the substitution from each previous checkpoint to the current context.

- envGeneralizeMetas :: DoGeneralize

  Should new metas generalized over.

- envGeneralizedVars :: Map QName GeneralizedValue

  Values for used generalizable variables.

- envActiveBackendName :: Maybe BackendName

  Is some backend active at the moment, and if yes, which? NB: we only store the `BackendName` here, otherwise `instance Data TCEnv` is not derivable. The actual backend can be obtained from the name via `stBackends`.

- envConflComputingOverlap :: Bool

  Are we currently computing the overlap between two rewrite rules for the purpose of confluence checking?

- envCurrentlyElaborating :: Bool

  Are we currently in the process of executing an elaborate-and-give interactive command?

- envSyntacticEqualityFuel :: !(Maybe Int)

  If 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 OpaqueId)

  Unique 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).

- envTermCheckReducing :: Bool

  Are we currently trying to reduce away function calls using non-recursive clauses during termination checking?

#### Instances

Instances details

LensIsAbstract TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' TCEnv IsAbstract Source #
LensIsOpaque TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsOpaque :: Lens' TCEnv IsOpaque Source #
LensTCEnv TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensTCEnv :: Lens' TCEnv TCEnv Source #
NFData TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TCEnv -> () Source #
Generic TCEnv Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TCEnv |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TCEnv = D1 ('MetaData "TCEnv" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 FileId)) :*: (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 WhereClause_) :*: 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 'DecidedStrict) (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)) :*: S1 ('MetaSel ('Just "envTermCheckReducing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))))

Methods

from :: TCEnv -> Rep TCEnv x Source #

to :: Rep TCEnv x -> TCEnv Source #

type Rep TCEnv Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TCEnv = D1 ('MetaData "TCEnv" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 FileId)) :*: (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 WhereClause_) :*: 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 'DecidedStrict) (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)) :*: S1 ('MetaSel ('Just "envTermCheckReducing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))))

type RewriteRules = [RewriteRule] Source #

data PrimFun Source #

Constructors

PrimFun |

Fields

- primFunName :: QName
- primFunArity :: Arity
- primFunArgOccurrences :: [Occurrence]

  See `defArgOccurrences`.

- primFunImplementation :: [Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)

#### Instances

Instances details

NamesIn PrimFun Source # | Note that the `primFunImplementation` is skipped.
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> PrimFun -> m Source #
Abstract PrimFun Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> PrimFun -> PrimFun Source #
Apply PrimFun Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: PrimFun -> Args -> PrimFun Source # applyE :: PrimFun -> Elims -> PrimFun Source #
NFData PrimFun Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PrimFun -> () Source #
Generic PrimFun Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PrimFun |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrimFun = D1 ('MetaData "PrimFun" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

Methods

from :: PrimFun -> Rep PrimFun x Source #

to :: Rep PrimFun x -> PrimFun Source #

type Rep PrimFun Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrimFun = D1 ('MetaData "PrimFun" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

data RunMetaOccursCheck Source #

Constructors

RunMetaOccursCheck |
DontRunMetaOccursCheck |

#### Instances

Instances details

NFData RunMetaOccursCheck Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RunMetaOccursCheck -> () Source #
Generic RunMetaOccursCheck Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep RunMetaOccursCheck |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep RunMetaOccursCheck = D1 ('MetaData "RunMetaOccursCheck" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "RunMetaOccursCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DontRunMetaOccursCheck" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: RunMetaOccursCheck -> Rep RunMetaOccursCheck x Source #

to :: Rep RunMetaOccursCheck x -> RunMetaOccursCheck Source #

Show RunMetaOccursCheck Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> RunMetaOccursCheck -> ShowS Source # show :: RunMetaOccursCheck -> String Source # showList :: [RunMetaOccursCheck] -> ShowS Source #
Eq RunMetaOccursCheck Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: RunMetaOccursCheck -> RunMetaOccursCheck -> Bool Source # (/=) :: RunMetaOccursCheck -> RunMetaOccursCheck -> Bool Source #
Ord RunMetaOccursCheck Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: RunMetaOccursCheck -> RunMetaOccursCheck -> Ordering Source #

(<) :: RunMetaOccursCheck -> RunMetaOccursCheck -> Bool Source #

(<=) :: RunMetaOccursCheck -> RunMetaOccursCheck -> Bool Source #

(>) :: RunMetaOccursCheck -> RunMetaOccursCheck -> Bool Source #

(>=) :: RunMetaOccursCheck -> RunMetaOccursCheck -> Bool Source #

max :: RunMetaOccursCheck -> RunMetaOccursCheck -> RunMetaOccursCheck Source #

min :: RunMetaOccursCheck -> RunMetaOccursCheck -> RunMetaOccursCheck Source #

type Rep RunMetaOccursCheck Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep RunMetaOccursCheck = D1 ('MetaData "RunMetaOccursCheck" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "RunMetaOccursCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DontRunMetaOccursCheck" 'PrefixI 'False) (U1 :: Type -> Type))

data CompareAs Source #

We can either compare two terms at a given type, or compare two types without knowing (or caring about) their sorts.

Constructors

AsTermsOf Type | `Type` should not be `Size`. But currently, we do not rely on this invariant.
AsSizes | Replaces `AsTermsOf Size`.
AsTypes |

#### Instances

Instances details

Pretty CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: CompareAs -> Doc Source # prettyPrec :: Int -> CompareAs -> Doc Source # prettyList :: [CompareAs] -> Doc Source #
TermLike CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverseTermM :: Monad m => (Term -> m Term) -> CompareAs -> m CompareAs Source # foldTerm :: Monoid m => (Term -> m) -> CompareAs -> m Source #
AllMetas CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods allMetas :: Monoid m => (MetaId -> m) -> CompareAs -> m Source #
Free CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freeVars' :: IsVarSet a c => CompareAs -> FreeM a c Source #
MentionsMeta CompareAs Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> CompareAs -> Bool Source #
IsSizeType CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => CompareAs -> m (Maybe BoundedSize) Source #
PrettyTCM CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => CompareAs -> m Doc Source #
Instantiate CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiate' :: CompareAs -> ReduceM CompareAs Source #
InstantiateFull CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: CompareAs -> ReduceM CompareAs Source #
IsMeta CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods isMeta :: CompareAs -> Maybe MetaId Source #
Normalise CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: CompareAs -> ReduceM CompareAs Source #
Reduce CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods reduce' :: CompareAs -> ReduceM CompareAs Source # reduceB' :: CompareAs -> ReduceM (Blocked CompareAs) Source #
Simplify CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: CompareAs -> ReduceM CompareAs
Subst CompareAs Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg CompareAs |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg CompareAs = Term

Methods

applySubst :: Substitution' (SubstArg CompareAs) -> CompareAs -> CompareAs Source #

NFData CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CompareAs -> () Source #
Generic CompareAs Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep CompareAs |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CompareAs = D1 ('MetaData "CompareAs" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AsTermsOf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "AsSizes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AsTypes" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: CompareAs -> Rep CompareAs x Source #

to :: Rep CompareAs x -> CompareAs Source #

Show CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompareAs -> ShowS Source # show :: CompareAs -> String Source # showList :: [CompareAs] -> ShowS Source #
type SubstArg CompareAs Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg CompareAs = Term
type Rep CompareAs Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CompareAs = D1 ('MetaData "CompareAs" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AsTermsOf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "AsSizes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AsTypes" 'PrefixI 'False) (U1 :: Type -> Type)))

data CompareDirection Source #

An extension of `Comparison` to `>=`.

Constructors

DirEq |
DirLeq |
DirGeq |

#### Instances

Instances details

Pretty CompareDirection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: CompareDirection -> Doc Source # prettyPrec :: Int -> CompareDirection -> Doc Source # prettyList :: [CompareDirection] -> Doc Source #
Show CompareDirection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompareDirection -> ShowS Source # show :: CompareDirection -> String Source # showList :: [CompareDirection] -> ShowS Source #
Eq CompareDirection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CompareDirection -> CompareDirection -> Bool Source # (/=) :: CompareDirection -> CompareDirection -> Bool Source #

data MetaVariable Source #

Information about local meta-variables.

Constructors

MetaVar |

Fields

- mvInfo :: MetaInfo
- mvPriority :: MetaPriority

  some metavariables are more eager to be instantiated

- mvPermutation :: Permutation

  a 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 MetaId
- mvInstantiation :: MetaInstantiation
- mvListeners :: Set Listener

  meta variables scheduled for eta-expansion but blocked by this one

- mvFrozen :: Frozen

  are we past the point where we can instantiate this meta variable?

- mvTwin :: Maybe MetaId

  `Just m` means that this meta-variable will be equated to `m` when the latter is unblocked. See `blockTermOnProblem`.

#### Instances

Instances details

LensModality MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: MetaVariable -> Modality Source # setModality :: Modality -> MetaVariable -> MetaVariable Source # mapModality :: (Modality -> Modality) -> MetaVariable -> MetaVariable Source #
LensQuantity MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: MetaVariable -> Quantity Source # setQuantity :: Quantity -> MetaVariable -> MetaVariable Source # mapQuantity :: (Quantity -> Quantity) -> MetaVariable -> MetaVariable Source #
LensRelevance MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: MetaVariable -> Relevance Source # setRelevance :: Relevance -> MetaVariable -> MetaVariable Source # mapRelevance :: (Relevance -> Relevance) -> MetaVariable -> MetaVariable Source #
HasRange MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: MetaVariable -> Range Source #
SetRange MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods setRange :: Range -> MetaVariable -> MetaVariable Source #
NFData MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaVariable -> () Source #
Generic MetaVariable Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep MetaVariable |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MetaVariable = D1 ('MetaData "MetaVariable" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

Methods

from :: MetaVariable -> Rep MetaVariable x Source #

to :: Rep MetaVariable x -> MetaVariable Source #

LensClosure MetaVariable Range Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensClosure :: Lens' MetaVariable (Closure Range) Source #
type Rep MetaVariable Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MetaVariable = D1 ('MetaData "MetaVariable" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

data InstanceInfo Source #

Information about an `instance` definition.

Constructors

InstanceInfo |

Fields

- instanceClass :: QName

  Name of the "class" this is an instance for

- instanceOverlap :: OverlapMode

  Does this instance have a specified overlap mode?

#### Instances

Instances details

KillRange InstanceInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT InstanceInfo Source #
EmbPrj InstanceInfo Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: InstanceInfo -> S Word32 Source # icod_ :: InstanceInfo -> S Word32 Source # value :: Word32 -> R InstanceInfo Source #
NFData InstanceInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InstanceInfo -> () Source #
Generic InstanceInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep InstanceInfo |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InstanceInfo = D1 ('MetaData "InstanceInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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

from :: InstanceInfo -> Rep InstanceInfo x Source #

to :: Rep InstanceInfo x -> InstanceInfo Source #

Show InstanceInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> InstanceInfo -> ShowS Source # show :: InstanceInfo -> String Source # showList :: [InstanceInfo] -> ShowS Source #
type Rep InstanceInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InstanceInfo = D1 ('MetaData "InstanceInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "InstanceInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "instanceClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just "instanceOverlap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode)))

class Monad m => MonadBlock (m :: Type -> Type) where Source #

Minimal complete definition

catchPatternErr

Methods

patternViolation :: Blocker -> m a Source #

`patternViolation b` aborts the current computation

default patternViolation :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type) a. (MonadTrans t, MonadBlock n, m ~ t n) => Blocker -> m a Source #

catchPatternErr :: (Blocker -> m a) -> m a -> m a Source #

`catchPatternErr handle m` runs m, handling pattern violations with `handle` (doesn't roll back the state)

#### Instances

Instances details

MonadBlock TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> TCM a Source # catchPatternErr :: (Blocker -> TCM a) -> TCM a -> TCM a Source #
MonadBlock NLM Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods patternViolation :: Blocker -> NLM a Source # catchPatternErr :: (Blocker -> NLM a) -> NLM a -> NLM a Source #
Monad m => MonadBlock (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods patternViolation :: Blocker -> PureConversionT m a Source # catchPatternErr :: (Blocker -> PureConversionT m a) -> PureConversionT m a -> PureConversionT m a Source #
Monad m => MonadBlock (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> BlockT m a Source # catchPatternErr :: (Blocker -> BlockT m a) -> BlockT m a -> BlockT m a Source #
MonadBlock m => MonadBlock (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> MaybeT m a Source # catchPatternErr :: (Blocker -> MaybeT m a) -> MaybeT m a -> MaybeT m a Source #
Monad m => MonadBlock (ExceptT TCErr m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> ExceptT TCErr m a Source # catchPatternErr :: (Blocker -> ExceptT TCErr m a) -> ExceptT TCErr m a -> ExceptT TCErr m a Source #
MonadBlock m => MonadBlock (ReaderT e m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> ReaderT e m a Source # catchPatternErr :: (Blocker -> ReaderT e m a) -> ReaderT e m a -> ReaderT e m a Source #

data Reduced no yes Source #

Constructors

NoReduction no |
YesReduction Simplification yes |

#### Instances

Instances details

Functor (Reduced no) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> Reduced no a -> Reduced no b Source # (<$) :: a -> Reduced no b -> Reduced no a Source #

data IsReduced Source #

Three cases: 1. not reduced, 2. reduced, but blocked, 3. reduced, not blocked.

Constructors

NotReduced |
Reduced (Blocked ()) |

data ProblemConstraint Source #

Constructors

PConstr |

Fields

- constraintProblems :: Set ProblemId
- constraintUnblocker :: Blocker
- theConstraint :: Closure Constraint

#### Instances

Instances details

HasRange ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: ProblemConstraint -> Range Source #
Reify ProblemConstraint Source # |

Instance details

Defined in Agda.Interaction.BasicOps

Associated Types

type ReifiesTo ProblemConstraint |
Instance details Defined in Agda.Interaction.BasicOps type ReifiesTo ProblemConstraint = Closure (OutputForm Expr Expr)

Methods

reify :: MonadReify m => ProblemConstraint -> m (ReifiesTo ProblemConstraint) Source #

reifyWhen :: MonadReify m => Bool -> ProblemConstraint -> m (ReifiesTo ProblemConstraint) Source #

MentionsMeta ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> ProblemConstraint -> Bool Source #
PrettyTCM ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Pretty.Constraint Methods prettyTCM :: MonadPretty m => ProblemConstraint -> m Doc Source #
InstantiateFull ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: ProblemConstraint -> ReduceM ProblemConstraint Source #
Normalise ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: ProblemConstraint -> ReduceM ProblemConstraint Source #
Simplify ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: ProblemConstraint -> ReduceM ProblemConstraint
NFData ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ProblemConstraint -> () Source #
Generic ProblemConstraint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ProblemConstraint |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ProblemConstraint = D1 ('MetaData "ProblemConstraint" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: ProblemConstraint -> Rep ProblemConstraint x Source #

to :: Rep ProblemConstraint x -> ProblemConstraint Source #

Show ProblemConstraint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ProblemConstraint -> ShowS Source # show :: ProblemConstraint -> String Source # showList :: [ProblemConstraint] -> ShowS Source #
type ReifiesTo ProblemConstraint Source # |
Instance details Defined in Agda.Interaction.BasicOps type ReifiesTo ProblemConstraint = Closure (OutputForm Expr Expr)
type Rep ProblemConstraint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ProblemConstraint = D1 ('MetaData "ProblemConstraint" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

data NLPat Source #

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 PElims | Matches `f es`
PLam ArgInfo (Abs NLPat) | Matches `λ x → t`
PPi (Dom NLPType) (Abs NLPType) | Matches `(x : A) → B`
PSort NLPSort | Matches a sort of the given shape.
PBoundVar !Int PElims | Matches `x es` where x is a lambda-bound variable
PTerm Term | Matches the term modulo β (ideally βη).

#### Instances

Instances details

TermLike NLPat Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverseTermM :: Monad m => (Term -> m Term) -> NLPat -> m NLPat Source # foldTerm :: Monoid m => (Term -> m) -> NLPat -> m Source #
AllMetas NLPat Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods allMetas :: Monoid m => (MetaId -> m) -> NLPat -> m Source #
NamesIn NLPat Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> NLPat -> m Source #
KillRange NLPat Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT NLPat Source #
Free NLPat Source # | Only computes free variables that are not bound (see `nlPatVars`), i.e., those in a `PTerm`.
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods freeVars' :: IsVarSet a c => NLPat -> FreeM a c Source #
PrettyTCM NLPat Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NLPat -> m Doc Source #
InstantiateFull NLPat Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: NLPat -> ReduceM NLPat Source #
GetMatchables NLPat Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: NLPat -> [QName] Source #
NLPatVars NLPat Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatVarsUnder :: Int -> NLPat -> IntSet Source # nlPatVars :: NLPat -> IntSet Source #
EmbPrj NLPat Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: NLPat -> S Word32 Source # icod_ :: NLPat -> S Word32 Source # value :: Word32 -> R NLPat Source #
Subst NLPat Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg NLPat |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg NLPat = NLPat

Methods

applySubst :: Substitution' (SubstArg NLPat) -> NLPat -> NLPat Source #

DeBruijn NLPat Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods deBruijnVar :: Int -> NLPat Source # deBruijnNamedVar :: String -> Int -> NLPat Source # deBruijnView :: NLPat -> Maybe Int Source #
NFData NLPat Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NLPat -> () Source #
Generic NLPat Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep NLPat |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NLPat = D1 ('MetaData "NLPat" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "PVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg Int])) :+: (C1 ('MetaCons "PDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims)) :+: C1 ('MetaCons "PLam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs NLPat))))) :+: ((C1 ('MetaCons "PPi" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom NLPType)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs NLPType))) :+: C1 ('MetaCons "PSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort))) :+: (C1 ('MetaCons "PBoundVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims)) :+: C1 ('MetaCons "PTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))

Methods

from :: NLPat -> Rep NLPat x Source #

to :: Rep NLPat x -> NLPat Source #

Show NLPat Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NLPat -> ShowS Source # show :: NLPat -> String Source # showList :: [NLPat] -> ShowS Source #
Match NLPat Level Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Context -> TypeOf Level -> NLPat -> Level -> NLM () Source #
Match NLPat Term Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Context -> TypeOf Term -> NLPat -> Term -> NLM () Source #
NLPatToTerm NLPat Level Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatToTerm :: PureTCM m => NLPat -> m Level Source #
NLPatToTerm NLPat Term Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatToTerm :: PureTCM m => NLPat -> m Term Source #
PatternFrom Level NLPat Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> TypeOf Level -> Level -> TCM NLPat Source #
PatternFrom Term NLPat Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> TypeOf Term -> Term -> TCM NLPat Source #
PatternFrom Elims [Elim' NLPat] Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> TypeOf Elims -> Elims -> TCM [Elim' NLPat] Source #
PrettyTCM (Type' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Type' NLPat -> m Doc Source #
PrettyTCM (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Elim' NLPat -> m Doc Source #
Match [Elim' NLPat] Elims Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Context -> TypeOf Elims -> [Elim' NLPat] -> Elims -> NLM () Source #
ToNLPat (Arg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: Arg DeBruijnPattern -> Elim' NLPat Source #
ToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: NamedArg DeBruijnPattern -> Elim' NLPat Source #
type TypeOf NLPat Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type TypeOf NLPat = Type
type SubstArg NLPat Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg NLPat = NLPat
type Rep NLPat Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NLPat = D1 ('MetaData "NLPat" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "PVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg Int])) :+: (C1 ('MetaCons "PDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims)) :+: C1 ('MetaCons "PLam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs NLPat))))) :+: ((C1 ('MetaCons "PPi" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom NLPType)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Abs NLPType))) :+: C1 ('MetaCons "PSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort))) :+: (C1 ('MetaCons "PBoundVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims)) :+: C1 ('MetaCons "PTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))

type TypeOf [Elim' NLPat] Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type TypeOf [Elim' NLPat] = (Type, Elims -> Term)

data UnquoteError Source #

Constructors

BlockedOnMeta TCState Blocker |
CannotDeclareHiddenFunction QName | Attempt to `unquoteDecl` with `Hiding` other than `NotHidden`.
CommitAfterDef |
ConInsteadOfDef QName String String |
DefineDataNotData QName |
DefInsteadOfCon QName String String |
MissingDeclaration QName |
MissingDefinition QName |
NakedUnquote |
NonCanonical String Term |
PatLamWithoutClauses Term |
StaleMeta TopLevelModuleName MetaId | Attempt to unquote a serialized meta.
TooManyParameters Nat Expr | Attempt to shave of `Nat` many parameters from function type `Expr`.
UnboundName QName |

#### Instances

Instances details

PrettyTCM UnquoteError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => UnquoteError -> m Doc Source #
NFData UnquoteError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: UnquoteError -> () Source #
Generic UnquoteError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep UnquoteError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep UnquoteError = D1 ('MetaData "UnquoteError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "BlockedOnMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCState) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker)) :+: (C1 ('MetaCons "CannotDeclareHiddenFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CommitAfterDef" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConInsteadOfDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "DefineDataNotData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "DefInsteadOfCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "MissingDeclaration" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons "MissingDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "NakedUnquote" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonCanonical" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: ((C1 ('MetaCons "PatLamWithoutClauses" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "StaleMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId))) :+: (C1 ('MetaCons "TooManyParameters" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "UnboundName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))))

Methods

from :: UnquoteError -> Rep UnquoteError x Source #

to :: Rep UnquoteError x -> UnquoteError Source #

Show UnquoteError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> UnquoteError -> ShowS Source # show :: UnquoteError -> String Source # showList :: [UnquoteError] -> ShowS Source #
type Rep UnquoteError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep UnquoteError = D1 ('MetaData "UnquoteError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "BlockedOnMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TCState) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker)) :+: (C1 ('MetaCons "CannotDeclareHiddenFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "CommitAfterDef" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConInsteadOfDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "DefineDataNotData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "DefInsteadOfCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "MissingDeclaration" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons "MissingDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "NakedUnquote" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonCanonical" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: ((C1 ('MetaCons "PatLamWithoutClauses" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "StaleMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId))) :+: (C1 ('MetaCons "TooManyParameters" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "UnboundName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))))

data SplitError Source #

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
UnificationStuck |

Fields

- cantSplitBlocker :: Maybe Blocker

  Blocking metavariable (if any)

- cantSplitConName :: QName

  Constructor.

- cantSplitTel :: Telescope

  Context for indices.

- cantSplitConIdx :: Args

  Inferred indices (from type of constructor).

- cantSplitGivenIdx :: Args

  Expected indices (from checking pattern).

- cantSplitFailures :: [UnificationFailure]

  Reason(s) why unification got stuck.

CosplitCatchall | Copattern split with a catchall
CosplitNoTarget | We 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 |

#### Instances

Instances details

PrettyTCM SplitError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => SplitError -> m Doc Source #
NFData SplitError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: SplitError -> () Source #
Generic SplitError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep SplitError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep SplitError = D1 ('MetaData "SplitError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "NotADatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: C1 ('MetaCons "BlockedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type)))) :+: (C1 ('MetaCons "ErasedDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ErasedDatatypeReason) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: (C1 ('MetaCons "CoinductiveDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) '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 :: Type -> Type) :+: C1 ('MetaCons "CosplitNoTarget" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CosplitNoRecordType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: (C1 ('MetaCons "CannotCreateMissingClause" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Telescope, [NamedArg DeBruijnPattern]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure (Abs Type))))) :+: C1 ('MetaCons "GenericSplitError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))

Methods

from :: SplitError -> Rep SplitError x Source #

to :: Rep SplitError x -> SplitError Source #

Show SplitError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> SplitError -> ShowS Source # show :: SplitError -> String Source # showList :: [SplitError] -> ShowS Source #
type Rep SplitError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep SplitError = D1 ('MetaData "SplitError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "NotADatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: C1 ('MetaCons "BlockedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blocker) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type)))) :+: (C1 ('MetaCons "ErasedDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ErasedDatatypeReason) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: (C1 ('MetaCons "CoinductiveDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) '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 :: Type -> Type) :+: C1 ('MetaCons "CosplitNoTarget" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CosplitNoRecordType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Type))) :+: (C1 ('MetaCons "CannotCreateMissingClause" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Telescope, [NamedArg DeBruijnPattern]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure (Abs Type))))) :+: C1 ('MetaCons "GenericSplitError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))

pattern Axiom :: Bool -> Defn Source #

defOpaque :: Definition -> IsOpaque Source #

class Monad m => MonadFresh i (m :: Type -> Type) where Source #

Minimal complete definition

Nothing

Methods

fresh :: m i Source #

default fresh :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadFresh i n, t n ~ m) => m i Source #

#### Instances

Instances details

HasFresh i => MonadFresh i TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: TCM i Source #
Monad m => MonadFresh NameId (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m NameId Source #
Monad m => MonadFresh ProblemId (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m ProblemId Source #
Monad m => MonadFresh Int (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m Int Source #
MonadFresh i m => MonadFresh i (ListT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: ListT m i Source #
MonadFresh i m => MonadFresh i (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: MaybeT m i Source #
MonadFresh i m => MonadFresh i (ExceptT e m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: ExceptT e m i Source #
MonadFresh i m => MonadFresh i (IdentityT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: IdentityT m i Source #
MonadFresh i m => MonadFresh i (ReaderT r m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: ReaderT r m i Source #
MonadFresh i m => MonadFresh i (StateT s m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: StateT s m i Source #
(MonadFresh i m, Monoid w) => MonadFresh i (WriterT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fresh :: WriterT w m i Source #

newtype Fields Source #

Constructors

Fields [(Name, Type)] |

#### Instances

Instances details

Null Fields Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: Fields Source # null :: Fields -> Bool Source #

data LetBinding Source #

Constructors

LetBinding |

Fields

- letOrigin :: Origin
- letTerm :: Term
- letType :: Dom Type

#### Instances

Instances details

InstantiateFull LetBinding Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: LetBinding -> ReduceM LetBinding Source #
Subst LetBinding Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg LetBinding |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg LetBinding = Term

Methods

applySubst :: Substitution' (SubstArg LetBinding) -> LetBinding -> LetBinding Source #

NFData LetBinding Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: LetBinding -> () Source #
Generic LetBinding Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep LetBinding |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep LetBinding = D1 ('MetaData "LetBinding" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: LetBinding -> Rep LetBinding x Source #

to :: Rep LetBinding x -> LetBinding Source #

Show LetBinding Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> LetBinding -> ShowS Source # show :: LetBinding -> String Source # showList :: [LetBinding] -> ShowS Source #
type SubstArg LetBinding Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg LetBinding = Term
type Rep LetBinding Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep LetBinding = D1 ('MetaData "LetBinding" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

newtype Section Source #

Constructors

Section |

Fields

- _secTelescope :: Telescope

#### Instances

Instances details

Pretty Section Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Section -> Doc Source # prettyPrec :: Int -> Section -> Doc Source # prettyList :: [Section] -> Doc Source #
NamesIn Section Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> Section -> m Source #
KillRange Section Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Section Source #
KillRange Sections Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Sections Source #
InstantiateFull Section Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Section -> ReduceM Section Source #
EmbPrj Section Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Section -> S Word32 Source # icod_ :: Section -> S Word32 Source # value :: Word32 -> R Section Source #
NFData Section Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Section -> () Source #
Show Section Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Section -> ShowS Source # show :: Section -> String Source # showList :: [Section] -> ShowS Source #
Eq Section Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods (==) :: Section -> Section -> Bool Source # (/=) :: Section -> Section -> Bool Source #

data PersistentTCState Source #

A part of the state which is not reverted when an error is thrown or the state is reset.

Constructors

PersistentTCSt |

Fields

- stPersistentSession :: !SessionTCState

  State that persists for the whole Agda session. Grows monotonically, never sees any deletion.

- stDecodedModules :: !DecodedModules

  Type-checked modules we visited during our Agda session. A module gets dropped from this list if its source or the source of any of its dependencies changed, or when its identity or the identity of one of its dependencies changed due to a change of the include paths.

- stPersistentTopLevelModuleNames :: !(BiMap RawTopLevelModuleName ModuleNameHash)

  Module name hashes for top-level module names (and vice versa).

- stPersistentOptions :: CommandLineOptions
- stInteractionOutputCallback :: InteractionOutputCallback

  Callback function to call when there is a response to give to the interactive frontend. See the documentation of `InteractionOutputCallback`.

- stAccumStatistics :: !Statistics

  Should be strict field.

- stPersistLoadedFileCache :: !(Maybe LoadedFileCache)

  Cached typechecking state from the last loaded file. Should be `Nothing` when checking imports.

#### Instances

Instances details

LensCommandLineOptions PersistentTCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getCommandLineOptions :: PersistentTCState -> CommandLineOptions Source # setCommandLineOptions :: CommandLineOptions -> PersistentTCState -> PersistentTCState Source # mapCommandLineOptions :: (CommandLineOptions -> CommandLineOptions) -> PersistentTCState -> PersistentTCState Source #
LensIncludePaths PersistentTCState Source # |

Instance details

Defined in Agda.Interaction.Options.Lenses

Methods

getIncludePaths :: PersistentTCState -> [FilePath] Source #

setIncludePaths :: [FilePath] -> PersistentTCState -> PersistentTCState Source #

mapIncludePaths :: ([FilePath] -> [FilePath]) -> PersistentTCState -> PersistentTCState Source #

getAbsoluteIncludePaths :: PersistentTCState -> [AbsolutePath] Source #

setAbsoluteIncludePaths :: [AbsolutePath] -> PersistentTCState -> PersistentTCState Source #

mapAbsoluteIncludePaths :: ([AbsolutePath] -> [AbsolutePath]) -> PersistentTCState -> PersistentTCState Source #

LensPersistentVerbosity PersistentTCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getPersistentVerbosity :: PersistentTCState -> PersistentVerbosity Source # setPersistentVerbosity :: PersistentVerbosity -> PersistentTCState -> PersistentTCState Source # mapPersistentVerbosity :: (PersistentVerbosity -> PersistentVerbosity) -> PersistentTCState -> PersistentTCState Source #
LensSafeMode PersistentTCState Source # |
Instance details Defined in Agda.Interaction.Options.Lenses Methods getSafeMode :: PersistentTCState -> SafeMode Source # setSafeMode :: SafeMode -> PersistentTCState -> PersistentTCState Source # mapSafeMode :: (SafeMode -> SafeMode) -> PersistentTCState -> PersistentTCState Source #
NFData PersistentTCState Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PersistentTCState -> () Source #
Generic PersistentTCState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PersistentTCState |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PersistentTCState = D1 ('MetaData "PersistentTCState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PersistentTCSt" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stPersistentSession") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SessionTCState) :*: (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 "stAccumStatistics") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics) :*: S1 ('MetaSel ('Just "stPersistLoadedFileCache") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe LoadedFileCache))))))

Methods

from :: PersistentTCState -> Rep PersistentTCState x Source #

to :: Rep PersistentTCState x -> PersistentTCState Source #

type Rep PersistentTCState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PersistentTCState = D1 ('MetaData "PersistentTCState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PersistentTCSt" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stPersistentSession") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SessionTCState) :*: (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 "stAccumStatistics") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics) :*: S1 ('MetaSel ('Just "stPersistLoadedFileCache") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe LoadedFileCache))))))

data PreScopeState Source #

Constructors

PreScopeState |

Fields

- stPreTokens :: !HighlightingInfo

  Highlighting info for tokens and Happy parser warnings (but not for those tokens/warnings for which highlighting exists in `stPostSyntaxInfo`).

- stPreImports :: !Signature

  Imported declared identifiers. Those most not be serialized!

- stPreImportedModules :: !ImportedModules

  The top-level modules imported by the current module.

- stPreImportedModulesTransitive :: !ImportedModules

  The top-level modules transitively imported by the current module.

- stPreModuleToSourceId :: !ModuleToSourceId
- stPreVisitedModules :: !VisitedModules

  Modules loaded so far. In contrast `stDecodedModules`, contains also modules that are only scope-checked.

- stPreScope :: !ScopeInfo
- stPrePatternSyns :: !PatternSynDefns

  Pattern synonyms of the current file. Serialized.

- stPrePatternSynImports :: !PatternSynDefns

  Imported pattern synonyms. Must not be serialized!

- stPreGeneralizedVars :: !(Maybe (Set QName))

  Collected variables we wish to generalize over; used during scope checking of terms. If `Nothing`, we are in a position where we do not support generalization, and do not accept additions to this collection.

- stPrePragmaOptions :: !PragmaOptions

  Options applying to the current file. `OPTIONS` pragmas only affect this field.

- stPreImportedBuiltins :: !BuiltinThings
- stPreImportedDisplayForms :: !DisplayForms

  Display forms added by someone else to imported identifiers

- stPreFreshInteractionId :: !InteractionId
- stPreImportedUserWarnings :: !UserWarnings

  Imported `UserWarning`s, not to be stored in the `Interface`

- stPreLocalUserWarnings :: !UserWarnings

  Locally defined `UserWarning`s, to be stored in the `Interface`

- stPreWarningOnImport :: !(Maybe Text)

  Whether the current module should raise a warning when opened

- stPreImportedPartialDefs :: !(Set QName)

  Imported partial definitions, not to be stored in the `Interface`

- stPreLibCache :: !LibCache

  Cached `.agda-lib` files.

- stPreImportedMetaStore :: !RemoteMetaStore

  Used for meta-variables from other modules.

- stPreCopiedNames :: !(HashMap QName QName)

  Associates 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.

#### Instances

Instances details

LensPragmaOptions PreScopeState Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getPragmaOptions :: PreScopeState -> PragmaOptions Source # setPragmaOptions :: PragmaOptions -> PreScopeState -> PreScopeState Source # mapPragmaOptions :: (PragmaOptions -> PragmaOptions) -> PreScopeState -> PreScopeState Source # lensPragmaOptions :: Lens' PreScopeState PragmaOptions Source #
NFData PreScopeState Source # | This instance could be optimised, some things are guaranteed to be forced.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PreScopeState -> () Source #
Generic PreScopeState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PreScopeState |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PreScopeState = D1 ('MetaData "PreScopeState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 ImportedModules) :*: (S1 ('MetaSel ('Just "stPreImportedModulesTransitive") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ImportedModules) :*: S1 ('MetaSel ('Just "stPreModuleToSourceId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleToSourceId)))) :*: ((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) :*: S1 ('MetaSel ('Just "stPreImportedDisplayForms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DisplayForms)) :*: (S1 ('MetaSel ('Just "stPreFreshInteractionId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InteractionId) :*: (S1 ('MetaSel ('Just "stPreImportedUserWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UserWarnings) :*: S1 ('MetaSel ('Just "stPreLocalUserWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UserWarnings)))) :*: ((S1 ('MetaSel ('Just "stPreWarningOnImport") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "stPreImportedPartialDefs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)) :*: S1 ('MetaSel ('Just "stPreLibCache") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LibCache))) :*: (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)))))))))

Methods

from :: PreScopeState -> Rep PreScopeState x Source #

to :: Rep PreScopeState x -> PreScopeState Source #

type Rep PreScopeState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PreScopeState = D1 ('MetaData "PreScopeState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 ImportedModules) :*: (S1 ('MetaSel ('Just "stPreImportedModulesTransitive") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ImportedModules) :*: S1 ('MetaSel ('Just "stPreModuleToSourceId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleToSourceId)))) :*: ((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) :*: S1 ('MetaSel ('Just "stPreImportedDisplayForms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DisplayForms)) :*: (S1 ('MetaSel ('Just "stPreFreshInteractionId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InteractionId) :*: (S1 ('MetaSel ('Just "stPreImportedUserWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UserWarnings) :*: S1 ('MetaSel ('Just "stPreLocalUserWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UserWarnings)))) :*: ((S1 ('MetaSel ('Just "stPreWarningOnImport") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "stPreImportedPartialDefs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)) :*: S1 ('MetaSel ('Just "stPreLibCache") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LibCache))) :*: (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)))))))))

data PostScopeState Source #

Constructors

PostScopeState |

Fields

- stPostSyntaxInfo :: !HighlightingInfo

  Highlighting info.

- stPostDisambiguatedNames :: !DisambiguatedNames

  Disambiguation carried out by the type checker. Maps position of first name character to disambiguated ``QName`` for each ``AmbiguousQName`` already passed by the type checker.

- stPostOpenMetaStore :: !LocalMetaStore

  Used for open meta-variables.

- stPostSolvedMetaStore :: !LocalMetaStore

  Used for local, instantiated meta-variables.

- stPostInteractionPoints :: !InteractionPoints
- stPostAwakeConstraints :: !Constraints
- stPostSleepingConstraints :: !Constraints
- stPostDirty :: !Bool

  Dirty when a constraint is added, used to prevent pointer update. Currently unused.

- stPostOccursCheckDefs :: !(Set QName)

  Definitions 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 :: !Signature

  Declared identifiers of the current file. These will be serialized after successful type checking.

- stPostModuleCheckpoints :: !(Map ModuleName CheckpointId)

  For each module remember the checkpoint corresponding to the orignal context of the module parameters.

- stPostImportsDisplayForms :: !DisplayForms

  Display forms we add for imported identifiers

- stPostForeignCode :: !BackendForeignCode

  `{-# 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 QName)
- stPostTemporaryInstances :: !(Set QName)
- stPostConcreteNames :: !ConcreteNames

  Map keeping track of concrete names assigned to each abstract name (can be more than one name in case the first one is shadowed)

- stPostUsedNames :: !UsedNames

  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 `ShadowingNames` map.

- stPostShadowingNames :: !ShadowingNames

  Map keeping track for each (abstract) name the list of all (raw) names that it could maybe be shadowed by.

- stPostStatistics :: !Statistics

  Counters to collect various statistics about meta variables etc. Only for current file.

- stPostTCWarnings :: !(Set TCWarning)
- stPostMutualBlocks :: !MutualBlocks
- stPostLocalBuiltins :: !BuiltinThings
- stPostFreshMetaId :: !MetaId
- stPostFreshMutualId :: !MutualId
- stPostFreshProblemId :: !ProblemId
- stPostFreshCheckpointId :: !CheckpointId
- stPostFreshInt :: !Int
- stPostFreshNameId :: !NameId
- stPostFreshOpaqueId :: !OpaqueId
- stPostAreWeCaching :: !Bool
- stPostPostponeInstanceSearch :: !Bool
- stPostConsideringInstance :: !Bool
- stPostInstantiateBlocking :: !Bool

  Should 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 QName)

  Local partial definitions, to be stored in the `Interface`

- stPostOpaqueBlocks :: Map OpaqueId OpaqueBlock

  Associates opaque identifiers to their actual blocks.

- stPostOpaqueIds :: Map QName OpaqueId

  Associates each opaque QName to the block it was defined in.

- stPostInstanceHack :: !Bool

  Is this a context where we should always try every possible instance candidate? Used to support "inert improvement", see `shouldBlockOverlap` in InstanceArguments.

#### Instances

Instances details

NFData PostScopeState Source # | This instance could be optimised, some things are guaranteed to be forced.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PostScopeState -> () Source #
Generic PostScopeState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PostScopeState |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PostScopeState = D1 ('MetaData "PostScopeState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 BackendForeignCode) :*: 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 UsedNames) :*: S1 ('MetaSel ('Just "stPostShadowingNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShadowingNames)))))) :*: ((((S1 ('MetaSel ('Just "stPostStatistics") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics) :*: S1 ('MetaSel ('Just "stPostTCWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set TCWarning))) :*: (S1 ('MetaSel ('Just "stPostMutualBlocks") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MutualBlocks) :*: S1 ('MetaSel ('Just "stPostLocalBuiltins") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BuiltinThings))) :*: ((S1 ('MetaSel ('Just "stPostFreshMetaId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MetaId) :*: S1 ('MetaSel ('Just "stPostFreshMutualId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MutualId)) :*: (S1 ('MetaSel ('Just "stPostFreshProblemId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProblemId) :*: (S1 ('MetaSel ('Just "stPostFreshCheckpointId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CheckpointId) :*: S1 ('MetaSel ('Just "stPostFreshInt") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (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)) :*: S1 ('MetaSel ('Just "stPostInstanceHack") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))))))

Methods

from :: PostScopeState -> Rep PostScopeState x Source #

to :: Rep PostScopeState x -> PostScopeState Source #

type Rep PostScopeState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PostScopeState = D1 ('MetaData "PostScopeState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 BackendForeignCode) :*: 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 UsedNames) :*: S1 ('MetaSel ('Just "stPostShadowingNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShadowingNames)))))) :*: ((((S1 ('MetaSel ('Just "stPostStatistics") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics) :*: S1 ('MetaSel ('Just "stPostTCWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set TCWarning))) :*: (S1 ('MetaSel ('Just "stPostMutualBlocks") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MutualBlocks) :*: S1 ('MetaSel ('Just "stPostLocalBuiltins") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BuiltinThings))) :*: ((S1 ('MetaSel ('Just "stPostFreshMetaId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MetaId) :*: S1 ('MetaSel ('Just "stPostFreshMutualId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MutualId)) :*: (S1 ('MetaSel ('Just "stPostFreshProblemId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProblemId) :*: (S1 ('MetaSel ('Just "stPostFreshCheckpointId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CheckpointId) :*: S1 ('MetaSel ('Just "stPostFreshInt") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (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)) :*: S1 ('MetaSel ('Just "stPostInstanceHack") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))))))

type BackendForeignCode = Map BackendName ForeignCodeStack Source #

newtype ForeignCodeStack Source #

Foreign code fragments are stored in reversed order to support efficient appending: head points to the latest pragma in module.

Constructors

ForeignCodeStack |

Fields

- getForeignCodeStack :: [ForeignCode]

#### Instances

Instances details

EmbPrj ForeignCodeStack Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Compilers Methods icode :: ForeignCodeStack -> S Word32 Source # icod_ :: ForeignCodeStack -> S Word32 Source # value :: Word32 -> R ForeignCodeStack Source #
NFData ForeignCodeStack Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ForeignCodeStack -> () Source #
Generic ForeignCodeStack Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ForeignCodeStack |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ForeignCodeStack = D1 ('MetaData "ForeignCodeStack" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "ForeignCodeStack" 'PrefixI 'True) (S1 ('MetaSel ('Just "getForeignCodeStack") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ForeignCode])))

Methods

from :: ForeignCodeStack -> Rep ForeignCodeStack x Source #

to :: Rep ForeignCodeStack x -> ForeignCodeStack Source #

Show ForeignCodeStack Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ForeignCodeStack -> ShowS Source # show :: ForeignCodeStack -> String Source # showList :: [ForeignCodeStack] -> ShowS Source #
type Rep ForeignCodeStack Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ForeignCodeStack = D1 ('MetaData "ForeignCodeStack" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "ForeignCodeStack" 'PrefixI 'True) (S1 ('MetaSel ('Just "getForeignCodeStack") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ForeignCode])))

type ImportedModules = Set TopLevelModuleName Source #

type UserWarnings = Map QName Text Source #

type VisitedModules = Map TopLevelModuleName ModuleInfo Source #

type BuiltinThings = BuiltinThings' PrimFun Source #

type DisplayForms = HashMap QName [LocalDisplayForm] Source #

type RemoteMetaStore = HashMap MetaId RemoteMetaVariable Source #

Used for meta-variables from other modules (and in `Interface`s).

data DisambiguatedName Source #

Name disambiguation for the sake of highlighting.

Constructors

DisambiguatedName NameKind QName |

#### Instances

Instances details

NFData DisambiguatedName Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DisambiguatedName -> () Source #
Generic DisambiguatedName Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep DisambiguatedName |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DisambiguatedName = D1 ('MetaData "DisambiguatedName" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DisambiguatedName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameKind) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))

Methods

from :: DisambiguatedName -> Rep DisambiguatedName x Source #

to :: Rep DisambiguatedName x -> DisambiguatedName Source #

type Rep DisambiguatedName Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DisambiguatedName = D1 ('MetaData "DisambiguatedName" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DisambiguatedName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameKind) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))

type DisambiguatedNames = IntMap DisambiguatedName Source #

type ConcreteNames = Map Name (List1 Name) Source #

type ShadowingNames = Map Name (Set1 RawName) Source #

type LocalMetaStore = Map MetaId MetaVariable Source #

Used for meta-variables from the current module.

type InteractionPoints = BiMap InteractionId InteractionPoint Source #

Data structure managing the interaction points.

We never remove interaction points from this map, only set their `ipSolved` to `True`. (Issue #2368)

newtype CheckpointId Source #

Constructors

CheckpointId Int |

#### Instances

Instances details

Pretty CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: CheckpointId -> Doc Source # prettyPrec :: Int -> CheckpointId -> Doc Source # prettyList :: [CheckpointId] -> Doc Source #
HasFresh CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState CheckpointId Source # nextFresh' :: CheckpointId -> CheckpointId Source #
PrettyTCM CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => CheckpointId -> m Doc Source #
EmbPrj CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: CheckpointId -> S Word32 Source # icod_ :: CheckpointId -> S Word32 Source # value :: Word32 -> R CheckpointId Source #
NFData CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CheckpointId -> () Source #
Enum CheckpointId Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: CheckpointId -> CheckpointId Source #

pred :: CheckpointId -> CheckpointId Source #

toEnum :: Int -> CheckpointId Source #

fromEnum :: CheckpointId -> Int Source #

enumFrom :: CheckpointId -> [CheckpointId] Source #

enumFromThen :: CheckpointId -> CheckpointId -> [CheckpointId] Source #

enumFromTo :: CheckpointId -> CheckpointId -> [CheckpointId] Source #

enumFromThenTo :: CheckpointId -> CheckpointId -> CheckpointId -> [CheckpointId] Source #

Num CheckpointId Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

(+) :: CheckpointId -> CheckpointId -> CheckpointId Source #

(-) :: CheckpointId -> CheckpointId -> CheckpointId Source #

(*) :: CheckpointId -> CheckpointId -> CheckpointId Source #

negate :: CheckpointId -> CheckpointId Source #

abs :: CheckpointId -> CheckpointId Source #

signum :: CheckpointId -> CheckpointId Source #

fromInteger :: Integer -> CheckpointId Source #

Integral CheckpointId Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

quot :: CheckpointId -> CheckpointId -> CheckpointId Source #

rem :: CheckpointId -> CheckpointId -> CheckpointId Source #

div :: CheckpointId -> CheckpointId -> CheckpointId Source #

mod :: CheckpointId -> CheckpointId -> CheckpointId Source #

quotRem :: CheckpointId -> CheckpointId -> (CheckpointId, CheckpointId) Source #

divMod :: CheckpointId -> CheckpointId -> (CheckpointId, CheckpointId) Source #

toInteger :: CheckpointId -> Integer Source #

Real CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods toRational :: CheckpointId -> Rational Source #
Show CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CheckpointId -> ShowS Source # show :: CheckpointId -> String Source # showList :: [CheckpointId] -> ShowS Source #
Eq CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CheckpointId -> CheckpointId -> Bool Source # (/=) :: CheckpointId -> CheckpointId -> Bool Source #
Ord CheckpointId Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: CheckpointId -> CheckpointId -> Ordering Source #

(<) :: CheckpointId -> CheckpointId -> Bool Source #

(<=) :: CheckpointId -> CheckpointId -> Bool Source #

(>) :: CheckpointId -> CheckpointId -> Bool Source #

(>=) :: CheckpointId -> CheckpointId -> Bool Source #

max :: CheckpointId -> CheckpointId -> CheckpointId Source #

min :: CheckpointId -> CheckpointId -> CheckpointId Source #

type MutualBlocks = IntMap MutualBlock Source #

Map `MutualId` to `MutualBlock`.

newtype MutualId Source #

Constructors

MutualId Word32 |

#### Instances

Instances details

Pretty MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: MutualId -> Doc Source # prettyPrec :: Int -> MutualId -> Doc Source # prettyList :: [MutualId] -> Doc Source #
KillRange MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT MutualId Source #
HasFresh MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState MutualId Source # nextFresh' :: MutualId -> MutualId Source #
EmbPrj MutualId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: MutualId -> S Word32 Source # icod_ :: MutualId -> S Word32 Source # value :: Word32 -> R MutualId Source #
NFData MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MutualId -> () Source #
Enum MutualId Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: MutualId -> MutualId Source #

pred :: MutualId -> MutualId Source #

toEnum :: Int -> MutualId Source #

fromEnum :: MutualId -> Int Source #

enumFrom :: MutualId -> [MutualId] Source #

enumFromThen :: MutualId -> MutualId -> [MutualId] Source #

enumFromTo :: MutualId -> MutualId -> [MutualId] Source #

enumFromThenTo :: MutualId -> MutualId -> MutualId -> [MutualId] Source #

Num MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (+) :: MutualId -> MutualId -> MutualId Source # (-) :: MutualId -> MutualId -> MutualId Source # (*) :: MutualId -> MutualId -> MutualId Source # negate :: MutualId -> MutualId Source # abs :: MutualId -> MutualId Source # signum :: MutualId -> MutualId Source # fromInteger :: Integer -> MutualId Source #
Show MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MutualId -> ShowS Source # show :: MutualId -> String Source # showList :: [MutualId] -> ShowS Source #
Eq MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: MutualId -> MutualId -> Bool Source # (/=) :: MutualId -> MutualId -> Bool Source #
Ord MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods compare :: MutualId -> MutualId -> Ordering Source # (<) :: MutualId -> MutualId -> Bool Source # (<=) :: MutualId -> MutualId -> Bool Source # (>) :: MutualId -> MutualId -> Bool Source # (>=) :: MutualId -> MutualId -> Bool Source # max :: MutualId -> MutualId -> MutualId Source # min :: MutualId -> MutualId -> MutualId Source #

data OpaqueBlock Source #

A block of opaque definitions.

Constructors

OpaqueBlock |

Fields

- opaqueId :: !OpaqueId

  Unique identifier for this block.

- opaqueUnfolding :: HashSet QName

  Set of names we are allowed to unfold. After scope-checking, this set should be transitively closed.

- opaqueDecls :: HashSet QName

  Declarations contained in this abstract block.

- opaqueParent :: Maybe OpaqueId

  Pointer to an enclosing opaque block, if one exists.

- opaqueRange :: Range

  Where is this opaque block?

#### Instances

Instances details

Pretty OpaqueBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: OpaqueBlock -> Doc Source # prettyPrec :: Int -> OpaqueBlock -> Doc Source # prettyList :: [OpaqueBlock] -> Doc Source #
EmbPrj OpaqueBlock Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: OpaqueBlock -> S Word32 Source # icod_ :: OpaqueBlock -> S Word32 Source # value :: Word32 -> R OpaqueBlock Source #
NFData OpaqueBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: OpaqueBlock -> () Source #
Generic OpaqueBlock Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep OpaqueBlock |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep OpaqueBlock = D1 ('MetaData "OpaqueBlock" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OpaqueBlock" 'PrefixI 'True) ((S1 ('MetaSel ('Just "opaqueId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (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)))))

Methods

from :: OpaqueBlock -> Rep OpaqueBlock x Source #

to :: Rep OpaqueBlock x -> OpaqueBlock Source #

Show OpaqueBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> OpaqueBlock -> ShowS Source # show :: OpaqueBlock -> String Source # showList :: [OpaqueBlock] -> ShowS Source #
Eq OpaqueBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: OpaqueBlock -> OpaqueBlock -> Bool Source # (/=) :: OpaqueBlock -> OpaqueBlock -> Bool Source #
Hashable OpaqueBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods hashWithSalt :: Int -> OpaqueBlock -> Int Source # hash :: OpaqueBlock -> Int Source #
type Rep OpaqueBlock Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep OpaqueBlock = D1 ('MetaData "OpaqueBlock" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OpaqueBlock" 'PrefixI 'True) ((S1 ('MetaSel ('Just "opaqueId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (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)))))

data SessionTCState Source #

A part of the state that grows monotonically over the whole Agda session. Never reset.

Constructors

SessionTCState |

Fields

- stSessionBenchmark :: !Benchmark

  Structure to track how much CPU time was spent on which Agda phase. Needs to be a strict field to avoid space leaks!

- stSessionBackends :: [Backend]

  Backends with their options.

- stSessionFileDict :: !FileDictWithBuiltins

  Map file names to unique `FileId` and back. Assuming we do not see terribly many different files during one Agda session, this map needs not be garbage-collected.

  Also informs about whether a `FileId` belongs to one of Agda's primitive and builtin modules.

#### Instances

Instances details

NFData SessionTCState Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: SessionTCState -> () Source #
Generic SessionTCState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep SessionTCState |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep SessionTCState = D1 ('MetaData "SessionTCState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "SessionTCState" 'PrefixI 'True) (S1 ('MetaSel ('Just "stSessionBenchmark") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Benchmark) :*: (S1 ('MetaSel ('Just "stSessionBackends") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Backend]) :*: S1 ('MetaSel ('Just "stSessionFileDict") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FileDictWithBuiltins))))

Methods

from :: SessionTCState -> Rep SessionTCState x Source #

to :: Rep SessionTCState x -> SessionTCState Source #

type Rep SessionTCState Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep SessionTCState = D1 ('MetaData "SessionTCState" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "SessionTCState" 'PrefixI 'True) (S1 ('MetaSel ('Just "stSessionBenchmark") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Benchmark) :*: (S1 ('MetaSel ('Just "stSessionBackends") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Backend]) :*: S1 ('MetaSel ('Just "stSessionFileDict") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FileDictWithBuiltins))))

type DecodedModules = Map TopLevelModuleName ModuleInfo Source #

data LoadedFileCache Source #

Constructors

LoadedFileCache |

Fields

- lfcCached :: !CachedTypeCheckLog
- lfcCurrent :: !CurrentTypeCheckLog

#### Instances

Instances details

NFData LoadedFileCache Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: LoadedFileCache -> () Source #
Generic LoadedFileCache Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep LoadedFileCache |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep LoadedFileCache = D1 ('MetaData "LoadedFileCache" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LoadedFileCache" 'PrefixI 'True) (S1 ('MetaSel ('Just "lfcCached") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CachedTypeCheckLog) :*: S1 ('MetaSel ('Just "lfcCurrent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CurrentTypeCheckLog)))

Methods

from :: LoadedFileCache -> Rep LoadedFileCache x Source #

to :: Rep LoadedFileCache x -> LoadedFileCache Source #

type Rep LoadedFileCache Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep LoadedFileCache = D1 ('MetaData "LoadedFileCache" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LoadedFileCache" 'PrefixI 'True) (S1 ('MetaSel ('Just "lfcCached") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CachedTypeCheckLog) :*: S1 ('MetaSel ('Just "lfcCurrent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CurrentTypeCheckLog)))

type CachedTypeCheckLog = [(TypeCheckAction, PostScopeState)] Source #

A log of what the type checker does and states after the action is completed. The cached version is stored first executed action first.

type CurrentTypeCheckLog = [(TypeCheckAction, PostScopeState)] Source #

Like `CachedTypeCheckLog`, but storing the log for an ongoing type checking of a module. Stored in reverse order (last performed action first).

initFileDict :: AbsolutePath -> FileDictWithBuiltins Source #

Empty session state.

initSessionState :: AbsolutePath -> SessionTCState Source #

initPersistentState :: AbsolutePath -> PersistentTCState Source #

Empty persistent state.

initPersistentStateFromSessionState :: SessionTCState -> PersistentTCState Source #

initialMetaId :: MetaId Source #

An initial `MetaId`.

initPreScopeState :: PreScopeState Source #

Empty state of type checker.

emptySignature :: Signature Source #

initPostScopeState :: PostScopeState Source #

initStateIO :: IO TCState Source #

initStateFromSessionState :: SessionTCState -> TCState Source #

initStateFromPersistentState :: PersistentTCState -> TCState Source #

lensPersistentState :: Lens' TCState PersistentTCState Source #

lensPreScopeState :: Lens' TCState PreScopeState Source #

lensPostScopeState :: Lens' TCState PostScopeState Source #

lensSessionState :: Lens' TCState SessionTCState Source #

lensPersistentSession :: Lens' PersistentTCState SessionTCState Source #

lensBackends :: Lens' SessionTCState [Backend] Source #

lensBenchmark :: Lens' SessionTCState Benchmark Source #

lensFileDict :: Lens' SessionTCState FileDictWithBuiltins Source #

lensFileDictBuilder :: Lens' SessionTCState FileDictBuilder Source #

lensBuiltinModuleIds :: Lens' SessionTCState BuiltinModuleIds Source #

lensPrimitiveLibDir :: Lens' SessionTCState PrimitiveLibDir Source #

lensLoadedFileCache :: Lens' PersistentTCState (Maybe LoadedFileCache) Source #

lensTopLevelModuleNames :: Lens' PersistentTCState (BiMap RawTopLevelModuleName ModuleNameHash) Source #

lensPreTokens :: Lens' PreScopeState HighlightingInfo Source #

lensImports :: Lens' PreScopeState Signature Source #

lensImportedModules :: Lens' PreScopeState ImportedModules Source #

lensImportedModulesTransitive :: Lens' PreScopeState ImportedModules Source #

lensModuleToSourceId :: Lens' PreScopeState ModuleToSourceId Source #

lensVisitedModules :: Lens' PreScopeState VisitedModules Source #

lensScope :: Lens' PreScopeState ScopeInfo Source #

lensPatternSyns :: Lens' PreScopeState PatternSynDefns Source #

lensPatternSynImports :: Lens' PreScopeState PatternSynDefns Source #

lensGeneralizedVars :: Lens' PreScopeState (Maybe (Set QName)) Source #

lensImportedBuiltins :: Lens' PreScopeState BuiltinThings Source #

lensFreshInteractionId :: Lens' PreScopeState InteractionId Source #

lensImportedUserWarnings :: Lens' PreScopeState UserWarnings Source #

lensLocalUserWarnings :: Lens' PreScopeState UserWarnings Source #

lensWarningOnImport :: Lens' PreScopeState (Maybe Text) Source #

lensImportedPartialDefs :: Lens' PreScopeState (Set QName) Source #

lensLibCache :: Lens' PreScopeState LibCache Source #

lensImportedMetaStore :: Lens' PreScopeState RemoteMetaStore Source #

lensCopiedNames :: Lens' PreScopeState (HashMap QName QName) Source #

lensNameCopies :: Lens' PreScopeState (HashMap QName (HashSet QName)) Source #

lensForeignCode :: Lens' PostScopeState BackendForeignCode Source #

lensLocalPartialDefs :: Lens' PostScopeState (Set QName) Source #

lensFreshNameId :: Lens' PostScopeState NameId Source #

lensFreshOpaqueId :: Lens' PostScopeState OpaqueId Source #

lensOpaqueBlocks :: Lens' PostScopeState (Map OpaqueId OpaqueBlock) Source #

lensOpaqueIds :: Lens' PostScopeState (Map QName OpaqueId) Source #

lensSyntaxInfo :: Lens' PostScopeState HighlightingInfo Source #

lensDisambiguatedNames :: Lens' PostScopeState DisambiguatedNames Source #

lensOpenMetaStore :: Lens' PostScopeState LocalMetaStore Source #

lensSolvedMetaStore :: Lens' PostScopeState LocalMetaStore Source #

lensInteractionPoints :: Lens' PostScopeState InteractionPoints Source #

lensAwakeConstraints :: Lens' PostScopeState Constraints Source #

lensSleepingConstraints :: Lens' PostScopeState Constraints Source #

lensDirty :: Lens' PostScopeState Bool Source #

lensOccursCheckDefs :: Lens' PostScopeState (Set QName) Source #

lensSignature :: Lens' PostScopeState Signature Source #

lensModuleCheckpoints :: Lens' PostScopeState (Map ModuleName CheckpointId) Source #

lensImportsDisplayForms :: Lens' PostScopeState DisplayForms Source #

lensImportedDisplayForms :: Lens' PreScopeState DisplayForms Source #

lensTemporaryInstances :: Lens' PostScopeState (Set QName) Source #

lensConcreteNames :: Lens' PostScopeState ConcreteNames Source #

lensUsedNames :: Lens' PostScopeState UsedNames Source #

lensShadowingNames :: Lens' PostScopeState ShadowingNames Source #

lensStatistics :: Lens' PostScopeState Statistics Source #

lensTCWarnings :: Lens' PostScopeState (Set TCWarning) Source #

lensMutualBlocks :: Lens' PostScopeState MutualBlocks Source #

lensLocalBuiltins :: Lens' PostScopeState BuiltinThings Source #

lensFreshMetaId :: Lens' PostScopeState MetaId Source #

lensFreshMutualId :: Lens' PostScopeState MutualId Source #

lensFreshProblemId :: Lens' PostScopeState ProblemId Source #

lensFreshCheckpointId :: Lens' PostScopeState CheckpointId Source #

lensFreshInt :: Lens' PostScopeState Int Source #

lensAreWeCaching :: Lens' PostScopeState Bool Source #

lensPostponeInstanceSearch :: Lens' PostScopeState Bool Source #

lensConsideringInstance :: Lens' PostScopeState Bool Source #

lensInstantiateBlocking :: Lens' PostScopeState Bool Source #

lensInstanceHack :: Lens' PostScopeState Bool Source #

stBackends :: Lens' TCState [Backend] Source #

stBenchmark :: Lens' TCState Benchmark Source #

stFileDict :: Lens' TCState FileDictWithBuiltins Source #

stBuiltinModuleIds :: Lens' TCState BuiltinModuleIds Source #

stPrimitiveLibDir :: Lens' TCState PrimitiveLibDir Source #

stLoadedFileCache :: Lens' TCState (Maybe LoadedFileCache) Source #

stTopLevelModuleNames :: Lens' TCState (BiMap RawTopLevelModuleName ModuleNameHash) Source #

stTokens :: Lens' TCState HighlightingInfo Source #

stImports :: Lens' TCState Signature Source #

stImportedModules :: Lens' TCState ImportedModules Source #

stImportedModulesTransitive :: Lens' TCState ImportedModules Source #

stModuleToSource :: Lens' TCState ModuleToSource Source #

stVisitedModules :: Lens' TCState VisitedModules Source #

stScope :: Lens' TCState ScopeInfo Source #

stPatternSyns :: Lens' TCState PatternSynDefns Source #

stPatternSynImports :: Lens' TCState PatternSynDefns Source #

stGeneralizedVars :: Lens' TCState (Maybe (Set QName)) Source #

stPragmaOptions :: Lens' TCState PragmaOptions Source #

stImportedBuiltins :: Lens' TCState BuiltinThings Source #

stForeignCode :: Lens' TCState BackendForeignCode Source #

stFreshInteractionId :: Lens' TCState InteractionId Source #

stImportedUserWarnings :: Lens' TCState UserWarnings Source #

stLocalUserWarnings :: Lens' TCState UserWarnings Source #

getUserWarnings :: ReadTCState m => m UserWarnings Source #

useR :: ReadTCState m => Lens' TCState a -> m a Source #

stWarningOnImport :: Lens' TCState (Maybe Text) Source #

stImportedPartialDefs :: Lens' TCState (Set QName) Source #

stLibCache :: Lens' TCState LibCache Source #

stImportedMetaStore :: Lens' TCState RemoteMetaStore Source #

stCopiedNames :: Lens' TCState (HashMap QName QName) Source #

stNameCopies :: Lens' TCState (HashMap QName (HashSet QName)) Source #

stImportedDisplayForms :: Lens' TCState DisplayForms Source #

stLocalPartialDefs :: Lens' TCState (Set QName) Source #

getPartialDefs :: ReadTCState m => m (Set QName) Source #

stFreshNameId :: Lens' TCState NameId Source #

stFreshOpaqueId :: Lens' TCState OpaqueId Source #

stOpaqueBlocks :: Lens' TCState (Map OpaqueId OpaqueBlock) Source #

stOpaqueIds :: Lens' TCState (Map QName OpaqueId) Source #

stInstanceHack :: Lens' TCState Bool Source #

stSyntaxInfo :: Lens' TCState HighlightingInfo Source #

stDisambiguatedNames :: Lens' TCState DisambiguatedNames Source #

stOpenMetaStore :: Lens' TCState LocalMetaStore Source #

stSolvedMetaStore :: Lens' TCState LocalMetaStore Source #

stInteractionPoints :: Lens' TCState InteractionPoints Source #

stAwakeConstraints :: Lens' TCState Constraints Source #

stSleepingConstraints :: Lens' TCState Constraints Source #

stDirty :: Lens' TCState Bool Source #

stOccursCheckDefs :: Lens' TCState (Set QName) Source #

stSignature :: Lens' TCState Signature Source #

stRewriteRules :: Lens' TCState RewriteRuleMap Source #

type RewriteRuleMap = HashMap QName RewriteRules Source #

sigRewriteRules :: Lens' Signature RewriteRuleMap Source #

stModuleCheckpoints :: Lens' TCState (Map ModuleName CheckpointId) Source #

stImportsDisplayForms :: Lens' TCState DisplayForms Source #

stCurrentModule :: Lens' TCState (Maybe (ModuleName, TopLevelModuleName)) Source #

Note that the lens is "strict".

stInstanceDefs :: Lens' TCState TempInstanceTable Source #

type TempInstanceTable = (InstanceTable, Set QName) Source #

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.

sigInstances :: Lens' Signature InstanceTable Source #

stTemporaryInstances :: Lens' TCState (Set QName) Source #

stConcreteNames :: Lens' TCState ConcreteNames Source #

stUsedNames :: Lens' TCState UsedNames Source #

stShadowingNames :: Lens' TCState ShadowingNames Source #

stStatistics :: Lens' TCState Statistics Source #

stTCWarnings :: Lens' TCState (Set TCWarning) Source #

stMutualBlocks :: Lens' TCState MutualBlocks Source #

stLocalBuiltins :: Lens' TCState BuiltinThings Source #

stFreshMetaId :: Lens' TCState MetaId Source #

stFreshMutualId :: Lens' TCState MutualId Source #

stFreshProblemId :: Lens' TCState ProblemId Source #

stFreshCheckpointId :: Lens' TCState CheckpointId Source #

stFreshInt :: Lens' TCState Int Source #

stAreWeCaching :: Lens' TCState Bool Source #

use `areWeCaching` from the Caching module instead.

stPostponeInstanceSearch :: Lens' TCState Bool Source #

stConsideringInstance :: Lens' TCState Bool Source #

stInstantiateBlocking :: Lens' TCState Bool Source #

stInstanceTree :: Lens' TCState (DiscrimTree QName) Source #

itableTree :: Lens' InstanceTable (DiscrimTree QName) Source #

stBuiltinThings :: TCState -> BuiltinThings Source #

unionBuiltin :: Builtin a -> Builtin a -> Builtin a Source #

Union two `Builtin`s. Only defined for `BuiltinRewriteRelations`.

class Enum i => HasFresh i where Source #

Minimal complete definition

freshLens

Methods

freshLens :: Lens' TCState i Source #

nextFresh' :: i -> i Source #

#### Instances

Instances details

HasFresh InteractionId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState InteractionId Source # nextFresh' :: InteractionId -> InteractionId Source #
HasFresh MetaId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState MetaId Source # nextFresh' :: MetaId -> MetaId Source #
HasFresh NameId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState NameId Source # nextFresh' :: NameId -> NameId Source #
HasFresh OpaqueId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState OpaqueId Source # nextFresh' :: OpaqueId -> OpaqueId Source #
HasFresh ProblemId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState ProblemId Source # nextFresh' :: ProblemId -> ProblemId Source #
HasFresh CheckpointId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState CheckpointId Source # nextFresh' :: CheckpointId -> CheckpointId Source #
HasFresh MutualId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState MutualId Source # nextFresh' :: MutualId -> MutualId Source #
HasFresh Int Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState Int Source # nextFresh' :: Int -> Int Source #

nextFresh :: HasFresh i => TCState -> (i, TCState) Source #

freshName :: MonadFresh NameId m => Range -> String -> m Name Source #

freshNoName :: MonadFresh NameId m => Range -> m Name Source #

freshNoName_ :: MonadFresh NameId m => m Name Source #

freshRecordName :: MonadFresh NameId m => m Name Source #

class FreshName a where Source #

Create a fresh name from `a`.

Methods

freshName_ :: MonadFresh NameId m => a -> m Name Source #

#### Instances

Instances details

FreshName Name Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => Name -> m Name Source #
FreshName Range Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => Range -> m Name Source #
FreshName String Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => String -> m Name Source #
FreshName () Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => () -> m Name Source #
FreshName (Range, String) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => (Range, String) -> m Name Source #

class Monad m => MonadStConcreteNames (m :: Type -> Type) where Source #

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).

Minimal complete definition

runStConcreteNames

Methods

runStConcreteNames :: StateT ConcreteNames m a -> m a Source #

useConcreteNames :: m ConcreteNames Source #

modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> m () Source #

#### Instances

Instances details

MonadStConcreteNames TCM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames TCM a -> TCM a Source # useConcreteNames :: TCM ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> TCM () Source #
ReadTCState m => MonadStConcreteNames (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods runStConcreteNames :: StateT ConcreteNames (PureConversionT m) a -> PureConversionT m a Source # useConcreteNames :: PureConversionT m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> PureConversionT m () Source #
MonadStConcreteNames m => MonadStConcreteNames (MaybeT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames (MaybeT m) a -> MaybeT m a Source # useConcreteNames :: MaybeT m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> MaybeT m () Source #
MonadStConcreteNames m => MonadStConcreteNames (ExceptT e m) Source # | The concrete names get lost in case of an exception.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames (ExceptT e m) a -> ExceptT e m a Source # useConcreteNames :: ExceptT e m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> ExceptT e m () Source #
MonadStConcreteNames m => MonadStConcreteNames (IdentityT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames (IdentityT m) a -> IdentityT m a Source # useConcreteNames :: IdentityT m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> IdentityT m () Source #
MonadStConcreteNames m => MonadStConcreteNames (ReaderT r m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames (ReaderT r m) a -> ReaderT r m a Source # useConcreteNames :: ReaderT r m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> ReaderT r m () Source #
MonadStConcreteNames m => MonadStConcreteNames (StateT s m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames (StateT s m) a -> StateT s m a Source # useConcreteNames :: StateT s m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> StateT s m () Source #
(MonadStConcreteNames m, Monoid w) => MonadStConcreteNames (WriterT w m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods runStConcreteNames :: StateT ConcreteNames (WriterT w m) a -> WriterT w m a Source # useConcreteNames :: WriterT w m ConcreteNames Source # modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> WriterT w m () Source #

stateTCLensM :: (MonadTCState m, ReadTCState m) => Lens' TCState a -> (a -> m (r, a)) -> m r Source #

Modify a part of the state monadically, and return some result.

This is an instance of `%%=`.

srcFromPath :: MonadFileId m => AbsolutePath -> m SourceFile Source #

Get make a `SourceFile` from a file name.

data ModuleCheckMode Source #

Distinguishes between type-checked and scope-checked interfaces when stored in the map of `VisitedModules`.

Constructors

ModuleScopeChecked |
ModuleTypeChecked |

#### Instances

Instances details

NFData ModuleCheckMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ModuleCheckMode -> () Source #
Bounded ModuleCheckMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods minBound :: ModuleCheckMode Source # maxBound :: ModuleCheckMode Source #
Enum ModuleCheckMode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: ModuleCheckMode -> ModuleCheckMode Source #

pred :: ModuleCheckMode -> ModuleCheckMode Source #

toEnum :: Int -> ModuleCheckMode Source #

fromEnum :: ModuleCheckMode -> Int Source #

enumFrom :: ModuleCheckMode -> [ModuleCheckMode] Source #

enumFromThen :: ModuleCheckMode -> ModuleCheckMode -> [ModuleCheckMode] Source #

enumFromTo :: ModuleCheckMode -> ModuleCheckMode -> [ModuleCheckMode] Source #

enumFromThenTo :: ModuleCheckMode -> ModuleCheckMode -> ModuleCheckMode -> [ModuleCheckMode] Source #

Generic ModuleCheckMode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ModuleCheckMode |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ModuleCheckMode = D1 ('MetaData "ModuleCheckMode" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ModuleScopeChecked" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModuleTypeChecked" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ModuleCheckMode -> Rep ModuleCheckMode x Source #

to :: Rep ModuleCheckMode x -> ModuleCheckMode Source #

Show ModuleCheckMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ModuleCheckMode -> ShowS Source # show :: ModuleCheckMode -> String Source # showList :: [ModuleCheckMode] -> ShowS Source #
Eq ModuleCheckMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: ModuleCheckMode -> ModuleCheckMode -> Bool Source # (/=) :: ModuleCheckMode -> ModuleCheckMode -> Bool Source #
Ord ModuleCheckMode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: ModuleCheckMode -> ModuleCheckMode -> Ordering Source #

(<) :: ModuleCheckMode -> ModuleCheckMode -> Bool Source #

(<=) :: ModuleCheckMode -> ModuleCheckMode -> Bool Source #

(>) :: ModuleCheckMode -> ModuleCheckMode -> Bool Source #

(>=) :: ModuleCheckMode -> ModuleCheckMode -> Bool Source #

max :: ModuleCheckMode -> ModuleCheckMode -> ModuleCheckMode Source #

min :: ModuleCheckMode -> ModuleCheckMode -> ModuleCheckMode Source #

type Rep ModuleCheckMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ModuleCheckMode = D1 ('MetaData "ModuleCheckMode" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ModuleScopeChecked" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModuleTypeChecked" 'PrefixI 'False) (U1 :: Type -> Type))

data ForeignCode Source #

Constructors

ForeignCode Range String |

#### Instances

Instances details

EmbPrj ForeignCode Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Compilers Methods icode :: ForeignCode -> S Word32 Source # icod_ :: ForeignCode -> S Word32 Source # value :: Word32 -> R ForeignCode Source #
NFData ForeignCode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ForeignCode -> () Source #
Generic ForeignCode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ForeignCode |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ForeignCode = D1 ('MetaData "ForeignCode" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ForeignCode" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: ForeignCode -> Rep ForeignCode x Source #

to :: Rep ForeignCode x -> ForeignCode Source #

Show ForeignCode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ForeignCode -> ShowS Source # show :: ForeignCode -> String Source # showList :: [ForeignCode] -> ShowS Source #
type Rep ForeignCode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ForeignCode = D1 ('MetaData "ForeignCode" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ForeignCode" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

type BuiltinThings' pf = Map SomeBuiltin (Builtin pf) Source #

iFullHash :: Interface -> Hash Source #

Combines the source hash and the (full) hashes of the imported modules.

intSignature :: Lens' Interface Signature Source #

A lens for the `iSignature` field of the `Interface` type.

class LensClosure b a | b -> a where Source #

Methods

lensClosure :: Lens' b (Closure a) Source #

#### Instances

Instances details

LensClosure MetaInfo Range Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensClosure :: Lens' MetaInfo (Closure Range) Source #
LensClosure MetaVariable Range Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensClosure :: Lens' MetaVariable (Closure Range) Source #
LensClosure (Closure a) a Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensClosure :: Lens' (Closure a) (Closure a) Source #

class LensTCEnv a where Source #

Methods

lensTCEnv :: Lens' a TCEnv Source #

#### Instances

Instances details

LensTCEnv TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensTCEnv :: Lens' TCEnv TCEnv Source #
LensTCEnv (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensTCEnv :: Lens' (Closure a) TCEnv Source #

buildClosure :: (MonadTCEnv m, ReadTCState m) => a -> m (Closure a) Source #

data WhyCheckModality Source #

Why are we performing a modality check?

Constructors

ConstructorType | Because --without-K is enabled, so the types of data constructors must be usable at the context's modality.
IndexedClause | Because --without-K is enabled, so the result type of clauses must be usable at the context's modality.
IndexedClauseArg Name Name | Because --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.
GeneratedClause | Because we double-check the --cubical-compatible clauses. This is an internal error!

#### Instances

Instances details

NFData WhyCheckModality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: WhyCheckModality -> () Source #
Generic WhyCheckModality Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep WhyCheckModality |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep WhyCheckModality = D1 ('MetaData "WhyCheckModality" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "ConstructorType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IndexedClause" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IndexedClauseArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "GeneratedClause" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: WhyCheckModality -> Rep WhyCheckModality x Source #

to :: Rep WhyCheckModality x -> WhyCheckModality Source #

Show WhyCheckModality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> WhyCheckModality -> ShowS Source # show :: WhyCheckModality -> String Source # showList :: [WhyCheckModality] -> ShowS Source #
type Rep WhyCheckModality Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep WhyCheckModality = D1 ('MetaData "WhyCheckModality" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "ConstructorType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IndexedClause" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IndexedClauseArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "GeneratedClause" 'PrefixI 'False) (U1 :: Type -> Type)))

data IsForced Source #

Information about whether an argument is forced by the type of a function.

Constructors

Forced |
NotForced |

#### Instances

Instances details

KillRange IsForced Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT IsForced Source #
PrettyTCM IsForced Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => IsForced -> m Doc Source #
ChooseFlex IsForced Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods chooseFlex :: IsForced -> IsForced -> FlexChoice Source #
EmbPrj IsForced Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: IsForced -> S Word32 Source # icod_ :: IsForced -> S Word32 Source # value :: Word32 -> R IsForced Source #
NFData IsForced Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IsForced -> () Source #
Generic IsForced Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep IsForced |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep IsForced = D1 ('MetaData "IsForced" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Forced" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotForced" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: IsForced -> Rep IsForced x Source #

to :: Rep IsForced x -> IsForced Source #

Show IsForced Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> IsForced -> ShowS Source # show :: IsForced -> String Source # showList :: [IsForced] -> ShowS Source #
Eq IsForced Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: IsForced -> IsForced -> Bool Source # (/=) :: IsForced -> IsForced -> Bool Source #
type Rep IsForced Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep IsForced = D1 ('MetaData "IsForced" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Forced" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotForced" 'PrefixI 'False) (U1 :: Type -> Type))

data Candidate Source #

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

Candidate |

Fields

- candidateKind :: CandidateKind
- candidateTerm :: Term
- candidateType :: Type
- candidateOverlap :: OverlapMode

#### Instances

Instances details

HasOverlapMode Candidate Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensOverlapMode :: Lens' Candidate OverlapMode Source #
Free Candidate Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freeVars' :: IsVarSet a c => Candidate -> FreeM a c Source #
PrettyTCM Candidate Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Candidate -> m Doc Source #
Instantiate Candidate Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiate' :: Candidate -> ReduceM Candidate Source #
InstantiateFull Candidate Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Candidate -> ReduceM Candidate Source #
Normalise Candidate Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: Candidate -> ReduceM Candidate Source #
Reduce Candidate Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods reduce' :: Candidate -> ReduceM Candidate Source # reduceB' :: Candidate -> ReduceM (Blocked Candidate) Source #
Simplify Candidate Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: Candidate -> ReduceM Candidate
Subst Candidate Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg Candidate |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg Candidate = Term

Methods

applySubst :: Substitution' (SubstArg Candidate) -> Candidate -> Candidate Source #

NFData Candidate Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Candidate -> () Source #
Generic Candidate Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Candidate |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Candidate = D1 ('MetaData "Candidate" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: Candidate -> Rep Candidate x Source #

to :: Rep Candidate x -> Candidate Source #

Show Candidate Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Candidate -> ShowS Source # show :: Candidate -> String Source # showList :: [Candidate] -> ShowS Source #
Eq Candidate Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods (==) :: Candidate -> Candidate -> Bool Source # (/=) :: Candidate -> Candidate -> Bool Source #
Ord Candidate Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Methods

compare :: Candidate -> Candidate -> Ordering Source #

(<) :: Candidate -> Candidate -> Bool Source #

(<=) :: Candidate -> Candidate -> Bool Source #

(>) :: Candidate -> Candidate -> Bool Source #

(>=) :: Candidate -> Candidate -> Bool Source #

max :: Candidate -> Candidate -> Candidate Source #

min :: Candidate -> Candidate -> Candidate Source #

type SubstArg Candidate Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg Candidate = Term
type Rep Candidate Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Candidate = D1 ('MetaData "Candidate" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

fromCmp :: Comparison -> CompareDirection Source #

Embed `Comparison` into `CompareDirection`.

flipCmp :: CompareDirection -> CompareDirection Source #

Flip the direction of comparison.

dirToCmp :: (Comparison -> a -> a -> c) -> CompareDirection -> a -> a -> c Source #

Turn a `Comparison` function into a `CompareDirection` function.

Property: `dirToCmp f (fromCmp cmp) = f cmp`

data Judgement a Source #

Parametrized since it is used without MetaId when creating a new meta.

Constructors

HasType |

Fields

- jMetaId :: a
- jComparison :: Comparison

  are we checking (`CmpLeq`) or inferring (`CmpEq`) the type?

- jMetaType :: Type

IsSort |

Fields

- jMetaId :: a
- jMetaType :: Type

#### Instances

Instances details

Pretty a => Pretty (Judgement a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Judgement a -> Doc Source # prettyPrec :: Int -> Judgement a -> Doc Source # prettyList :: [Judgement a] -> Doc Source #
PrettyTCM a => PrettyTCM (Judgement a) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Judgement a -> m Doc Source #
InstantiateFull (Judgement MetaId) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Judgement MetaId -> ReduceM (Judgement MetaId) Source #
EmbPrj a => EmbPrj (Judgement a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Judgement a -> S Word32 Source # icod_ :: Judgement a -> S Word32 Source # value :: Word32 -> R (Judgement a) Source #
NFData a => NFData (Judgement a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Judgement a -> () Source #
Generic (Judgement a) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep (Judgement a) |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Judgement a) = D1 ('MetaData "Judgement" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

Methods

from :: Judgement a -> Rep (Judgement a) x Source #

to :: Rep (Judgement a) x -> Judgement a Source #

Show a => Show (Judgement a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Judgement a -> ShowS Source # show :: Judgement a -> String Source # showList :: [Judgement a] -> ShowS Source #
type Rep (Judgement a) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (Judgement a) = D1 ('MetaData "Judgement" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

data DoGeneralize Source #

Constructors

YesGeneralizeVar | Generalize because it is a generalizable variable.
YesGeneralizeMeta | Generalize because it is a metavariable and we're currently checking the type of a generalizable variable (this should get the default modality).
NoGeneralize | Don't generalize.

#### Instances

Instances details

KillRange DoGeneralize Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT DoGeneralize Source #
EmbPrj DoGeneralize Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DoGeneralize -> S Word32 Source # icod_ :: DoGeneralize -> S Word32 Source # value :: Word32 -> R DoGeneralize Source #
NFData DoGeneralize Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DoGeneralize -> () Source #
Generic DoGeneralize Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep DoGeneralize |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DoGeneralize = D1 ('MetaData "DoGeneralize" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesGeneralizeVar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "YesGeneralizeMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoGeneralize" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: DoGeneralize -> Rep DoGeneralize x Source #

to :: Rep DoGeneralize x -> DoGeneralize Source #

Show DoGeneralize Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DoGeneralize -> ShowS Source # show :: DoGeneralize -> String Source # showList :: [DoGeneralize] -> ShowS Source #
Eq DoGeneralize Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: DoGeneralize -> DoGeneralize -> Bool Source # (/=) :: DoGeneralize -> DoGeneralize -> Bool Source #
Ord DoGeneralize Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: DoGeneralize -> DoGeneralize -> Ordering Source #

(<) :: DoGeneralize -> DoGeneralize -> Bool Source #

(<=) :: DoGeneralize -> DoGeneralize -> Bool Source #

(>) :: DoGeneralize -> DoGeneralize -> Bool Source #

(>=) :: DoGeneralize -> DoGeneralize -> Bool Source #

max :: DoGeneralize -> DoGeneralize -> DoGeneralize Source #

min :: DoGeneralize -> DoGeneralize -> DoGeneralize Source #

type Rep DoGeneralize Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DoGeneralize = D1 ('MetaData "DoGeneralize" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesGeneralizeVar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "YesGeneralizeMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoGeneralize" 'PrefixI 'False) (U1 :: Type -> Type)))

data GeneralizedValue Source #

The value of a generalizable variable. This is created to be a generalizable meta before checking the type to be generalized.

Constructors

GeneralizedValue |

Fields

- genvalCheckpoint :: CheckpointId
- genvalTerm :: Term
- genvalType :: Type

#### Instances

Instances details

NFData GeneralizedValue Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: GeneralizedValue -> () Source #
Generic GeneralizedValue Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep GeneralizedValue |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep GeneralizedValue = D1 ('MetaData "GeneralizedValue" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: GeneralizedValue -> Rep GeneralizedValue x Source #

to :: Rep GeneralizedValue x -> GeneralizedValue Source #

Show GeneralizedValue Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> GeneralizedValue -> ShowS Source # show :: GeneralizedValue -> String Source # showList :: [GeneralizedValue] -> ShowS Source #
type Rep GeneralizedValue Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep GeneralizedValue = D1 ('MetaData "GeneralizedValue" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

newtype MetaPriority Source #

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

MetaPriority Int |

#### Instances

Instances details

NFData MetaPriority Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaPriority -> () Source #
Show MetaPriority Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MetaPriority -> ShowS Source # show :: MetaPriority -> String Source # showList :: [MetaPriority] -> ShowS Source #
Eq MetaPriority Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: MetaPriority -> MetaPriority -> Bool Source # (/=) :: MetaPriority -> MetaPriority -> Bool Source #
Ord MetaPriority Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: MetaPriority -> MetaPriority -> Ordering Source #

(<) :: MetaPriority -> MetaPriority -> Bool Source #

(<=) :: MetaPriority -> MetaPriority -> Bool Source #

(>) :: MetaPriority -> MetaPriority -> Bool Source #

(>=) :: MetaPriority -> MetaPriority -> Bool Source #

max :: MetaPriority -> MetaPriority -> MetaPriority Source #

min :: MetaPriority -> MetaPriority -> MetaPriority Source #

data MetaInstantiation Source #

Solution status of meta.

Constructors

InstV Instantiation | Solved by `Instantiation`.
OpenMeta MetaKind | Unsolved (open to solutions).
BlockedConst Term | Solved, but solution blocked by unsolved constraints.
PostponedTypeCheckingProblem (Closure TypeCheckingProblem) | Meta stands for value of the expression that is still to be type checked.

#### Instances

Instances details

Pretty MetaInstantiation Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: MetaInstantiation -> Doc Source # prettyPrec :: Int -> MetaInstantiation -> Doc Source # prettyList :: [MetaInstantiation] -> Doc Source #
NFData MetaInstantiation Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaInstantiation -> () Source #
Generic MetaInstantiation Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep MetaInstantiation |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MetaInstantiation = D1 ('MetaData "MetaInstantiation" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "InstV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Instantiation)) :+: C1 ('MetaCons "OpenMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaKind))) :+: (C1 ('MetaCons "BlockedConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "PostponedTypeCheckingProblem" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure TypeCheckingProblem)))))

Methods

from :: MetaInstantiation -> Rep MetaInstantiation x Source #

to :: Rep MetaInstantiation x -> MetaInstantiation Source #

type Rep MetaInstantiation Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MetaInstantiation = D1 ('MetaData "MetaInstantiation" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "InstV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Instantiation)) :+: C1 ('MetaCons "OpenMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaKind))) :+: (C1 ('MetaCons "BlockedConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "PostponedTypeCheckingProblem" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure TypeCheckingProblem)))))

data Listener Source #

Constructors

EtaExpand MetaId |
CheckConstraint Nat ProblemConstraint |

#### Instances

Instances details

NFData Listener Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Listener -> () Source #
Generic Listener Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Listener |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Listener = D1 ('MetaData "Listener" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "EtaExpand" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :+: C1 ('MetaCons "CheckConstraint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProblemConstraint)))

Methods

from :: Listener -> Rep Listener x Source #

to :: Rep Listener x -> Listener Source #

Eq Listener Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: Listener -> Listener -> Bool Source # (/=) :: Listener -> Listener -> Bool Source #
Ord Listener Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods compare :: Listener -> Listener -> Ordering Source # (<) :: Listener -> Listener -> Bool Source # (<=) :: Listener -> Listener -> Bool Source # (>) :: Listener -> Listener -> Bool Source # (>=) :: Listener -> Listener -> Bool Source # max :: Listener -> Listener -> Listener Source # min :: Listener -> Listener -> Listener Source #
type Rep Listener Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Listener = D1 ('MetaData "Listener" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "EtaExpand" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :+: C1 ('MetaCons "CheckConstraint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProblemConstraint)))

data Frozen Source #

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

Frozen | Do not instantiate.
Instantiable |

#### Instances

Instances details

NFData Frozen Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Frozen -> () Source #
Generic Frozen Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Frozen |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep Frozen = D1 ('MetaData "Frozen" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Frozen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Instantiable" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Frozen -> Rep Frozen x Source #

to :: Rep Frozen x -> Frozen Source #

Show Frozen Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Frozen -> ShowS Source # show :: Frozen -> String Source # showList :: [Frozen] -> ShowS Source #
Eq Frozen Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: Frozen -> Frozen -> Bool Source # (/=) :: Frozen -> Frozen -> Bool Source #
type Rep Frozen Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep Frozen = D1 ('MetaData "Frozen" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Frozen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Instantiable" 'PrefixI 'False) (U1 :: Type -> Type))

data Instantiation Source #

Meta-variable instantiations.

Constructors

Instantiation |

Fields

- instTel :: [Arg String]

  The solution is abstracted over these free variables.

- instBody :: Term

  The body of the solution.

#### Instances

Instances details

InstantiateFull Instantiation Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Instantiation -> ReduceM Instantiation Source #
EmbPrj Instantiation Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Instantiation -> S Word32 Source # icod_ :: Instantiation -> S Word32 Source # value :: Word32 -> R Instantiation Source #
NFData Instantiation Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Instantiation -> () Source #
Generic Instantiation Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Instantiation |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Instantiation = D1 ('MetaData "Instantiation" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

Methods

from :: Instantiation -> Rep Instantiation x Source #

to :: Rep Instantiation x -> Instantiation Source #

Show Instantiation Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Instantiation -> ShowS Source # show :: Instantiation -> String Source # showList :: [Instantiation] -> ShowS Source #
type Rep Instantiation Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Instantiation = D1 ('MetaData "Instantiation" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

data TypeCheckingProblem Source #

Constructors

CheckExpr Comparison Expr Type |
CheckArgs Comparison ExpandHidden Expr [NamedArg Expr] Type Type (ArgsCheckState CheckedTarget -> TCM Term) |
CheckProjAppToKnownPrincipalArg Comparison Expr ProjOrigin (List1 QName) Expr Args Type Int Term Type PrincipalArgTypeMetas |
CheckLambda Comparison (Arg (List1 (WithHiding Name), Maybe Type)) Expr Type | `(λ (xs : t₀) → e) : t` This is not an instance of `CheckExpr` as the domain type has already been checked. For example, when checking `(λ (x y : Fin _) → e) : (x : Fin n) → ?` we want to postpone `(λ (y : Fin n) → e) : ?` where `Fin n` is a `Type` rather than an `Expr`.
DisambiguateConstructor ConstructorDisambiguationData (ConHead -> TCM Term) | A stuck constructor disambiguation with the bits to retry it on and the success continuation.
DoQuoteTerm Comparison Term Type | Quote the given term and check type against `Term`

#### Instances

Instances details

PrettyTCM TypeCheckingProblem Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => TypeCheckingProblem -> m Doc Source #
NFData TypeCheckingProblem Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TypeCheckingProblem -> () Source #
Generic TypeCheckingProblem Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TypeCheckingProblem |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TypeCheckingProblem = D1 ('MetaData "TypeCheckingProblem" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "CheckExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "CheckArgs" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpandHidden) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ArgsCheckState CheckedTarget -> TCM Term))))) :+: C1 ('MetaCons "CheckProjAppToKnownPrincipalArg" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrincipalArgTypeMetas))))))) :+: (C1 ('MetaCons "CheckLambda" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg (List1 (WithHiding Name), Maybe Type)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "DisambiguateConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorDisambiguationData) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConHead -> TCM Term))) :+: C1 ('MetaCons "DoQuoteTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

Methods

from :: TypeCheckingProblem -> Rep TypeCheckingProblem x Source #

to :: Rep TypeCheckingProblem x -> TypeCheckingProblem Source #

type Rep TypeCheckingProblem Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TypeCheckingProblem = D1 ('MetaData "TypeCheckingProblem" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "CheckExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "CheckArgs" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpandHidden) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ArgsCheckState CheckedTarget -> TCM Term))))) :+: C1 ('MetaCons "CheckProjAppToKnownPrincipalArg" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 QName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrincipalArgTypeMetas))))))) :+: (C1 ('MetaCons "CheckLambda" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg (List1 (WithHiding Name), Maybe Type)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "DisambiguateConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorDisambiguationData) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConHead -> TCM Term))) :+: C1 ('MetaCons "DoQuoteTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

data RemoteMetaVariable Source #

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

RemoteMetaVariable |

Fields

- rmvInstantiation :: Instantiation
- rmvModality :: Modality
- rmvJudgement :: Judgement MetaId

#### Instances

Instances details

LensModalPolarity RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModalPolarity :: RemoteMetaVariable -> PolarityModality Source # setModalPolarity :: PolarityModality -> RemoteMetaVariable -> RemoteMetaVariable Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensModality RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: RemoteMetaVariable -> Modality Source # setModality :: Modality -> RemoteMetaVariable -> RemoteMetaVariable Source # mapModality :: (Modality -> Modality) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensQuantity RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: RemoteMetaVariable -> Quantity Source # setQuantity :: Quantity -> RemoteMetaVariable -> RemoteMetaVariable Source # mapQuantity :: (Quantity -> Quantity) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensRelevance RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: RemoteMetaVariable -> Relevance Source # setRelevance :: Relevance -> RemoteMetaVariable -> RemoteMetaVariable Source # mapRelevance :: (Relevance -> Relevance) -> RemoteMetaVariable -> RemoteMetaVariable Source #
InstantiateFull RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: RemoteMetaVariable -> ReduceM RemoteMetaVariable Source #
EmbPrj RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: RemoteMetaVariable -> S Word32 Source # icod_ :: RemoteMetaVariable -> S Word32 Source # value :: Word32 -> R RemoteMetaVariable Source #
NFData RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RemoteMetaVariable -> () Source #
Generic RemoteMetaVariable Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep RemoteMetaVariable |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep RemoteMetaVariable = D1 ('MetaData "RemoteMetaVariable" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: RemoteMetaVariable -> Rep RemoteMetaVariable x Source #

to :: Rep RemoteMetaVariable x -> RemoteMetaVariable Source #

Show RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> RemoteMetaVariable -> ShowS Source # show :: RemoteMetaVariable -> String Source # showList :: [RemoteMetaVariable] -> ShowS Source #
type Rep RemoteMetaVariable Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep RemoteMetaVariable = D1 ('MetaData "RemoteMetaVariable" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

data CheckedTarget Source #

Solving a `CheckArgs` constraint may or may not check the target type. If it did, it returns a handle to any unsolved constraints.

Constructors

CheckedTarget (Maybe ProblemId) |
NotCheckedTarget |

data PrincipalArgTypeMetas Source #

Constructors

PrincipalArgTypeMetas |

Fields

- patmMetas :: Args

  metas created for hidden and instance arguments in the principal argument's type

- patmRemainder :: Type

  principal argument's type, stripped of hidden and instance arguments

#### Instances

Instances details

NFData PrincipalArgTypeMetas Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PrincipalArgTypeMetas -> () Source #
Generic PrincipalArgTypeMetas Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PrincipalArgTypeMetas |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrincipalArgTypeMetas = D1 ('MetaData "PrincipalArgTypeMetas" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PrincipalArgTypeMetas" 'PrefixI 'True) (S1 ('MetaSel ('Just "patmMetas") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just "patmRemainder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))

Methods

from :: PrincipalArgTypeMetas -> Rep PrincipalArgTypeMetas x Source #

to :: Rep PrincipalArgTypeMetas x -> PrincipalArgTypeMetas Source #

type Rep PrincipalArgTypeMetas Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrincipalArgTypeMetas = D1 ('MetaData "PrincipalArgTypeMetas" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PrincipalArgTypeMetas" 'PrefixI 'True) (S1 ('MetaSel ('Just "patmMetas") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just "patmRemainder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))

data ExpandHidden Source #

Constructors

ExpandLast | Add implicit arguments in the end until type is no longer hidden `Pi`.
DontExpandLast | Do not append implicit arguments.
ReallyDontExpandLast | Makes `doExpandLast` have no effect. Used to avoid implicit insertion of arguments to metavariables.

#### Instances

Instances details

NFData ExpandHidden Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ExpandHidden -> () Source #
Generic ExpandHidden Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ExpandHidden |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ExpandHidden = D1 ('MetaData "ExpandHidden" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ExpandLast" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DontExpandLast" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ReallyDontExpandLast" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: ExpandHidden -> Rep ExpandHidden x Source #

to :: Rep ExpandHidden x -> ExpandHidden Source #

Eq ExpandHidden Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: ExpandHidden -> ExpandHidden -> Bool Source # (/=) :: ExpandHidden -> ExpandHidden -> Bool Source #
type Rep ExpandHidden Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ExpandHidden = D1 ('MetaData "ExpandHidden" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ExpandLast" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DontExpandLast" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ReallyDontExpandLast" 'PrefixI 'False) (U1 :: Type -> Type)))

data ArgsCheckState a Source #

Constructors

ACState |

Fields

- acCheckedArgs :: [CheckedArg]

  Checked and inserted arguments so far.

- acFun :: Expr

  The function applied to the already checked arguments.

- acType :: Type

  Type of the function (for checking the remaining arguments).

- acData :: a

#### Instances

Instances details

Show a => Show (ArgsCheckState a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ArgsCheckState a -> ShowS Source # show :: ArgsCheckState a -> String Source # showList :: [ArgsCheckState a] -> ShowS Source #

data ConstructorDisambiguationData Source #

Information we have constructored in the middle of disambiguating a constructor.

Constructors

ConstructorDisambiguationData |

Fields

- bcdConName :: QName

  One of the eligible ambiguous names (for error messages).

- bcdCandidates :: List1 (QName, Type, ConHead)

  The possible candidates for disambiguation

- bcdArguments :: Args

  The arguments given to the constructor.

- bcdType :: Type

  The type of the constructor application

#### Instances

Instances details

NFData ConstructorDisambiguationData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ConstructorDisambiguationData -> () Source #
Generic ConstructorDisambiguationData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ConstructorDisambiguationData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ConstructorDisambiguationData = D1 ('MetaData "ConstructorDisambiguationData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ConstructorDisambiguationData" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bcdConName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just "bcdCandidates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (QName, Type, ConHead)))) :*: (S1 ('MetaSel ('Just "bcdArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just "bcdType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Methods

from :: ConstructorDisambiguationData -> Rep ConstructorDisambiguationData x Source #

to :: Rep ConstructorDisambiguationData x -> ConstructorDisambiguationData Source #

type Rep ConstructorDisambiguationData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ConstructorDisambiguationData = D1 ('MetaData "ConstructorDisambiguationData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ConstructorDisambiguationData" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bcdConName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just "bcdCandidates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (QName, Type, ConHead)))) :*: (S1 ('MetaSel ('Just "bcdArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just "bcdType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

suffixNameSuggestion :: MetaNameSuggestion -> ArgName -> MetaNameSuggestion Source #

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.

getMetaInfo :: MetaVariable -> Closure Range Source #

normalMetaPriority :: MetaPriority Source #

lowMetaPriority :: MetaPriority Source #

highMetaPriority :: MetaPriority Source #

getMetaScope :: MetaVariable -> ScopeInfo Source #

getMetaEnv :: MetaVariable -> TCEnv Source #

getMetaSig :: MetaVariable -> Signature Source #

metaFrozen :: Lens' MetaVariable Frozen Source #

_mvInfo :: Lens' MetaVariable MetaInfo Source #

aModeToDef :: AbstractMode -> Maybe IsAbstract Source #

aDefToMode :: IsAbstract -> AbstractMode Source #

data InteractionPoint Source #

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

InteractionPoint |

Fields

- ipRange :: Range

  The position of the interaction point.

- ipMeta :: Maybe MetaId

  The meta variable, if any, holding the type etc.

- ipSolved :: Bool

  Has this interaction point already been solved?

- ipClause :: IPClause

  The clause of the interaction point (if any). Used for case splitting.

- ipBoundary :: IPBoundary

#### Instances

Instances details

HasTag InteractionPoint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Tag InteractionPoint |
Instance details Defined in Agda.TypeChecking.Monad.Base type Tag InteractionPoint = MetaId

Methods

tag :: InteractionPoint -> Maybe (Tag InteractionPoint) Source #

NFData InteractionPoint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InteractionPoint -> () Source #
NFData InteractionPoints Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InteractionPoints -> () Source #
Generic InteractionPoint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep InteractionPoint |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InteractionPoint = D1 ('MetaData "InteractionPoint" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: InteractionPoint -> Rep InteractionPoint x Source #

to :: Rep InteractionPoint x -> InteractionPoint Source #

Eq InteractionPoint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: InteractionPoint -> InteractionPoint -> Bool Source # (/=) :: InteractionPoint -> InteractionPoint -> Bool Source #
type Tag InteractionPoint Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Tag InteractionPoint = MetaId
type Rep InteractionPoint Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InteractionPoint = D1 ('MetaData "InteractionPoint" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

data IPClause Source #

Which clause is an interaction point located in?

Constructors

IPClause |

Fields

- ipcQName :: QName

  The name of the function.

- ipcClauseNo :: Int

  The number of the clause of this function.

- ipcType :: Type

  The type of the function

- ipcWithSub :: Maybe Substitution

  Module parameter substitution

- ipcClause :: SpineClause

  The original AST clause.

- ipcClosure :: Closure ()

  Environment for rechecking the clause.

IPNoClause | The interaction point is not in the rhs of a clause.

#### Instances

Instances details

NFData IPClause Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IPClause -> () Source #
Generic IPClause Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep IPClause |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IPClause = D1 ('MetaData "IPClause" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 :: Type -> Type))

Methods

from :: IPClause -> Rep IPClause x Source #

to :: Rep IPClause x -> IPClause Source #

Eq IPClause Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: IPClause -> IPClause -> Bool Source # (/=) :: IPClause -> IPClause -> Bool Source #
type Rep IPClause Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IPClause = D1 ('MetaData "IPClause" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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 :: Type -> Type))

type IPBoundary = IPBoundary' Term Source #

newtype IPBoundary' t Source #

Constructors

IPBoundary |

Fields

- getBoundary :: Map (IntMap Bool) t

#### Instances

Instances details

Functor IPBoundary' Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> IPBoundary' a -> IPBoundary' b Source # (<$) :: a -> IPBoundary' b -> IPBoundary' a Source #
Foldable IPBoundary' Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

fold :: Monoid m => IPBoundary' m -> m Source #

foldMap :: Monoid m => (a -> m) -> IPBoundary' a -> m Source #

foldMap' :: Monoid m => (a -> m) -> IPBoundary' a -> m Source #

foldr :: (a -> b -> b) -> b -> IPBoundary' a -> b Source #

foldr' :: (a -> b -> b) -> b -> IPBoundary' a -> b Source #

foldl :: (b -> a -> b) -> b -> IPBoundary' a -> b Source #

foldl' :: (b -> a -> b) -> b -> IPBoundary' a -> b Source #

foldr1 :: (a -> a -> a) -> IPBoundary' a -> a Source #

foldl1 :: (a -> a -> a) -> IPBoundary' a -> a Source #

toList :: IPBoundary' a -> [a] Source #

null :: IPBoundary' a -> Bool Source #

length :: IPBoundary' a -> Int Source #

elem :: Eq a => a -> IPBoundary' a -> Bool Source #

maximum :: Ord a => IPBoundary' a -> a Source #

minimum :: Ord a => IPBoundary' a -> a Source #

sum :: Num a => IPBoundary' a -> a Source #

product :: Num a => IPBoundary' a -> a Source #

Traversable IPBoundary' Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverse :: Applicative f => (a -> f b) -> IPBoundary' a -> f (IPBoundary' b) Source # sequenceA :: Applicative f => IPBoundary' (f a) -> f (IPBoundary' a) Source # mapM :: Monad m => (a -> m b) -> IPBoundary' a -> m (IPBoundary' b) Source # sequence :: Monad m => IPBoundary' (m a) -> m (IPBoundary' a) Source #
ToConcrete a => ToConcrete (IPBoundary' a) Source # |

Instance details

Defined in Agda.Interaction.BasicOps

Associated Types

type ConOfAbs (IPBoundary' a) |
Instance details Defined in Agda.Interaction.BasicOps type ConOfAbs (IPBoundary' a) = IPBoundary' (ConOfAbs a)

Methods

toConcrete :: MonadToConcrete m => IPBoundary' a -> m (ConOfAbs (IPBoundary' a)) Source #

bindToConcrete :: MonadToConcrete m => IPBoundary' a -> (ConOfAbs (IPBoundary' a) -> m b) -> m b Source #

Reify a => Reify (IPBoundary' a) Source # |

Instance details

Defined in Agda.Interaction.BasicOps

Associated Types

type ReifiesTo (IPBoundary' a) |
Instance details Defined in Agda.Interaction.BasicOps type ReifiesTo (IPBoundary' a) = IPBoundary' (ReifiesTo a)

Methods

reify :: MonadReify m => IPBoundary' a -> m (ReifiesTo (IPBoundary' a)) Source #

reifyWhen :: MonadReify m => Bool -> IPBoundary' a -> m (ReifiesTo (IPBoundary' a)) Source #

Instantiate t => Instantiate (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiate' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source #
InstantiateFull t => InstantiateFull (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source #
Normalise t => Normalise (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source #
Reduce t => Reduce (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods reduce' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source # reduceB' :: IPBoundary' t -> ReduceM (Blocked (IPBoundary' t)) Source #
Simplify t => Simplify (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: IPBoundary' t -> ReduceM (IPBoundary' t)
NFData t => NFData (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IPBoundary' t -> () Source #
Generic (IPBoundary' t) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep (IPBoundary' t) |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep (IPBoundary' t) = D1 ('MetaData "IPBoundary'" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "IPBoundary" 'PrefixI 'True) (S1 ('MetaSel ('Just "getBoundary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (IntMap Bool) t))))

Methods

from :: IPBoundary' t -> Rep (IPBoundary' t) x Source #

to :: Rep (IPBoundary' t) x -> IPBoundary' t Source #

Show t => Show (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> IPBoundary' t -> ShowS Source # show :: IPBoundary' t -> String Source # showList :: [IPBoundary' t] -> ShowS Source #
type ConOfAbs (IPBoundary' a) Source # |
Instance details Defined in Agda.Interaction.BasicOps type ConOfAbs (IPBoundary' a) = IPBoundary' (ConOfAbs a)
type ReifiesTo (IPBoundary' a) Source # |
Instance details Defined in Agda.Interaction.BasicOps type ReifiesTo (IPBoundary' a) = IPBoundary' (ReifiesTo a)
type Rep (IPBoundary' t) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep (IPBoundary' t) = D1 ('MetaData "IPBoundary'" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "IPBoundary" 'PrefixI 'True) (S1 ('MetaSel ('Just "getBoundary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (IntMap Bool) t))))

data Overapplied Source #

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).

Constructors

Overapplied |
NotOverapplied |

#### Instances

Instances details

NFData Overapplied Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Overapplied -> () Source #
Generic Overapplied Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Overapplied |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep Overapplied = D1 ('MetaData "Overapplied" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Overapplied" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotOverapplied" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Overapplied -> Rep Overapplied x Source #

to :: Rep Overapplied x -> Overapplied Source #

Show Overapplied Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Overapplied -> ShowS Source # show :: Overapplied -> String Source # showList :: [Overapplied] -> ShowS Source #
Eq Overapplied Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: Overapplied -> Overapplied -> Bool Source # (/=) :: Overapplied -> Overapplied -> Bool Source #
type Rep Overapplied Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep Overapplied = D1 ('MetaData "Overapplied" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Overapplied" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotOverapplied" 'PrefixI 'False) (U1 :: Type -> Type))

type Sections = Map ModuleName Section Source #

data InstanceTable Source #

Records information about the instances in the signature. Does not deal with local instances.

Constructors

InstanceTable |

Fields

- _itableTree :: DiscrimTree QName

  The actual discrimination tree for looking up instances with

- _itableCounts :: Map QName Int

  For 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.

#### Instances

Instances details

KillRange InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT InstanceTable Source #
EmbPrj InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: InstanceTable -> S Word32 Source # icod_ :: InstanceTable -> S Word32 Source # value :: Word32 -> R InstanceTable Source #
Null InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: InstanceTable Source # null :: InstanceTable -> Bool Source #
NFData InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InstanceTable -> () Source #
Monoid InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods mempty :: InstanceTable Source # mappend :: InstanceTable -> InstanceTable -> InstanceTable Source # mconcat :: [InstanceTable] -> InstanceTable Source #
Semigroup InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (<>) :: InstanceTable -> InstanceTable -> InstanceTable Source # sconcat :: NonEmpty InstanceTable -> InstanceTable Source # stimes :: Integral b => b -> InstanceTable -> InstanceTable Source #
Generic InstanceTable Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep InstanceTable |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InstanceTable = D1 ('MetaData "InstanceTable" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: InstanceTable -> Rep InstanceTable x Source #

to :: Rep InstanceTable x -> InstanceTable Source #

Show InstanceTable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> InstanceTable -> ShowS Source # show :: InstanceTable -> String Source # showList :: [InstanceTable] -> ShowS Source #
type Rep InstanceTable Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InstanceTable = D1 ('MetaData "InstanceTable" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

sigSections :: Lens' Signature Sections Source #

sigDefinitions :: Lens' Signature Definitions Source #

type LocalDisplayForm = Open DisplayForm Source #

secTelescope :: Lens' Section Telescope Source #

data DisplayTerm Source #

A structured presentation of a `Term` for reification into `Syntax`.

Constructors

DWithApp DisplayTerm (List1 DisplayTerm) Elims | `(f vs | ws) es`. The first `DisplayTerm` is the parent function `f` with its args `vs`. The list of `DisplayTerm`s are the with expressions `ws`. The `Elims` are additional arguments `es` (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 Elims | `v es`. This is a frozen elimination that is not always safe to run, because display forms may be ill-typed. (See issue #6476.)

#### Instances

Instances details

Pretty DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: DisplayTerm -> Doc Source # prettyPrec :: Int -> DisplayTerm -> Doc Source # prettyList :: [DisplayTerm] -> Doc Source #
NamesIn DisplayTerm Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> DisplayTerm -> m Source #
KillRange DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT DisplayTerm Source #
Reify DisplayTerm Source # |

Instance details

Defined in Agda.Syntax.Translation.InternalToAbstract

Associated Types

type ReifiesTo DisplayTerm |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo DisplayTerm = Expr

Methods

reify :: MonadReify m => DisplayTerm -> m (ReifiesTo DisplayTerm) Source #

reifyWhen :: MonadReify m => Bool -> DisplayTerm -> m (ReifiesTo DisplayTerm) Source #

Free DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freeVars' :: IsVarSet a c => DisplayTerm -> FreeM a c Source #
ChaseDisplayForms DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Signature Methods chaseDisplayForms :: DisplayTerm -> Set QName -> TCM (Set QName) Source #
PrettyTCM DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => DisplayTerm -> m Doc Source #
InstantiateFull DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: DisplayTerm -> ReduceM DisplayTerm Source #
EmbPrj DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DisplayTerm -> S Word32 Source # icod_ :: DisplayTerm -> S Word32 Source # value :: Word32 -> R DisplayTerm Source #
Apply DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: DisplayTerm -> Args -> DisplayTerm Source # applyE :: DisplayTerm -> Elims -> DisplayTerm Source #
Subst DisplayTerm Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg DisplayTerm |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg DisplayTerm = Term

Methods

applySubst :: Substitution' (SubstArg DisplayTerm) -> DisplayTerm -> DisplayTerm Source #

NFData DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DisplayTerm -> () Source #
Generic DisplayTerm Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep DisplayTerm |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DisplayTerm = D1 ('MetaData "DisplayTerm" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "DWithApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayTerm) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 DisplayTerm)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims))) :+: C1 ('MetaCons "DCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg DisplayTerm])))) :+: (C1 ('MetaCons "DDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim' DisplayTerm])) :+: (C1 ('MetaCons "DDot'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims)) :+: C1 ('MetaCons "DTerm'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims)))))

Methods

from :: DisplayTerm -> Rep DisplayTerm x Source #

to :: Rep DisplayTerm x -> DisplayTerm Source #

Show DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DisplayTerm -> ShowS Source # show :: DisplayTerm -> String Source # showList :: [DisplayTerm] -> ShowS Source #
PrettyTCM (Elim' DisplayTerm) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Elim' DisplayTerm -> m Doc Source #
type ReifiesTo DisplayTerm Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo DisplayTerm = Expr
type SubstArg DisplayTerm Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg DisplayTerm = Term
type Rep DisplayTerm Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DisplayTerm = D1 ('MetaData "DisplayTerm" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "DWithApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayTerm) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 DisplayTerm)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims))) :+: C1 ('MetaCons "DCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg DisplayTerm])))) :+: (C1 ('MetaCons "DDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Elim' DisplayTerm])) :+: (C1 ('MetaCons "DDot'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims)) :+: C1 ('MetaCons "DTerm'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims)))))

pattern DDot :: Term -> DisplayTerm Source #

pattern DTerm :: Term -> DisplayTerm Source #

defaultDisplayForm :: QName -> [LocalDisplayForm] Source #

By default, we have no display form.

type PElims = [Elim' NLPat] Source #

data NLPType Source #

Constructors

NLPType |

Fields

- nlpTypeSort :: NLPSort
- nlpTypeUnEl :: NLPat

#### Instances

Instances details

TermLike NLPType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverseTermM :: Monad m => (Term -> m Term) -> NLPType -> m NLPType Source # foldTerm :: Monoid m => (Term -> m) -> NLPType -> m Source #
AllMetas NLPType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods allMetas :: Monoid m => (MetaId -> m) -> NLPType -> m Source #
NamesIn NLPType Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> NLPType -> m Source #
KillRange NLPType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT NLPType Source #
Free NLPType Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods freeVars' :: IsVarSet a c => NLPType -> FreeM a c Source #
PrettyTCM NLPType Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NLPType -> m Doc Source #
InstantiateFull NLPType Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: NLPType -> ReduceM NLPType Source #
GetMatchables NLPType Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: NLPType -> [QName] Source #
NLPatVars NLPType Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatVarsUnder :: Int -> NLPType -> IntSet Source # nlPatVars :: NLPType -> IntSet Source #
EmbPrj NLPType Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: NLPType -> S Word32 Source # icod_ :: NLPType -> S Word32 Source # value :: Word32 -> R NLPType Source #
Subst NLPType Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg NLPType |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg NLPType = NLPat

Methods

applySubst :: Substitution' (SubstArg NLPType) -> NLPType -> NLPType Source #

NFData NLPType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NLPType -> () Source #
Generic NLPType Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep NLPType |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NLPType = D1 ('MetaData "NLPType" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "NLPType" 'PrefixI 'True) (S1 ('MetaSel ('Just "nlpTypeSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort) :*: S1 ('MetaSel ('Just "nlpTypeUnEl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)))

Methods

from :: NLPType -> Rep NLPType x Source #

to :: Rep NLPType x -> NLPType Source #

Show NLPType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NLPType -> ShowS Source # show :: NLPType -> String Source # showList :: [NLPType] -> ShowS Source #
Match NLPType Type Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Context -> TypeOf Type -> NLPType -> Type -> NLM () Source #
NLPatToTerm NLPType Type Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatToTerm :: PureTCM m => NLPType -> m Type Source #
PatternFrom Type NLPType Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> TypeOf Type -> Type -> TCM NLPType Source #
type SubstArg NLPType Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg NLPType = NLPat
type Rep NLPType Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NLPType = D1 ('MetaData "NLPType" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "NLPType" 'PrefixI 'True) (S1 ('MetaSel ('Just "nlpTypeSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort) :*: S1 ('MetaSel ('Just "nlpTypeUnEl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)))

data NLPSort Source #

Constructors

PUniv Univ NLPat |
PInf Univ Integer |
PSizeUniv |
PLockUniv |
PLevelUniv |
PIntervalUniv |

#### Instances

Instances details

TermLike NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods traverseTermM :: Monad m => (Term -> m Term) -> NLPSort -> m NLPSort Source # foldTerm :: Monoid m => (Term -> m) -> NLPSort -> m Source #
AllMetas NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods allMetas :: Monoid m => (MetaId -> m) -> NLPSort -> m Source #
NamesIn NLPSort Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> NLPSort -> m Source #
KillRange NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT NLPSort Source #
Free NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods freeVars' :: IsVarSet a c => NLPSort -> FreeM a c Source #
PrettyTCM NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NLPSort -> m Doc Source #
InstantiateFull NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: NLPSort -> ReduceM NLPSort Source #
GetMatchables NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: NLPSort -> [QName] Source #
NLPatVars NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatVarsUnder :: Int -> NLPSort -> IntSet Source # nlPatVars :: NLPSort -> IntSet Source #
EmbPrj NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: NLPSort -> S Word32 Source # icod_ :: NLPSort -> S Word32 Source # value :: Word32 -> R NLPSort Source #
Subst NLPSort Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg NLPSort |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg NLPSort = NLPat

Methods

applySubst :: Substitution' (SubstArg NLPSort) -> NLPSort -> NLPSort Source #

NFData NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NLPSort -> () Source #
Generic NLPSort Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep NLPSort |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NLPSort = D1 ('MetaData "NLPSort" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "PUniv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)) :+: (C1 ('MetaCons "PInf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "PSizeUniv" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "PLockUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PLevelUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PIntervalUniv" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: NLPSort -> Rep NLPSort x Source #

to :: Rep NLPSort x -> NLPSort Source #

Show NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NLPSort -> ShowS Source # show :: NLPSort -> String Source # showList :: [NLPSort] -> ShowS Source #
Match NLPSort Sort Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Context -> TypeOf Sort -> NLPSort -> Sort -> NLM () Source #
NLPatToTerm NLPSort Sort Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatToTerm :: PureTCM m => NLPSort -> m Sort Source #
PatternFrom Sort NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> TypeOf Sort -> Sort -> TCM NLPSort Source #
type SubstArg NLPSort Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg NLPSort = NLPat
type Rep NLPSort Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NLPSort = D1 ('MetaData "NLPSort" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "PUniv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)) :+: (C1 ('MetaCons "PInf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "PSizeUniv" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "PLockUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PLevelUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PIntervalUniv" 'PrefixI 'False) (U1 :: Type -> Type))))

pattern PType :: NLPat -> NLPSort Source #

pattern PProp :: NLPat -> NLPSort Source #

pattern PSSet :: NLPat -> NLPSort Source #

data RewriteRule Source #

Rewrite rules can be added independently from function clauses.

Constructors

RewriteRule |

Fields

- rewName :: QName

  Name of rewrite rule `q : Γ → f ps ≡ rhs` where `≡` is the rewrite relation.

- rewContext :: Telescope

  `Γ`.

- rewHead :: QName

  `f`.

- rewPats :: PElims

  `Γ ⊢ f ps : t`.

- rewRHS :: Term

  `Γ ⊢ rhs : t`.

- rewType :: Type

  `Γ ⊢ t`.

- rewFromClause :: Bool

  Was this rewrite rule created from a clause in the definition of the function?

- rewTopModule :: TopLevelModuleName

  In which file is this rewrite rule defined? This information is used to eliminate rewrite rules that happen to be in `stImports` but are not actually transitively imported.

#### Instances

Instances details

NamesIn RewriteRule Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> RewriteRule -> m Source #
KillRange RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT RewriteRule Source #
KillRange RewriteRuleMap Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT RewriteRuleMap Source #
PrettyTCM RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => RewriteRule -> m Doc Source #
InstantiateFull RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: RewriteRule -> ReduceM RewriteRule Source #
GetMatchables RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: RewriteRule -> [QName] Source #
EmbPrj RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: RewriteRule -> S Word32 Source # icod_ :: RewriteRule -> S Word32 Source # value :: Word32 -> R RewriteRule Source #
Abstract RewriteRule Source # | `tel ⊢ (Γ ⊢ lhs ↦ rhs : t)` becomes `tel, Γ ⊢ lhs ↦ rhs : t)` we do not need to change lhs, rhs, and t since they live in Γ. See 'Abstract Clause'.
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> RewriteRule -> RewriteRule Source #
Apply RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: RewriteRule -> Args -> RewriteRule Source # applyE :: RewriteRule -> Elims -> RewriteRule Source #
Subst RewriteRule Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg RewriteRule |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg RewriteRule = NLPat

Methods

applySubst :: Substitution' (SubstArg RewriteRule) -> RewriteRule -> RewriteRule Source #

NFData RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RewriteRule -> () Source #
Generic RewriteRule Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep RewriteRule |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep RewriteRule = D1 ('MetaData "RewriteRule" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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) :*: S1 ('MetaSel ('Just "rewTopModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))))

Methods

from :: RewriteRule -> Rep RewriteRule x Source #

to :: Rep RewriteRule x -> RewriteRule Source #

Show RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> RewriteRule -> ShowS Source # show :: RewriteRule -> String Source # showList :: [RewriteRule] -> ShowS Source #
type SubstArg RewriteRule Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg RewriteRule = NLPat
type Rep RewriteRule Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep RewriteRule = D1 ('MetaData "RewriteRule" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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) :*: S1 ('MetaSel ('Just "rewTopModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TopLevelModuleName)))))

data Defn Source #

Constructors

AxiomDefn AxiomData | Postulate.
DataOrRecSigDefn DataOrRecSigData | Data or record type signature that doesn't yet have a definition.
GeneralizableVar | Generalizable variable (introduced in `variable` block).

Fields

- NumGeneralizableArgs

  For a generalized variable, shows how many arguments should be generalised.

AbstractDefn Defn | Returned by `getConstInfo` if definition is abstract.
FunctionDefn FunctionData |
DatatypeDefn DatatypeData |
RecordDefn RecordData |
ConstructorDefn ConstructorData |
PrimitiveDefn PrimitiveData | Primitive or builtin functions.
PrimitiveSortDefn PrimitiveSortData |

#### Instances

Instances details

Pretty Defn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Defn -> Doc Source # prettyPrec :: Int -> Defn -> Doc Source # prettyList :: [Defn] -> Doc Source #
NamesIn Defn Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> Defn -> m Source #
KillRange Defn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Defn Source #
Occurs Defn Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Occurs Methods occurs :: Defn -> OccursM Defn Source # metaOccurs :: MetaId -> Defn -> TCM () Source #
InstantiateFull Defn Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Defn -> ReduceM Defn Source #
EmbPrj Defn Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Defn -> S Word32 Source # icod_ :: Defn -> S Word32 Source # value :: Word32 -> R Defn Source #
Abstract Defn Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> Defn -> Defn Source #
Apply Defn Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: Defn -> Args -> Defn Source # applyE :: Defn -> Elims -> Defn Source #
NFData Defn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Defn -> () Source #
Generic Defn Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Defn |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Defn = D1 ('MetaData "Defn" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "AxiomDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AxiomData)) :+: C1 ('MetaCons "DataOrRecSigDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecSigData))) :+: (C1 ('MetaCons "GeneralizableVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NumGeneralizableArgs)) :+: (C1 ('MetaCons "AbstractDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Defn)) :+: C1 ('MetaCons "FunctionDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FunctionData))))) :+: ((C1 ('MetaCons "DatatypeDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatatypeData)) :+: C1 ('MetaCons "RecordDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordData))) :+: (C1 ('MetaCons "ConstructorDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorData)) :+: (C1 ('MetaCons "PrimitiveDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveData)) :+: C1 ('MetaCons "PrimitiveSortDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveSortData))))))

Methods

from :: Defn -> Rep Defn x Source #

to :: Rep Defn x -> Defn Source #

Show Defn Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Defn -> ShowS Source # show :: Defn -> String Source # showList :: [Defn] -> ShowS Source #
type Rep Defn Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Defn = D1 ('MetaData "Defn" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "AxiomDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AxiomData)) :+: C1 ('MetaCons "DataOrRecSigDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOrRecSigData))) :+: (C1 ('MetaCons "GeneralizableVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NumGeneralizableArgs)) :+: (C1 ('MetaCons "AbstractDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Defn)) :+: C1 ('MetaCons "FunctionDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FunctionData))))) :+: ((C1 ('MetaCons "DatatypeDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatatypeData)) :+: C1 ('MetaCons "RecordDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordData))) :+: (C1 ('MetaCons "ConstructorDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorData)) :+: (C1 ('MetaCons "PrimitiveDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveData)) :+: C1 ('MetaCons "PrimitiveSortDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PrimitiveSortData))))))

type CompiledRepresentation = Map BackendName [CompilerPragma] Source #

data NumGeneralizableArgs Source #

Constructors

NoGeneralizableArgs |
SomeGeneralizableArgs !Int | When lambda-lifting new args are generalizable if `SomeGeneralizableArgs`, also when the number is zero.

#### Instances

Instances details

KillRange NumGeneralizableArgs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT NumGeneralizableArgs Source #
EmbPrj NumGeneralizableArgs Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: NumGeneralizableArgs -> S Word32 Source # icod_ :: NumGeneralizableArgs -> S Word32 Source # value :: Word32 -> R NumGeneralizableArgs Source #
Abstract NumGeneralizableArgs Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> NumGeneralizableArgs -> NumGeneralizableArgs Source #
Apply NumGeneralizableArgs Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: NumGeneralizableArgs -> Args -> NumGeneralizableArgs Source # applyE :: NumGeneralizableArgs -> Elims -> NumGeneralizableArgs Source #
NFData NumGeneralizableArgs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NumGeneralizableArgs -> () Source #
Show NumGeneralizableArgs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NumGeneralizableArgs -> ShowS Source # show :: NumGeneralizableArgs -> String Source # showList :: [NumGeneralizableArgs] -> ShowS Source #

lensTheDef :: Lens' Definition Defn Source #

defaultDefn :: ArgInfo -> QName -> Type -> Language -> Defn -> Definition Source #

Create a definition with sensible defaults.

noCompiledRep :: CompiledRepresentation Source #

jsBackendName :: BackendName Source #

ghcBackendName :: BackendName Source #

type Face = [(Term, Bool)] Source #

data ExtLamInfo Source #

Additional information for extended lambdas.

Constructors

ExtLamInfo |

Fields

- extLamModule :: ModuleName

  For 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 :: Bool

  Was this definition created from an absurd lambda `λ ()`?

- extLamSys :: !(Maybe System)

#### Instances

Instances details

NamesIn ExtLamInfo Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> ExtLamInfo -> m Source #
KillRange ExtLamInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT ExtLamInfo Source #
InstantiateFull ExtLamInfo Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: ExtLamInfo -> ReduceM ExtLamInfo Source #
EmbPrj ExtLamInfo Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: ExtLamInfo -> S Word32 Source # icod_ :: ExtLamInfo -> S Word32 Source # value :: Word32 -> R ExtLamInfo Source #
Apply ExtLamInfo Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: ExtLamInfo -> Args -> ExtLamInfo Source # applyE :: ExtLamInfo -> Elims -> ExtLamInfo Source #
NFData ExtLamInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ExtLamInfo -> () Source #
Generic ExtLamInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ExtLamInfo |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ExtLamInfo = D1 ('MetaData "ExtLamInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: ExtLamInfo -> Rep ExtLamInfo x Source #

to :: Rep ExtLamInfo x -> ExtLamInfo Source #

Show ExtLamInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ExtLamInfo -> ShowS Source # show :: ExtLamInfo -> String Source # showList :: [ExtLamInfo] -> ShowS Source #
type Rep ExtLamInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ExtLamInfo = D1 ('MetaData "ExtLamInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

modifySystem :: (System -> System) -> ExtLamInfo -> ExtLamInfo Source #

data Projection Source #

Additional information for projection `Function`s.

Constructors

Projection |

Fields

- projProper :: Maybe QName

  `Nothing` if only projection-like, `Just r` if record projection. The `r` is the name of the record type projected from. This field is updated by module application.

- projOrig :: QName

  The original projection name (current name could be from module application).

- projFromType :: Arg QName

  Type projected from. Original record type if `projProper = Just{}`. Also stores `ArgInfo` of the principal argument. This field is unchanged by module application.

- projIndex :: Int

  Index 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`, or `funProjection == Left _`.

- projLams :: ProjLams

  Term `t` to 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`.

#### Instances

Instances details

Pretty Projection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Projection -> Doc Source # prettyPrec :: Int -> Projection -> Doc Source # prettyList :: [Projection] -> Doc Source #
KillRange Projection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT Projection Source #
EmbPrj Projection Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Projection -> S Word32 Source # icod_ :: Projection -> S Word32 Source # value :: Word32 -> R Projection Source #
Abstract Projection Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> Projection -> Projection Source #
Apply Projection Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: Projection -> Args -> Projection Source # applyE :: Projection -> Elims -> Projection Source #
NFData Projection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Projection -> () Source #
Generic Projection Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Projection |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Projection = D1 ('MetaData "Projection" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: Projection -> Rep Projection x Source #

to :: Rep Projection x -> Projection Source #

Show Projection Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Projection -> ShowS Source # show :: Projection -> String Source # showList :: [Projection] -> ShowS Source #
type Rep Projection Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep Projection = D1 ('MetaData "Projection" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

newtype ProjLams Source #

Abstractions to build projection function (dropping parameters).

Constructors

ProjLams |

Fields

- getProjLams :: [Arg ArgName]

#### Instances

Instances details

Pretty ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: ProjLams -> Doc Source # prettyPrec :: Int -> ProjLams -> Doc Source # prettyList :: [ProjLams] -> Doc Source #
KillRange ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT ProjLams Source #
EmbPrj ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: ProjLams -> S Word32 Source # icod_ :: ProjLams -> S Word32 Source # value :: Word32 -> R ProjLams Source #
Abstract ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> ProjLams -> ProjLams Source #
Apply ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: ProjLams -> Args -> ProjLams Source # applyE :: ProjLams -> Elims -> ProjLams Source #
Null ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: ProjLams Source # null :: ProjLams -> Bool Source #
NFData ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ProjLams -> () Source #
Generic ProjLams Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ProjLams |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ProjLams = D1 ('MetaData "ProjLams" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "ProjLams" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProjLams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg ArgName])))

Methods

from :: ProjLams -> Rep ProjLams x Source #

to :: Rep ProjLams x -> ProjLams Source #

Show ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ProjLams -> ShowS Source # show :: ProjLams -> String Source # showList :: [ProjLams] -> ShowS Source #
type Rep ProjLams Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ProjLams = D1 ('MetaData "ProjLams" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "ProjLams" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProjLams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg ArgName])))

projDropPars :: Projection -> ProjOrigin -> Term Source #

Building the projection function (which drops the parameters).

projArgInfo :: Projection -> ArgInfo Source #

The info of the principal (record) argument.

data EtaEquality Source #

Should a record type admit eta-equality?

Constructors

Specified | User specifed 'eta-equality' or 'no-eta-equality'.

Fields

- theEtaEquality :: !HasEta

Inferred | Positivity checker inferred whether eta is safe.

Fields

- theEtaEquality :: !HasEta

#### Instances

Instances details

CopatternMatchingAllowed EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods copatternMatchingAllowed :: EtaEquality -> Bool Source #
PatternMatchingAllowed EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternMatchingAllowed :: EtaEquality -> Bool Source #
KillRange EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT EtaEquality Source #
EmbPrj EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: EtaEquality -> S Word32 Source # icod_ :: EtaEquality -> S Word32 Source # value :: Word32 -> R EtaEquality Source #
NFData EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: EtaEquality -> () Source #
Generic EtaEquality Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep EtaEquality |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep EtaEquality = D1 ('MetaData "EtaEquality" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

Methods

from :: EtaEquality -> Rep EtaEquality x Source #

to :: Rep EtaEquality x -> EtaEquality Source #

Show EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> EtaEquality -> ShowS Source # show :: EtaEquality -> String Source # showList :: [EtaEquality] -> ShowS Source #
Eq EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: EtaEquality -> EtaEquality -> Bool Source # (/=) :: EtaEquality -> EtaEquality -> Bool Source #
type Rep EtaEquality Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep EtaEquality = D1 ('MetaData "EtaEquality" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

setEtaEquality :: EtaEquality -> HasEta -> EtaEquality Source #

Make sure we do not overwrite a user specification.

data FunctionFlag Source #

Constructors

FunStatic | Should calls to this function be normalised at compile-time?
FunInline | Should calls to this function be inlined by the compiler?
FunMacro | Is this function a macro?
FunFirstOrder | Is this function `INJECTIVE_FOR_INFERENCE`? Indicates whether the first-order shortcut should be applied to the definition.
FunErasure | Was `--erasure` in effect when the function was defined? (This can affect the type of a projection.)
FunAbstract | Is the function abstract?
FunProj | Is this function a descendant of a field (typically, a projection)?

#### Instances

Instances details

KillRange FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT FunctionFlag Source #
EmbPrj FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: FunctionFlag -> S Word32 Source # icod_ :: FunctionFlag -> S Word32 Source # value :: Word32 -> R FunctionFlag Source #
SmallSetElement FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base
NFData FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: FunctionFlag -> () Source #
Bounded FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods minBound :: FunctionFlag Source # maxBound :: FunctionFlag Source #
Enum FunctionFlag Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: FunctionFlag -> FunctionFlag Source #

pred :: FunctionFlag -> FunctionFlag Source #

toEnum :: Int -> FunctionFlag Source #

fromEnum :: FunctionFlag -> Int Source #

enumFrom :: FunctionFlag -> [FunctionFlag] Source #

enumFromThen :: FunctionFlag -> FunctionFlag -> [FunctionFlag] Source #

enumFromTo :: FunctionFlag -> FunctionFlag -> [FunctionFlag] Source #

enumFromThenTo :: FunctionFlag -> FunctionFlag -> FunctionFlag -> [FunctionFlag] Source #

Generic FunctionFlag Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep FunctionFlag |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep FunctionFlag = D1 ('MetaData "FunctionFlag" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "FunStatic" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FunInline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunMacro" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "FunFirstOrder" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunErasure" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FunAbstract" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunProj" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: FunctionFlag -> Rep FunctionFlag x Source #

to :: Rep FunctionFlag x -> FunctionFlag Source #

Ix FunctionFlag Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

range :: (FunctionFlag, FunctionFlag) -> [FunctionFlag] Source #

index :: (FunctionFlag, FunctionFlag) -> FunctionFlag -> Int Source #

unsafeIndex :: (FunctionFlag, FunctionFlag) -> FunctionFlag -> Int Source #

inRange :: (FunctionFlag, FunctionFlag) -> FunctionFlag -> Bool Source #

rangeSize :: (FunctionFlag, FunctionFlag) -> Int Source #

unsafeRangeSize :: (FunctionFlag, FunctionFlag) -> Int Source #

Show FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> FunctionFlag -> ShowS Source # show :: FunctionFlag -> String Source # showList :: [FunctionFlag] -> ShowS Source #
Eq FunctionFlag Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: FunctionFlag -> FunctionFlag -> Bool Source # (/=) :: FunctionFlag -> FunctionFlag -> Bool Source #
Ord FunctionFlag Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: FunctionFlag -> FunctionFlag -> Ordering Source #

(<) :: FunctionFlag -> FunctionFlag -> Bool Source #

(<=) :: FunctionFlag -> FunctionFlag -> Bool Source #

(>) :: FunctionFlag -> FunctionFlag -> Bool Source #

(>=) :: FunctionFlag -> FunctionFlag -> Bool Source #

max :: FunctionFlag -> FunctionFlag -> FunctionFlag Source #

min :: FunctionFlag -> FunctionFlag -> FunctionFlag Source #

KillRange (SmallSet FunctionFlag) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (SmallSet FunctionFlag) Source #
type Rep FunctionFlag Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep FunctionFlag = D1 ('MetaData "FunctionFlag" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "FunStatic" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FunInline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunMacro" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "FunFirstOrder" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunErasure" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FunAbstract" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunProj" 'PrefixI 'False) (U1 :: Type -> Type))))

data CompKit Source #

Constructors

CompKit |

Fields

- nameOfHComp :: Maybe QName
- nameOfTransp :: Maybe QName

#### Instances

Instances details

NamesIn CompKit Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> CompKit -> m Source #
KillRange CompKit Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT CompKit Source #
EmbPrj CompKit Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: CompKit -> S Word32 Source # icod_ :: CompKit -> S Word32 Source # value :: Word32 -> R CompKit Source #
NFData CompKit Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CompKit -> () Source #
Generic CompKit Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep CompKit |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CompKit = D1 ('MetaData "CompKit" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: CompKit -> Rep CompKit x Source #

to :: Rep CompKit x -> CompKit Source #

Show CompKit Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompKit -> ShowS Source # show :: CompKit -> String Source # showList :: [CompKit] -> ShowS Source #
Eq CompKit Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CompKit -> CompKit -> Bool Source # (/=) :: CompKit -> CompKit -> Bool Source #
Ord CompKit Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods compare :: CompKit -> CompKit -> Ordering Source # (<) :: CompKit -> CompKit -> Bool Source # (<=) :: CompKit -> CompKit -> Bool Source # (>) :: CompKit -> CompKit -> Bool Source # (>=) :: CompKit -> CompKit -> Bool Source # max :: CompKit -> CompKit -> CompKit Source # min :: CompKit -> CompKit -> CompKit Source #
type Rep CompKit Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CompKit = D1 ('MetaData "CompKit" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

emptyCompKit :: CompKit Source #

defaultAxiom :: Defn Source #

constTranspAxiom :: Defn Source #

data AxiomData Source #

Constructors

AxiomData |

Fields

- _axiomConstTransp :: Bool

  Can transp for this postulate be constant? Set to `True` for bultins like String.

#### Instances

Instances details

NFData AxiomData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: AxiomData -> () Source #
Generic AxiomData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep AxiomData |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep AxiomData = D1 ('MetaData "AxiomData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AxiomData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_axiomConstTransp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: AxiomData -> Rep AxiomData x Source #

to :: Rep AxiomData x -> AxiomData Source #

Show AxiomData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> AxiomData -> ShowS Source # show :: AxiomData -> String Source # showList :: [AxiomData] -> ShowS Source #
type Rep AxiomData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep AxiomData = D1 ('MetaData "AxiomData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AxiomData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_axiomConstTransp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data DataOrRecSigData Source #

Constructors

DataOrRecSigData |

Fields

- _datarecPars :: Int

#### Instances

Instances details

Pretty DataOrRecSigData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: DataOrRecSigData -> Doc Source # prettyPrec :: Int -> DataOrRecSigData -> Doc Source # prettyList :: [DataOrRecSigData] -> Doc Source #
NFData DataOrRecSigData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DataOrRecSigData -> () Source #
Generic DataOrRecSigData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep DataOrRecSigData |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep DataOrRecSigData = D1 ('MetaData "DataOrRecSigData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DataOrRecSigData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_datarecPars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from :: DataOrRecSigData -> Rep DataOrRecSigData x Source #

to :: Rep DataOrRecSigData x -> DataOrRecSigData Source #

Show DataOrRecSigData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DataOrRecSigData -> ShowS Source # show :: DataOrRecSigData -> String Source # showList :: [DataOrRecSigData] -> ShowS Source #
type Rep DataOrRecSigData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep DataOrRecSigData = D1 ('MetaData "DataOrRecSigData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DataOrRecSigData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_datarecPars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data FunctionData Source #

Constructors

FunctionData |

Fields

- _funClauses :: [Clause]
- _funCompiled :: Maybe CompiledClauses

  `Nothing` while function is still type-checked. `Just cc` after type and coverage checking and translation to case trees.

- _funSplitTree :: Maybe SplitTree

  The split tree constructed by the coverage checker. Needed to re-compile the clauses after forcing translation.

- _funTreeless :: Maybe Compiled

  Intermediate 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, `data`s and `record`s. Does include this function. Empty list if not recursive. `Nothing` if not yet computed (by positivity checker).

- _funProjection :: Either ProjectionLikenessMissing Projection

  Is 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 FunctionFlag

  Various boolean flags pertaining to the function definition, see `FunctionFlag`.

- _funTerminates :: Maybe Bool

  Has this function been termination checked? Did it pass?

- _funExtLam :: Maybe ExtLamInfo

  Is this function generated from an extended lambda? If yes, then return the number of hidden and non-hidden lambda-lifted arguments.

- _funWith :: Maybe QName

  Is this a generated with-function? If yes, then what's the name of the parent function?

- _funIsKanOp :: Maybe QName

  Is this a helper for one of the Kan operations (transp, hcomp) on data types/records? If so, for which data type?

- _funOpaque :: IsOpaque

  Is this function opaque? If so, and we're not in an opaque block that includes this function('s name), it will be treated abstractly.

#### Instances

Instances details

Pretty FunctionData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: FunctionData -> Doc Source # prettyPrec :: Int -> FunctionData -> Doc Source # prettyList :: [FunctionData] -> Doc Source #
NFData FunctionData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: FunctionData -> () Source #
Generic FunctionData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep FunctionData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep FunctionData = D1 ('MetaData "FunctionData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

Methods

from :: FunctionData -> Rep FunctionData x Source #

to :: Rep FunctionData x -> FunctionData Source #

Show FunctionData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> FunctionData -> ShowS Source # show :: FunctionData -> String Source # showList :: [FunctionData] -> ShowS Source #
type Rep FunctionData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep FunctionData = D1 ('MetaData "FunctionData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

data DatatypeData Source #

Constructors

DatatypeData |

Fields

- _dataPars :: Nat

  Number of parameters.

- _dataIxs :: Nat

  Number of indices.

- _dataClause :: Maybe Clause

  This 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, `data`s and `record`s. Does include this data type. Empty if not recursive. `Nothing` if not yet computed (by positivity checker).

- _dataAbstr :: IsAbstract
- _dataPathCons :: [QName]

  Path constructor names (subset of `dataCons`).

- _dataTranspIx :: Maybe QName

  If indexed datatype, name of the "index transport" function.

- _dataTransp :: Maybe QName

  Transport function, should be available for all datatypes in supported sorts.

#### Instances

Instances details

Pretty DatatypeData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: DatatypeData -> Doc Source # prettyPrec :: Int -> DatatypeData -> Doc Source # prettyList :: [DatatypeData] -> Doc Source #
NFData DatatypeData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DatatypeData -> () Source #
Generic DatatypeData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep DatatypeData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DatatypeData = D1 ('MetaData "DatatypeData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))))

Methods

from :: DatatypeData -> Rep DatatypeData x Source #

to :: Rep DatatypeData x -> DatatypeData Source #

Show DatatypeData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DatatypeData -> ShowS Source # show :: DatatypeData -> String Source # showList :: [DatatypeData] -> ShowS Source #
type Rep DatatypeData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep DatatypeData = D1 ('MetaData "DatatypeData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))))

data RecordData Source #

Constructors

RecordData |

Fields

- _recPars :: Nat

  Number of parameters.

- _recClause :: Maybe Clause

  Was this record type created by a module application? If yes, the clause is its definition (linking back to the original record type).

- _recConHead :: ConHead

  Constructor name and fields.

- _recNamedCon :: Bool

  Does this record have a `constructor`?

- _recFields :: [Dom QName]

  The record field names.

- _recTel :: Telescope

  The record field telescope. (Includes record parameters.) Note: `TelV recTel _ == telView' recConType`. Thus, `recTel` is redundant.

- _recMutual :: Maybe [QName]

  Mutually recursive functions, `data`s and `record`s. Does include this record. Empty if not recursive. `Nothing` if not yet computed (by positivity checker).

- _recEtaEquality' :: EtaEquality

  Eta-expand at this record type? `False` for unguarded recursive records and coinductive records unless the user specifies otherwise.

- _recPatternMatching :: PatternOrCopattern

  In 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 Induction

  `Inductive` 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

#### Instances

Instances details

Pretty RecordData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: RecordData -> Doc Source # prettyPrec :: Int -> RecordData -> Doc Source # prettyList :: [RecordData] -> Doc Source #
NFData RecordData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RecordData -> () Source #
Generic RecordData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep RecordData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep RecordData = D1 ('MetaData "RecordData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

Methods

from :: RecordData -> Rep RecordData x Source #

to :: Rep RecordData x -> RecordData Source #

Show RecordData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> RecordData -> ShowS Source # show :: RecordData -> String Source # showList :: [RecordData] -> ShowS Source #
type Rep RecordData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep RecordData = D1 ('MetaData "RecordData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

data ConstructorData Source #

Constructors

ConstructorData |

Fields

- _conPars :: Int

  Number of parameters.

- _conArity :: Int

  Number of arguments (excluding parameters).

- _conSrcCon :: ConHead

  Name of (original) constructor and fields. (This might be in a module instance.)

- _conData :: QName

  Name of datatype or record type.

- _conAbstr :: IsAbstract
- _conComp :: CompKit

  Cubical 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]

  Which arguments are erased at runtime (computed during compilation to treeless)? `True` means erased, `False` means retained. `Nothing` if no erasure analysis has been performed yet. The length of the list is `conArity`.

- _conErasure :: !Bool

  Was `--erasure` in effect when the constructor was defined? (This can affect the constructor's type.)

- _conInline :: !Bool

  Shall we translate the constructor on the root of the rhs into copattern matching on the lhs? Activated by INLINE pragma.

#### Instances

Instances details

Pretty ConstructorData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: ConstructorData -> Doc Source # prettyPrec :: Int -> ConstructorData -> Doc Source # prettyList :: [ConstructorData] -> Doc Source #
NFData ConstructorData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ConstructorData -> () Source #
Generic ConstructorData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ConstructorData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ConstructorData = D1 ('MetaData "ConstructorData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

Methods

from :: ConstructorData -> Rep ConstructorData x Source #

to :: Rep ConstructorData x -> ConstructorData Source #

Show ConstructorData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ConstructorData -> ShowS Source # show :: ConstructorData -> String Source # showList :: [ConstructorData] -> ShowS Source #
type Rep ConstructorData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ConstructorData = D1 ('MetaData "ConstructorData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))))

data PrimitiveData Source #

Constructors

PrimitiveData |

Fields

- _primAbstr :: IsAbstract
- _primName :: PrimitiveId
- _primClauses :: [Clause]

  `null` for primitive functions, `not null` for builtin functions.

- _primInv :: FunctionInverse

  Builtin functions can have inverses. For instance, natural number addition.

- _primCompiled :: Maybe CompiledClauses

  `Nothing` for primitive functions, ``Just` something` for builtin functions.

- _primOpaque :: IsOpaque

  Primitives can also live in opaque blocks.

#### Instances

Instances details

Pretty PrimitiveData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: PrimitiveData -> Doc Source # prettyPrec :: Int -> PrimitiveData -> Doc Source # prettyList :: [PrimitiveData] -> Doc Source #
NFData PrimitiveData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PrimitiveData -> () Source #
Generic PrimitiveData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PrimitiveData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrimitiveData = D1 ('MetaData "PrimitiveData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

Methods

from :: PrimitiveData -> Rep PrimitiveData x Source #

to :: Rep PrimitiveData x -> PrimitiveData Source #

Show PrimitiveData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> PrimitiveData -> ShowS Source # show :: PrimitiveData -> String Source # showList :: [PrimitiveData] -> ShowS Source #
type Rep PrimitiveData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrimitiveData = D1 ('MetaData "PrimitiveData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))))

data PrimitiveSortData Source #

Constructors

PrimitiveSortData |

Fields

- _primSortName :: BuiltinSort
- _primSortSort :: Sort

#### Instances

Instances details

Pretty PrimitiveSortData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: PrimitiveSortData -> Doc Source # prettyPrec :: Int -> PrimitiveSortData -> Doc Source # prettyList :: [PrimitiveSortData] -> Doc Source #
NFData PrimitiveSortData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PrimitiveSortData -> () Source #
Generic PrimitiveSortData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep PrimitiveSortData |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrimitiveSortData = D1 ('MetaData "PrimitiveSortData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PrimitiveSortData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_primSortName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinSort) :*: S1 ('MetaSel ('Just "_primSortSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))

Methods

from :: PrimitiveSortData -> Rep PrimitiveSortData x Source #

to :: Rep PrimitiveSortData x -> PrimitiveSortData Source #

Show PrimitiveSortData Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> PrimitiveSortData -> ShowS Source # show :: PrimitiveSortData -> String Source # showList :: [PrimitiveSortData] -> ShowS Source #
type Rep PrimitiveSortData Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep PrimitiveSortData = D1 ('MetaData "PrimitiveSortData" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PrimitiveSortData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_primSortName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinSort) :*: S1 ('MetaSel ('Just "_primSortSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))

pattern DataOrRecSig :: Int -> Defn Source #

pattern PrimitiveSort :: BuiltinSort -> Sort -> Defn Source #

axiomConstTransp :: Defn -> Bool Source #

datarecPars :: Defn -> Int Source #

data ProjectionLikenessMissing Source #

Indicates the reason behind a function having not been marked projection-like.

Constructors

MaybeProjection | Projection-likeness analysis has not run on this function yet. It may do so in the future.
NeverProjection | The 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.

#### Instances

Instances details

Pretty ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: ProjectionLikenessMissing -> Doc Source # prettyPrec :: Int -> ProjectionLikenessMissing -> Doc Source # prettyList :: [ProjectionLikenessMissing] -> Doc Source #
KillRange ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT ProjectionLikenessMissing Source #
EmbPrj ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: ProjectionLikenessMissing -> S Word32 Source # icod_ :: ProjectionLikenessMissing -> S Word32 Source # value :: Word32 -> R ProjectionLikenessMissing Source #
NFData ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ProjectionLikenessMissing -> () Source #
Bounded ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods minBound :: ProjectionLikenessMissing Source # maxBound :: ProjectionLikenessMissing Source #
Enum ProjectionLikenessMissing Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: ProjectionLikenessMissing -> ProjectionLikenessMissing Source #

pred :: ProjectionLikenessMissing -> ProjectionLikenessMissing Source #

toEnum :: Int -> ProjectionLikenessMissing Source #

fromEnum :: ProjectionLikenessMissing -> Int Source #

enumFrom :: ProjectionLikenessMissing -> [ProjectionLikenessMissing] Source #

enumFromThen :: ProjectionLikenessMissing -> ProjectionLikenessMissing -> [ProjectionLikenessMissing] Source #

enumFromTo :: ProjectionLikenessMissing -> ProjectionLikenessMissing -> [ProjectionLikenessMissing] Source #

enumFromThenTo :: ProjectionLikenessMissing -> ProjectionLikenessMissing -> ProjectionLikenessMissing -> [ProjectionLikenessMissing] Source #

Generic ProjectionLikenessMissing Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ProjectionLikenessMissing |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ProjectionLikenessMissing = D1 ('MetaData "ProjectionLikenessMissing" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MaybeProjection" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeverProjection" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ProjectionLikenessMissing -> Rep ProjectionLikenessMissing x Source #

to :: Rep ProjectionLikenessMissing x -> ProjectionLikenessMissing Source #

Show ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ProjectionLikenessMissing -> ShowS Source # show :: ProjectionLikenessMissing -> String Source # showList :: [ProjectionLikenessMissing] -> ShowS Source #
type Rep ProjectionLikenessMissing Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep ProjectionLikenessMissing = D1 ('MetaData "ProjectionLikenessMissing" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MaybeProjection" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeverProjection" 'PrefixI 'False) (U1 :: Type -> Type))

type FunctionInverse = FunctionInverse' Clause Source #

funClauses :: Defn -> [Clause] Source #

funCompiled :: Defn -> Maybe CompiledClauses Source #

funSplitTree :: Defn -> Maybe SplitTree Source #

funTreeless :: Defn -> Maybe Compiled Source #

funCovering :: Defn -> [Clause] Source #

funInv :: Defn -> FunctionInverse Source #

funMutual :: Defn -> Maybe [QName] Source #

funProjection :: Defn -> Either ProjectionLikenessMissing Projection Source #

funFlags :: Defn -> SmallSet FunctionFlag Source #

funTerminates :: Defn -> Maybe Bool Source #

funExtLam :: Defn -> Maybe ExtLamInfo Source #

funWith :: Defn -> Maybe QName Source #

funIsKanOp :: Defn -> Maybe QName Source #

funOpaque :: Defn -> IsOpaque Source #

dataPars :: Defn -> Nat Source #

dataIxs :: Defn -> Nat Source #

dataClause :: Defn -> Maybe Clause Source #

dataCons :: Defn -> [QName] Source #

dataSort :: Defn -> Sort Source #

dataMutual :: Defn -> Maybe [QName] Source #

dataAbstr :: Defn -> IsAbstract Source #

dataPathCons :: Defn -> [QName] Source #

dataTranspIx :: Defn -> Maybe QName Source #

dataTransp :: Defn -> Maybe QName Source #

recPars :: Defn -> Nat Source #

recClause :: Defn -> Maybe Clause Source #

recConHead :: Defn -> ConHead Source #

recNamedCon :: Defn -> Bool Source #

recFields :: Defn -> [Dom QName] Source #

recTel :: Defn -> Telescope Source #

recMutual :: Defn -> Maybe [QName] Source #

recEtaEquality' :: Defn -> EtaEquality Source #

recPatternMatching :: Defn -> PatternOrCopattern Source #

recInduction :: Defn -> Maybe Induction Source #

recTerminates :: Defn -> Maybe Bool Source #

recAbstr :: Defn -> IsAbstract Source #

recComp :: Defn -> CompKit Source #

conPars :: Defn -> Int Source #

conArity :: Defn -> Int Source #

conSrcCon :: Defn -> ConHead Source #

conData :: Defn -> QName Source #

conAbstr :: Defn -> IsAbstract Source #

conComp :: Defn -> CompKit Source #

conProj :: Defn -> Maybe [QName] Source #

conForced :: Defn -> [IsForced] Source #

conErased :: Defn -> Maybe [Bool] Source #

conErasure :: Defn -> Bool Source #

conInline :: Defn -> Bool Source #

primAbstr :: Defn -> IsAbstract Source #

primName :: Defn -> PrimitiveId Source #

primClauses :: Defn -> [Clause] Source #

primInv :: Defn -> FunctionInverse Source #

primCompiled :: Defn -> Maybe CompiledClauses Source #

primOpaque :: Defn -> IsOpaque Source #

data BuiltinSort Source #

Constructors

SortUniv Univ |
SortOmega Univ |
SortIntervalUniv |
SortLevelUniv |

#### Instances

Instances details

KillRange BuiltinSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT BuiltinSort Source #
EmbPrj BuiltinSort Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: BuiltinSort -> S Word32 Source # icod_ :: BuiltinSort -> S Word32 Source # value :: Word32 -> R BuiltinSort Source #
NFData BuiltinSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: BuiltinSort -> () Source #
Generic BuiltinSort Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep BuiltinSort |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep BuiltinSort = D1 ('MetaData "BuiltinSort" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "SortUniv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ)) :+: C1 ('MetaCons "SortOmega" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ))) :+: (C1 ('MetaCons "SortIntervalUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SortLevelUniv" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: BuiltinSort -> Rep BuiltinSort x Source #

to :: Rep BuiltinSort x -> BuiltinSort Source #

Show BuiltinSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> BuiltinSort -> ShowS Source # show :: BuiltinSort -> String Source # showList :: [BuiltinSort] -> ShowS Source #
Eq BuiltinSort Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: BuiltinSort -> BuiltinSort -> Bool Source # (/=) :: BuiltinSort -> BuiltinSort -> Bool Source #
type Rep BuiltinSort Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep BuiltinSort = D1 ('MetaData "BuiltinSort" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "SortUniv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ)) :+: C1 ('MetaCons "SortOmega" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Univ))) :+: (C1 ('MetaCons "SortIntervalUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SortLevelUniv" 'PrefixI 'False) (U1 :: Type -> Type)))

data BuiltinDescriptor Source #

Constructors

BuiltinData (TCM Type) [BuiltinId] |
BuiltinDataCons (TCM Type) |
BuiltinPrim PrimitiveId (Term -> TCM ()) |
BuiltinSort BuiltinSort |
BuiltinPostulate 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.

primSortName :: Defn -> BuiltinSort Source #

primSortSort :: Defn -> Sort Source #

lensFunction :: Lens' Defn FunctionData Source #

lensConstructor :: Lens' Defn ConstructorData Source #

lensRecord :: Lens' Defn RecordData Source #

lensRecTel :: Lens' RecordData Telescope Source #

lensRecEta :: Lens' RecordData EtaEquality Source #

data FunctionInverse' c Source #

Constructors

NotInjective |
Inverse (InversionMap c) |

#### Instances

Instances details

DropArgs FunctionInverse Source # |
Instance details Defined in Agda.TypeChecking.DropArgs Methods dropArgs :: Int -> FunctionInverse -> FunctionInverse Source #
InstantiateFull FunctionInverse Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: FunctionInverse -> ReduceM FunctionInverse Source #
Abstract FunctionInverse Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> FunctionInverse -> FunctionInverse Source #
Apply FunctionInverse Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: FunctionInverse -> Args -> FunctionInverse Source # applyE :: FunctionInverse -> Elims -> FunctionInverse Source #
Functor FunctionInverse' Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> FunctionInverse' a -> FunctionInverse' b Source # (<$) :: a -> FunctionInverse' b -> FunctionInverse' a Source #
Pretty c => Pretty (FunctionInverse' c) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: FunctionInverse' c -> Doc Source # prettyPrec :: Int -> FunctionInverse' c -> Doc Source # prettyList :: [FunctionInverse' c] -> Doc Source #
NamesIn a => NamesIn (FunctionInverse' a) Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> FunctionInverse' a -> m Source #
KillRange c => KillRange (FunctionInverse' c) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (FunctionInverse' c) Source #
EmbPrj a => EmbPrj (FunctionInverse' a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: FunctionInverse' a -> S Word32 Source # icod_ :: FunctionInverse' a -> S Word32 Source # value :: Word32 -> R (FunctionInverse' a) Source #
NFData c => NFData (FunctionInverse' c) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: FunctionInverse' c -> () Source #
Generic (FunctionInverse' c) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep (FunctionInverse' c) |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (FunctionInverse' c) = D1 ('MetaData "FunctionInverse'" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "NotInjective" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inverse" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InversionMap c))))

Methods

from :: FunctionInverse' c -> Rep (FunctionInverse' c) x Source #

to :: Rep (FunctionInverse' c) x -> FunctionInverse' c Source #

Show c => Show (FunctionInverse' c) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> FunctionInverse' c -> ShowS Source # show :: FunctionInverse' c -> String Source # showList :: [FunctionInverse' c] -> ShowS Source #
type Rep (FunctionInverse' c) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep (FunctionInverse' c) = D1 ('MetaData "FunctionInverse'" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "NotInjective" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inverse" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InversionMap c))))

recRecursive :: Defn -> Bool Source #

Is the record type recursive?

recRecursive_ :: RecordData -> Bool Source #

recEtaEquality :: Defn -> HasEta Source #

_recEtaEquality :: RecordData -> HasEta Source #

emptyFunctionData :: HasOptions m => m FunctionData Source #

A template for creating `Function` definitions, with sensible defaults.

emptyFunctionData_ :: Bool -> FunctionData Source #

emptyFunction :: HasOptions m => m Defn Source #

emptyFunction_ :: Bool -> Defn Source #

funFlag_ :: FunctionFlag -> Lens' FunctionData Bool Source #

funFlag :: FunctionFlag -> Lens' Defn Bool Source #

funStatic :: Lens' Defn Bool Source #

funInline :: Lens' Defn Bool Source #

funMacro :: Lens' Defn Bool Source #

funMacro_ :: Lens' FunctionData Bool Source #

funFirstOrder :: Lens' Defn Bool Source #

Toggle the `FunFirstOrder` flag.

funErasure :: Lens' Defn Bool Source #

Toggle the `FunErasure` flag.

funAbstract :: Lens' Defn Bool Source #

Toggle the `FunAbstract` flag.

funAbstr :: Lens' Defn IsAbstract Source #

Toggle the `FunAbstract` flag.

funAbstract_ :: Lens' FunctionData Bool Source #

Toggle the `FunAbstract` flag.

funAbstr_ :: Lens' FunctionData IsAbstract Source #

Toggle the `FunAbstract` flag.

funProj :: Lens' Defn Bool Source #

Toggle the `FunProj` flag.

funProj_ :: Lens' FunctionData Bool Source #

Toggle the `FunProj` flag.

isMacro :: Defn -> Bool Source #

isEmptyFunction :: Defn -> Bool Source #

Checking whether we are dealing with a function yet to be defined.

isExtendedLambda :: Defn -> Bool Source #

isWithFunction :: Defn -> Bool Source #

isCopatternLHS :: [Clause] -> Bool Source #

recCon :: Defn -> QName Source #

defIsRecord :: Defn -> Bool Source #

defIsDataOrRecord :: Defn -> Bool Source #

defConstructors :: Defn -> [QName] Source #

data Simplification Source #

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?

Constructors

YesSimplification |
NoSimplification |

#### Instances

Instances details

Null Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: Simplification Source # null :: Simplification -> Bool Source #
NFData Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Simplification -> () Source #
Monoid Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods mempty :: Simplification Source # mappend :: Simplification -> Simplification -> Simplification Source # mconcat :: [Simplification] -> Simplification Source #
Semigroup Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (<>) :: Simplification -> Simplification -> Simplification Source # sconcat :: NonEmpty Simplification -> Simplification Source # stimes :: Integral b => b -> Simplification -> Simplification Source #
Generic Simplification Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep Simplification |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep Simplification = D1 ('MetaData "Simplification" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesSimplification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoSimplification" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Simplification -> Rep Simplification x Source #

to :: Rep Simplification x -> Simplification Source #

Show Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Simplification -> ShowS Source # show :: Simplification -> String Source # showList :: [Simplification] -> ShowS Source #
Eq Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: Simplification -> Simplification -> Bool Source # (/=) :: Simplification -> Simplification -> Bool Source #
type Rep Simplification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep Simplification = D1 ('MetaData "Simplification" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesSimplification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoSimplification" 'PrefixI 'False) (U1 :: Type -> Type))

redReturn :: a -> ReduceM (Reduced a' a) Source #

redBind :: ReduceM (Reduced a a') -> (a -> ReduceM b) -> (a' -> ReduceM (Reduced b b')) -> ReduceM (Reduced b b') Source #

Conceptually: `redBind m f k = either (return . Left . f) k =<< m`

data MaybeReduced a Source #

Constructors

MaybeRed |

Fields

- isReduced :: IsReduced
- ignoreReduced :: a

#### Instances

Instances details

Functor MaybeReduced Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> MaybeReduced a -> MaybeReduced b Source # (<$) :: a -> MaybeReduced b -> MaybeReduced a Source #
IsProjElim e => IsProjElim (MaybeReduced e) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods isProjElim :: MaybeReduced e -> Maybe (ProjOrigin, QName) Source #
PrettyTCM a => PrettyTCM (MaybeReduced a) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => MaybeReduced a -> m Doc Source #

type MaybeReducedArgs = [MaybeReduced (Arg Term)] Source #

type MaybeReducedElims = [MaybeReduced Elim] Source #

notReduced :: a -> MaybeReduced a Source #

reduced :: Blocked (Arg Term) -> MaybeReduced (Arg Term) Source #

data AllowedReduction Source #

Controlling `reduce`.

Constructors

ProjectionReductions | (Projection and) projection-like functions may be reduced.
InlineReductions | Functions marked INLINE may be reduced.
CopatternReductions | Copattern definitions may be reduced.
FunctionReductions | Non-recursive functions and primitives may be reduced.
RecursiveReductions | Even recursive functions may be reduced.
LevelReductions | Reduce ``Level`` terms.
TypeLevelReductions | Allow `allReductions` in types, even if not allowed at term level (used by confluence checker)
UnconfirmedReductions | Functions whose termination has not (yet) been confirmed.
NonTerminatingReductions | Functions that have failed termination checking.

#### Instances

Instances details

SmallSetElement AllowedReduction Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base
NFData AllowedReduction Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: AllowedReduction -> () Source #
Bounded AllowedReduction Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods minBound :: AllowedReduction Source # maxBound :: AllowedReduction Source #
Enum AllowedReduction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

succ :: AllowedReduction -> AllowedReduction Source #

pred :: AllowedReduction -> AllowedReduction Source #

toEnum :: Int -> AllowedReduction Source #

fromEnum :: AllowedReduction -> Int Source #

enumFrom :: AllowedReduction -> [AllowedReduction] Source #

enumFromThen :: AllowedReduction -> AllowedReduction -> [AllowedReduction] Source #

enumFromTo :: AllowedReduction -> AllowedReduction -> [AllowedReduction] Source #

enumFromThenTo :: AllowedReduction -> AllowedReduction -> AllowedReduction -> [AllowedReduction] Source #

Generic AllowedReduction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep AllowedReduction |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep AllowedReduction = D1 ('MetaData "AllowedReduction" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "ProjectionReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InlineReductions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CopatternReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunctionReductions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RecursiveReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelReductions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeLevelReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnconfirmedReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonTerminatingReductions" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: AllowedReduction -> Rep AllowedReduction x Source #

to :: Rep AllowedReduction x -> AllowedReduction Source #

Ix AllowedReduction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

range :: (AllowedReduction, AllowedReduction) -> [AllowedReduction] Source #

index :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Int Source #

unsafeIndex :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Int Source #

inRange :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Bool Source #

rangeSize :: (AllowedReduction, AllowedReduction) -> Int Source #

unsafeRangeSize :: (AllowedReduction, AllowedReduction) -> Int Source #

Show AllowedReduction Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> AllowedReduction -> ShowS Source # show :: AllowedReduction -> String Source # showList :: [AllowedReduction] -> ShowS Source #
Eq AllowedReduction Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: AllowedReduction -> AllowedReduction -> Bool Source # (/=) :: AllowedReduction -> AllowedReduction -> Bool Source #
Ord AllowedReduction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

compare :: AllowedReduction -> AllowedReduction -> Ordering Source #

(<) :: AllowedReduction -> AllowedReduction -> Bool Source #

(<=) :: AllowedReduction -> AllowedReduction -> Bool Source #

(>) :: AllowedReduction -> AllowedReduction -> Bool Source #

(>=) :: AllowedReduction -> AllowedReduction -> Bool Source #

max :: AllowedReduction -> AllowedReduction -> AllowedReduction Source #

min :: AllowedReduction -> AllowedReduction -> AllowedReduction Source #

type Rep AllowedReduction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep AllowedReduction = D1 ('MetaData "AllowedReduction" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "ProjectionReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InlineReductions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CopatternReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunctionReductions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RecursiveReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LevelReductions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeLevelReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnconfirmedReductions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonTerminatingReductions" 'PrefixI 'False) (U1 :: Type -> Type)))))

type AllowedReductions = SmallSet AllowedReduction Source #

allReductions :: AllowedReductions Source #

Not quite all reductions (skip non-terminating reductions)

reallyAllReductions :: AllowedReductions Source #

data ReduceDefs Source #

Constructors

OnlyReduceDefs (Set QName) |
DontReduceDefs (Set QName) |

#### Instances

Instances details

NFData ReduceDefs Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ReduceDefs -> () Source #
Generic ReduceDefs Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ReduceDefs |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ReduceDefs = D1 ('MetaData "ReduceDefs" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OnlyReduceDefs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))) :+: C1 ('MetaCons "DontReduceDefs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))))

Methods

from :: ReduceDefs -> Rep ReduceDefs x Source #

to :: Rep ReduceDefs x -> ReduceDefs Source #

type Rep ReduceDefs Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ReduceDefs = D1 ('MetaData "ReduceDefs" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OnlyReduceDefs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))) :+: C1 ('MetaCons "DontReduceDefs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName))))

reduceAllDefs :: ReduceDefs Source #

locallyReduceDefs :: MonadTCEnv m => ReduceDefs -> m a -> m a Source #

locallyTC :: MonadTCEnv m => Lens' TCEnv a -> (a -> a) -> m b -> m b Source #

Modify the lens-indicated part of the `TCEnv` in a subcomputation.

eReduceDefs :: Lens' TCEnv ReduceDefs Source #

locallyReduceAllDefs :: MonadTCEnv m => m a -> m a Source #

shouldReduceDef :: MonadTCEnv m => QName -> m Bool Source #

asksTC :: MonadTCEnv m => (TCEnv -> a) -> m a Source #

toReduceDefs :: (Bool, [QName]) -> ReduceDefs Source #

fromReduceDefs :: ReduceDefs -> (Bool, [QName]) Source #

locallyReconstructed :: MonadTCEnv m => m a -> m a Source #

eReconstructed :: Lens' TCEnv Bool Source #

isReconstructed :: MonadTCEnv m => m Bool Source #

data PrimitiveImpl Source #

Primitives

Constructors

PrimImpl Type PrimFun |

primFun :: QName -> Arity -> ([Arg Term] -> ReduceM (Reduced MaybeReducedArgs Term)) -> PrimFun Source #

defClauses :: Definition -> [Clause] Source #

defCompiled :: Definition -> Maybe CompiledClauses Source #

defParameters :: Definition -> Maybe Nat Source #

defInverse :: Definition -> FunctionInverse Source #

defCompilerPragmas :: BackendName -> Definition -> [CompilerPragma] Source #

defNonterminating :: Definition -> Bool Source #

Has the definition failed the termination checker?

defTerminationUnconfirmed :: Definition -> Bool Source #

Has the definition not termination checked or did the check fail?

defForced :: Definition -> [IsForced] Source #

type InversionMap c = Map TermHead [c] Source #

data TermHead Source #

Constructors

SortHead |
PiHead |
ConsHead QName |
VarHead Nat |
UnknownHead |

#### Instances

Instances details

Pretty TermHead Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: TermHead -> Doc Source # prettyPrec :: Int -> TermHead -> Doc Source # prettyList :: [TermHead] -> Doc Source #
KillRange TermHead Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT TermHead Source #
EmbPrj TermHead Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: TermHead -> S Word32 Source # icod_ :: TermHead -> S Word32 Source # value :: Word32 -> R TermHead Source #
NFData TermHead Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TermHead -> () Source #
Generic TermHead Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TermHead |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TermHead = D1 ('MetaData "TermHead" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "SortHead" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PiHead" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ConsHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "VarHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat)) :+: C1 ('MetaCons "UnknownHead" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: TermHead -> Rep TermHead x Source #

to :: Rep TermHead x -> TermHead Source #

Show TermHead Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TermHead -> ShowS Source # show :: TermHead -> String Source # showList :: [TermHead] -> ShowS Source #
Eq TermHead Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: TermHead -> TermHead -> Bool Source # (/=) :: TermHead -> TermHead -> Bool Source #
Ord TermHead Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods compare :: TermHead -> TermHead -> Ordering Source # (<) :: TermHead -> TermHead -> Bool Source # (<=) :: TermHead -> TermHead -> Bool Source # (>) :: TermHead -> TermHead -> Bool Source # (>=) :: TermHead -> TermHead -> Bool Source # max :: TermHead -> TermHead -> TermHead Source # min :: TermHead -> TermHead -> TermHead Source #
type Rep TermHead Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TermHead = D1 ('MetaData "TermHead" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "SortHead" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PiHead" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ConsHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "VarHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat)) :+: C1 ('MetaCons "UnknownHead" 'PrefixI 'False) (U1 :: Type -> Type))))

data MutualBlock Source #

A mutual block of names in the signature.

Constructors

MutualBlock |

Fields

- mutualInfo :: MutualInfo

  The original info of the mutual block.

- mutualNames :: Set QName

#### Instances

Instances details

Null MutualBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods empty :: MutualBlock Source # null :: MutualBlock -> Bool Source #
NFData MutualBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MutualBlock -> () Source #
Generic MutualBlock Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep MutualBlock |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MutualBlock = D1 ('MetaData "MutualBlock" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: MutualBlock -> Rep MutualBlock x Source #

to :: Rep MutualBlock x -> MutualBlock Source #

Show MutualBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MutualBlock -> ShowS Source # show :: MutualBlock -> String Source # showList :: [MutualBlock] -> ShowS Source #
Eq MutualBlock Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: MutualBlock -> MutualBlock -> Bool Source # (/=) :: MutualBlock -> MutualBlock -> Bool Source #
type Rep MutualBlock Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MutualBlock = D1 ('MetaData "MutualBlock" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

itableCounts :: Lens' InstanceTable (Map QName Int) Source #

pattern SortProp :: BuiltinSort Source #

pattern SortSet :: BuiltinSort Source #

pattern SortStrictSet :: BuiltinSort Source #

pattern SortPropOmega :: BuiltinSort Source #

pattern SortSetOmega :: BuiltinSort Source #

pattern SortStrictSetOmega :: BuiltinSort Source #

data BuiltinInfo Source #

Constructors

BuiltinInfo |

Fields

- builtinName :: BuiltinId
- builtinDesc :: BuiltinDescriptor

ifTopLevelAndHighlightingLevelIsOr :: MonadTCEnv tcm => HighlightingLevel -> Bool -> tcm () -> tcm () Source #

`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 :: MonadTCEnv tcm => HighlightingLevel -> tcm () -> tcm () Source #

`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`.

type LetBindings = Map Name (Open LetBinding) Source #

data AbstractMode Source #

Constructors

AbstractMode | Abstract things in the current module can be accessed.
ConcreteMode | No abstract things can be accessed.
IgnoreAbstractMode | All abstract things can be accessed.

#### Instances

Instances details

NFData AbstractMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: AbstractMode -> () Source #
Generic AbstractMode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep AbstractMode |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep AbstractMode = D1 ('MetaData "AbstractMode" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AbstractMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ConcreteMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IgnoreAbstractMode" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: AbstractMode -> Rep AbstractMode x Source #

to :: Rep AbstractMode x -> AbstractMode Source #

Show AbstractMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> AbstractMode -> ShowS Source # show :: AbstractMode -> String Source # showList :: [AbstractMode] -> ShowS Source #
Eq AbstractMode Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (==) :: AbstractMode -> AbstractMode -> Bool Source # (/=) :: AbstractMode -> AbstractMode -> Bool Source #
type Rep AbstractMode Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep AbstractMode = D1 ('MetaData "AbstractMode" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AbstractMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ConcreteMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IgnoreAbstractMode" 'PrefixI 'False) (U1 :: Type -> Type)))

data UnquoteFlags Source #

Constructors

UnquoteFlags |

Fields

- _unquoteNormalise :: Bool

#### Instances

Instances details

NFData UnquoteFlags Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: UnquoteFlags -> () Source #
Generic UnquoteFlags Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep UnquoteFlags |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep UnquoteFlags = D1 ('MetaData "UnquoteFlags" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "UnquoteFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unquoteNormalise") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: UnquoteFlags -> Rep UnquoteFlags x Source #

to :: Rep UnquoteFlags x -> UnquoteFlags Source #

type Rep UnquoteFlags Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep UnquoteFlags = D1 ('MetaData "UnquoteFlags" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "UnquoteFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unquoteNormalise") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

initEnv :: TCEnv Source #

defaultUnquoteFlags :: UnquoteFlags Source #

unquoteNormalise :: Lens' UnquoteFlags Bool Source #

eUnquoteNormalise :: Lens' TCEnv Bool Source #

eUnquoteFlags :: Lens' TCEnv UnquoteFlags Source #

eContext :: Lens' TCEnv Context Source #

eLetBindings :: Lens' TCEnv LetBindings Source #

eCurrentModule :: Lens' TCEnv ModuleName Source #

eCurrentPath :: Lens' TCEnv (Maybe FileId) Source #

eAnonymousModules :: Lens' TCEnv [(ModuleName, Nat)] Source #

eImportPath :: Lens' TCEnv [TopLevelModuleName] Source #

eMutualBlock :: Lens' TCEnv (Maybe MutualId) Source #

eTerminationCheck :: Lens' TCEnv (TerminationCheck ()) Source #

eCoverageCheck :: Lens' TCEnv CoverageCheck Source #

eMakeCase :: Lens' TCEnv Bool Source #

eSolvingConstraints :: Lens' TCEnv Bool Source #

eCheckingWhere :: Lens' TCEnv WhereClause_ Source #

eWorkingOnTypes :: Lens' TCEnv Bool Source #

eAssignMetas :: Lens' TCEnv Bool Source #

eActiveProblems :: Lens' TCEnv (Set ProblemId) Source #

eAbstractMode :: Lens' TCEnv AbstractMode Source #

eRelevance :: Lens' TCEnv Relevance Source #

eQuantity :: Lens' TCEnv Quantity Source #

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__`.

eHardCompileTimeMode :: Lens' TCEnv Bool Source #

eSplitOnStrict :: Lens' TCEnv Bool Source #

eDisplayFormsEnabled :: Lens' TCEnv Bool Source #

eFoldLetBindings :: Lens' TCEnv Bool Source #

eRange :: Lens' TCEnv Range Source #

eHighlightingRange :: Lens' TCEnv Range Source #

eCall :: Lens' TCEnv (Maybe (Closure Call)) Source #

eHighlightingLevel :: Lens' TCEnv HighlightingLevel Source #

eHighlightingMethod :: Lens' TCEnv HighlightingMethod Source #

eExpandLast :: Lens' TCEnv ExpandHidden Source #

eExpandLastBool :: Lens' TCEnv Bool Source #

isExpandLast :: ExpandHidden -> Bool Source #

toExpandLast :: Bool -> ExpandHidden Source #

eAppDef :: Lens' TCEnv (Maybe QName) Source #

eSimplification :: Lens' TCEnv Simplification Source #

eAllowedReductions :: Lens' TCEnv AllowedReductions Source #

eReduceDefsPair :: Lens' TCEnv (Bool, [QName]) Source #

eInjectivityDepth :: Lens' TCEnv Int Source #

eCompareBlocked :: Lens' TCEnv Bool Source #

ePrintDomainFreePi :: Lens' TCEnv Bool Source #

ePrintMetasBare :: Lens' TCEnv Bool Source #

eInsideDotPattern :: Lens' TCEnv Bool Source #

eInstanceDepth :: Lens' TCEnv Int Source #

eIsDebugPrinting :: Lens' TCEnv Bool Source #

ePrintingPatternLambdas :: Lens' TCEnv [QName] Source #

eCallByNeed :: Lens' TCEnv Bool Source #

eCurrentCheckpoint :: Lens' TCEnv CheckpointId Source #

eCheckpoints :: Lens' TCEnv (Map CheckpointId Substitution) Source #

eGeneralizeMetas :: Lens' TCEnv DoGeneralize Source #

eGeneralizedVars :: Lens' TCEnv (Map QName GeneralizedValue) Source #

eActiveBackendName :: Lens' TCEnv (Maybe BackendName) Source #

eConflComputingOverlap :: Lens' TCEnv Bool Source #

eCurrentlyElaborating :: Lens' TCEnv Bool Source #

currentModality :: MonadTCEnv m => m Modality Source #

The current modality. Note that the returned cohesion component is always `unitCohesion`.

viewTC :: MonadTCEnv m => Lens' TCEnv a -> m a Source #

onLetBindingType :: (Dom Type -> Dom Type) -> LetBinding -> LetBinding Source #

isDontExpandLast :: ExpandHidden -> Bool Source #

data CandidateKind Source #

Constructors

LocalCandidate |
GlobalCandidate QName |

#### Instances

Instances details

NFData CandidateKind Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CandidateKind -> () Source #
Generic CandidateKind Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep CandidateKind |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CandidateKind = D1 ('MetaData "CandidateKind" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LocalCandidate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GlobalCandidate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))

Methods

from :: CandidateKind -> Rep CandidateKind x Source #

to :: Rep CandidateKind x -> CandidateKind Source #

Show CandidateKind Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CandidateKind -> ShowS Source # show :: CandidateKind -> String Source # showList :: [CandidateKind] -> ShowS Source #
Eq CandidateKind Source # |
Instance details Defined in Agda.TypeChecking.Substitute Methods (==) :: CandidateKind -> CandidateKind -> Bool Source # (/=) :: CandidateKind -> CandidateKind -> Bool Source #
Ord CandidateKind Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Methods

compare :: CandidateKind -> CandidateKind -> Ordering Source #

(<) :: CandidateKind -> CandidateKind -> Bool Source #

(<=) :: CandidateKind -> CandidateKind -> Bool Source #

(>) :: CandidateKind -> CandidateKind -> Bool Source #

(>=) :: CandidateKind -> CandidateKind -> Bool Source #

max :: CandidateKind -> CandidateKind -> CandidateKind Source #

min :: CandidateKind -> CandidateKind -> CandidateKind Source #

type Rep CandidateKind Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CandidateKind = D1 ('MetaData "CandidateKind" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LocalCandidate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GlobalCandidate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))

data CheckedArg Source #

Constructors

CheckedArg |

Fields

- caElim :: Elim

  Checked and inserted argument.

- caRange :: Maybe Range

  Range of checked argument, where present. E.g. inserted implicits have no correponding abstract syntax.

- caConstraint :: Maybe (Abs Constraint)

  Head constraint before applying the argument.

#### Instances

Instances details

Show CheckedArg Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CheckedArg -> ShowS Source # show :: CheckedArg -> String Source # showList :: [CheckedArg] -> ShowS Source #

data TerminationError Source #

Information about a mutual block which did not pass the termination checker.

Constructors

TerminationError |

Fields

- termErrFunctions :: [QName]

  The functions which failed to check. (May not include automatically generated functions.)

- termErrCalls :: [CallInfo]

  The problematic call sites.

- termErrGuardednessHelps :: GuardednessHelps

  Is the termination error resolved by activating `--guardedness`?

#### Instances

Instances details

NFData TerminationError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TerminationError -> () Source #
Generic TerminationError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep TerminationError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TerminationError = D1 ('MetaData "TerminationError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "TerminationError" 'PrefixI 'True) (S1 ('MetaSel ('Just "termErrFunctions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: (S1 ('MetaSel ('Just "termErrCalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CallInfo]) :*: S1 ('MetaSel ('Just "termErrGuardednessHelps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GuardednessHelps))))

Methods

from :: TerminationError -> Rep TerminationError x Source #

to :: Rep TerminationError x -> TerminationError Source #

Show TerminationError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TerminationError -> ShowS Source # show :: TerminationError -> String Source # showList :: [TerminationError] -> ShowS Source #
type Rep TerminationError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep TerminationError = D1 ('MetaData "TerminationError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "TerminationError" 'PrefixI 'True) (S1 ('MetaSel ('Just "termErrFunctions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: (S1 ('MetaSel ('Just "termErrCalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CallInfo]) :*: S1 ('MetaSel ('Just "termErrGuardednessHelps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GuardednessHelps))))

data IsAmbiguous Source #

Boolean flag whether a name is ambiguous.

Constructors

YesAmbiguous AmbiguousQName |
NotAmbiguous |

#### Instances

Instances details

EmbPrj IsAmbiguous Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: IsAmbiguous -> S Word32 Source # icod_ :: IsAmbiguous -> S Word32 Source # value :: Word32 -> R IsAmbiguous Source #
NFData IsAmbiguous Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IsAmbiguous -> () Source #
Generic IsAmbiguous Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep IsAmbiguous |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IsAmbiguous = D1 ('MetaData "IsAmbiguous" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesAmbiguous" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: C1 ('MetaCons "NotAmbiguous" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: IsAmbiguous -> Rep IsAmbiguous x Source #

to :: Rep IsAmbiguous x -> IsAmbiguous Source #

Show IsAmbiguous Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> IsAmbiguous -> ShowS Source # show :: IsAmbiguous -> String Source # showList :: [IsAmbiguous] -> ShowS Source #
type Rep IsAmbiguous Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IsAmbiguous = D1 ('MetaData "IsAmbiguous" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesAmbiguous" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: C1 ('MetaCons "NotAmbiguous" 'PrefixI 'False) (U1 :: Type -> Type))

data IllegalRewriteRuleReason Source #

Constructors

LHSNotDefinitionOrConstructor |
VariablesNotBoundByLHS IntSet |
VariablesBoundMoreThanOnce IntSet |
LHSReduces Term Term |
HeadSymbolIsProjectionLikeFunction QName |
HeadSymbolIsTypeConstructor QName |
HeadSymbolContainsMetas QName |
ConstructorParametersNotGeneral ConHead Args |
ContainsUnsolvedMetaVariables (Set1 MetaId) |
BlockedOnProblems (Set1 ProblemId) |
RequiresDefinitions (Set1 QName) |
DoesNotTargetRewriteRelation |
BeforeFunctionDefinition |
BeforeMutualFunctionDefinition QName |
DuplicateRewriteRule |

#### Instances

Instances details

EmbPrj IllegalRewriteRuleReason Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: IllegalRewriteRuleReason -> S Word32 Source # icod_ :: IllegalRewriteRuleReason -> S Word32 Source # value :: Word32 -> R IllegalRewriteRuleReason Source #
NFData IllegalRewriteRuleReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IllegalRewriteRuleReason -> () Source #
Generic IllegalRewriteRuleReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep IllegalRewriteRuleReason |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IllegalRewriteRuleReason = D1 ('MetaData "IllegalRewriteRuleReason" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "LHSNotDefinitionOrConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VariablesNotBoundByLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet)) :+: C1 ('MetaCons "VariablesBoundMoreThanOnce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet)))) :+: ((C1 ('MetaCons "LHSReduces" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "HeadSymbolIsProjectionLikeFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "HeadSymbolIsTypeConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "HeadSymbolContainsMetas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "ConstructorParametersNotGeneral" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)) :+: C1 ('MetaCons "ContainsUnsolvedMetaVariables" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 MetaId)))) :+: (C1 ('MetaCons "BlockedOnProblems" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 ProblemId))) :+: C1 ('MetaCons "RequiresDefinitions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 QName))))) :+: ((C1 ('MetaCons "DoesNotTargetRewriteRelation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BeforeFunctionDefinition" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BeforeMutualFunctionDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "DuplicateRewriteRule" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: IllegalRewriteRuleReason -> Rep IllegalRewriteRuleReason x Source #

to :: Rep IllegalRewriteRuleReason x -> IllegalRewriteRuleReason Source #

Show IllegalRewriteRuleReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> IllegalRewriteRuleReason -> ShowS Source # show :: IllegalRewriteRuleReason -> String Source # showList :: [IllegalRewriteRuleReason] -> ShowS Source #
type Rep IllegalRewriteRuleReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IllegalRewriteRuleReason = D1 ('MetaData "IllegalRewriteRuleReason" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "LHSNotDefinitionOrConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VariablesNotBoundByLHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet)) :+: C1 ('MetaCons "VariablesBoundMoreThanOnce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntSet)))) :+: ((C1 ('MetaCons "LHSReduces" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "HeadSymbolIsProjectionLikeFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons "HeadSymbolIsTypeConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "HeadSymbolContainsMetas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (((C1 ('MetaCons "ConstructorParametersNotGeneral" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConHead) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)) :+: C1 ('MetaCons "ContainsUnsolvedMetaVariables" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 MetaId)))) :+: (C1 ('MetaCons "BlockedOnProblems" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 ProblemId))) :+: C1 ('MetaCons "RequiresDefinitions" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 QName))))) :+: ((C1 ('MetaCons "DoesNotTargetRewriteRelation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BeforeFunctionDefinition" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BeforeMutualFunctionDefinition" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "DuplicateRewriteRule" 'PrefixI 'False) (U1 :: Type -> Type)))))

recordFieldWarningToError :: RecordFieldWarning -> TypeError Source #

warningName :: Warning -> WarningName Source #

illegalRewriteWarningName :: IllegalRewriteRuleReason -> WarningName Source #

isSourceCodeWarning :: WarningName -> Bool Source #

Should warnings of that type be serialized?

Only when changes in the source code can silence or influence the warning.

tcWarningOrigin :: TCWarning -> SrcFile Source #

data CallInfo Source #

Information about a call.

Constructors

CallInfo |

Fields

- callInfoTarget :: QName

  Target function name. (Contains its range.)

- callInfoCall :: Closure Term

  To be formatted representation of the call.

#### Instances

Instances details

Pretty CallInfo Source # | We only `show` the name of the callee.
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pretty :: CallInfo -> Doc Source # prettyPrec :: Int -> CallInfo -> Doc Source # prettyList :: [CallInfo] -> Doc Source #
HasRange CallInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRange :: CallInfo -> Range Source #
PrettyTCM CallInfo Source # |
Instance details Defined in Agda.TypeChecking.Pretty.Call Methods prettyTCM :: MonadPretty m => CallInfo -> m Doc Source #
NFData CallInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CallInfo -> () Source #
Generic CallInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep CallInfo |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CallInfo = D1 ('MetaData "CallInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

Methods

from :: CallInfo -> Rep CallInfo x Source #

to :: Rep CallInfo x -> CallInfo Source #

Show CallInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CallInfo -> ShowS Source # show :: CallInfo -> String Source # showList :: [CallInfo] -> ShowS Source #
type Rep CallInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CallInfo = D1 ('MetaData "CallInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

data UnificationFailure Source #

Constructors

UnifyIndicesNotVars Telescope Type Term Term Args | Failed to apply injectivity to constructor of indexed datatype
UnifyRecursiveEq Telescope Type Int Term | Can't solve equation because variable occurs in (type of) lhs
UnifyReflexiveEq Telescope Type Term | Can't solve reflexive equation because --without-K is enabled
UnifyUnusableModality Telescope Type Int Term Modality | Can't solve equation because solution modality is less "usable"

#### Instances

Instances details

PrettyTCM UnificationFailure Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => UnificationFailure -> m Doc Source #
NFData UnificationFailure Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: UnificationFailure -> () Source #
Generic UnificationFailure Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep UnificationFailure |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep UnificationFailure = D1 ('MetaData "UnificationFailure" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "UnifyIndicesNotVars" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)))) :+: C1 ('MetaCons "UnifyRecursiveEq" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "UnifyReflexiveEq" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnifyUnusableModality" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality))))))

Methods

from :: UnificationFailure -> Rep UnificationFailure x Source #

to :: Rep UnificationFailure x -> UnificationFailure Source #

Show UnificationFailure Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> UnificationFailure -> ShowS Source # show :: UnificationFailure -> String Source # showList :: [UnificationFailure] -> ShowS Source #
type Rep UnificationFailure Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep UnificationFailure = D1 ('MetaData "UnificationFailure" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "UnifyIndicesNotVars" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args)))) :+: C1 ('MetaCons "UnifyRecursiveEq" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "UnifyReflexiveEq" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnifyUnusableModality" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality))))))

data NegativeUnification Source #

Constructors

UnifyConflict Telescope Term Term |
UnifyCycle Telescope Int Term |

#### Instances

Instances details

PrettyTCM NegativeUnification Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => NegativeUnification -> m Doc Source #
NFData NegativeUnification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NegativeUnification -> () Source #
Generic NegativeUnification Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep NegativeUnification |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NegativeUnification = D1 ('MetaData "NegativeUnification" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "UnifyConflict" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnifyCycle" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))

Methods

from :: NegativeUnification -> Rep NegativeUnification x Source #

to :: Rep NegativeUnification x -> NegativeUnification Source #

Show NegativeUnification Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NegativeUnification -> ShowS Source # show :: NegativeUnification -> String Source # showList :: [NegativeUnification] -> ShowS Source #
type Rep NegativeUnification Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep NegativeUnification = D1 ('MetaData "NegativeUnification" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "UnifyConflict" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: C1 ('MetaCons "UnifyCycle" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))

data ExecError Source #

Error when trying to call an external executable during reflection.

Constructors

ExeNotTrusted ExeName ExeMap | The given executable is not listed as trusted.
ExeNotFound ExeName FilePath | The given executable could not be found under the given path.
ExeNotExecutable ExeName FilePath | The given file path does not have executable permissions.

#### Instances

Instances details

PrettyTCM ExecError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => ExecError -> m Doc Source #
NFData ExecError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ExecError -> () Source #
Generic ExecError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep ExecError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ExecError = D1 ('MetaData "ExecError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ExeNotTrusted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeMap)) :+: (C1 ('MetaCons "ExeNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: C1 ('MetaCons "ExeNotExecutable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))))

Methods

from :: ExecError -> Rep ExecError x Source #

to :: Rep ExecError x -> ExecError Source #

Show ExecError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ExecError -> ShowS Source # show :: ExecError -> String Source # showList :: [ExecError] -> ShowS Source #
type Rep ExecError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep ExecError = D1 ('MetaData "ExecError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ExeNotTrusted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeMap)) :+: (C1 ('MetaCons "ExeNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: C1 ('MetaCons "ExeNotExecutable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExeName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))))

type DataOrRecordE = DataOrRecord' InductionAndEta Source #

data IncorrectTypeForRewriteRelationReason Source #

Constructors

ShouldAcceptAtLeastTwoArguments |
FinalTwoArgumentsNotVisible |
TypeDoesNotEndInSort Type Telescope |

#### Instances

Instances details

NFData IncorrectTypeForRewriteRelationReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IncorrectTypeForRewriteRelationReason -> () Source #
Generic IncorrectTypeForRewriteRelationReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep IncorrectTypeForRewriteRelationReason |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IncorrectTypeForRewriteRelationReason = D1 ('MetaData "IncorrectTypeForRewriteRelationReason" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ShouldAcceptAtLeastTwoArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FinalTwoArgumentsNotVisible" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeDoesNotEndInSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope))))

Methods

from :: IncorrectTypeForRewriteRelationReason -> Rep IncorrectTypeForRewriteRelationReason x Source #

to :: Rep IncorrectTypeForRewriteRelationReason x -> IncorrectTypeForRewriteRelationReason Source #

Show IncorrectTypeForRewriteRelationReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> IncorrectTypeForRewriteRelationReason -> ShowS Source # show :: IncorrectTypeForRewriteRelationReason -> String Source # showList :: [IncorrectTypeForRewriteRelationReason] -> ShowS Source #
type Rep IncorrectTypeForRewriteRelationReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep IncorrectTypeForRewriteRelationReason = D1 ('MetaData "IncorrectTypeForRewriteRelationReason" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ShouldAcceptAtLeastTwoArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FinalTwoArgumentsNotVisible" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeDoesNotEndInSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope))))

data InvalidFileNameReason Source #

Extra information for `InvalidFileName` error.

Constructors

DoesNotCorrespondToValidModuleName |
RootNameModuleNotAQualifiedModuleName Text |

#### Instances

Instances details

NFData InvalidFileNameReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InvalidFileNameReason -> () Source #
Generic InvalidFileNameReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep InvalidFileNameReason |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InvalidFileNameReason = D1 ('MetaData "InvalidFileNameReason" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DoesNotCorrespondToValidModuleName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RootNameModuleNotAQualifiedModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: InvalidFileNameReason -> Rep InvalidFileNameReason x Source #

to :: Rep InvalidFileNameReason x -> InvalidFileNameReason Source #

Show InvalidFileNameReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> InvalidFileNameReason -> ShowS Source # show :: InvalidFileNameReason -> String Source # showList :: [InvalidFileNameReason] -> ShowS Source #
type Rep InvalidFileNameReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InvalidFileNameReason = D1 ('MetaData "InvalidFileNameReason" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DoesNotCorrespondToValidModuleName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RootNameModuleNotAQualifiedModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data CannotQuote Source #

Extra information for error `CannotQuote`.

Constructors

CannotQuoteAmbiguous (List2 QName) | `quote` is applied to an ambiguous name.
CannotQuoteExpression Expr | `quote` is applied to an expression that is not an unambiguous defined name.
CannotQuoteHidden | `quote` is applied to a non-visible argument.
CannotQuoteNothing | `quote` is unapplied.
CannotQuotePattern (NamedArg Pattern) | `quote` is applied to a pattern that is not an unambiguous defined name.

#### Instances

Instances details

NFData CannotQuote Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CannotQuote -> () Source #
Generic CannotQuote Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep CannotQuote |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CannotQuote = D1 ('MetaData "CannotQuote" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "CannotQuoteAmbiguous" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 QName))) :+: C1 ('MetaCons "CannotQuoteExpression" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: (C1 ('MetaCons "CannotQuoteHidden" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CannotQuoteNothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CannotQuotePattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern))))))

Methods

from :: CannotQuote -> Rep CannotQuote x Source #

to :: Rep CannotQuote x -> CannotQuote Source #

Show CannotQuote Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CannotQuote -> ShowS Source # show :: CannotQuote -> String Source # showList :: [CannotQuote] -> ShowS Source #
type Rep CannotQuote Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep CannotQuote = D1 ('MetaData "CannotQuote" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "CannotQuoteAmbiguous" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List2 QName))) :+: C1 ('MetaCons "CannotQuoteExpression" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: (C1 ('MetaCons "CannotQuoteHidden" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CannotQuoteNothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CannotQuotePattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern))))))

data MissingTypeSignatureInfo Source #

Extra information for `MissingTypeSignature` error.

Constructors

MissingDataSignature Name | The `data` definition for `Name` lacks a data signature.
MissingRecordSignature Name | The `record` definition for `Name` lacks a record signature.
MissingFunctionSignature LHS | The function lhs misses a type signature.

#### Instances

Instances details

PrettyTCM MissingTypeSignatureInfo Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => MissingTypeSignatureInfo -> m Doc Source #
NFData MissingTypeSignatureInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MissingTypeSignatureInfo -> () Source #
Generic MissingTypeSignatureInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep MissingTypeSignatureInfo |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MissingTypeSignatureInfo = D1 ('MetaData "MissingTypeSignatureInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MissingDataSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "MissingRecordSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "MissingFunctionSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHS))))

Methods

from :: MissingTypeSignatureInfo -> Rep MissingTypeSignatureInfo x Source #

to :: Rep MissingTypeSignatureInfo x -> MissingTypeSignatureInfo Source #

Show MissingTypeSignatureInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MissingTypeSignatureInfo -> ShowS Source # show :: MissingTypeSignatureInfo -> String Source # showList :: [MissingTypeSignatureInfo] -> ShowS Source #
type Rep MissingTypeSignatureInfo Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep MissingTypeSignatureInfo = D1 ('MetaData "MissingTypeSignatureInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MissingDataSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "MissingRecordSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "MissingFunctionSignature" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHS))))

data WhyInvalidInstanceType Source #

Reason for why the instance type is invalid.

Constructors

ImproperInstHead | The type isn't headed by a local, a definition, or a postulate (e.g. it's a universe)
ImproperInstTele | The type we're looking for has a visible argument

#### Instances

Instances details

NFData WhyInvalidInstanceType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: WhyInvalidInstanceType -> () Source #
Generic WhyInvalidInstanceType Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep WhyInvalidInstanceType |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep WhyInvalidInstanceType = D1 ('MetaData "WhyInvalidInstanceType" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ImproperInstHead" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImproperInstTele" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: WhyInvalidInstanceType -> Rep WhyInvalidInstanceType x Source #

to :: Rep WhyInvalidInstanceType x -> WhyInvalidInstanceType Source #

Show WhyInvalidInstanceType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> WhyInvalidInstanceType -> ShowS Source # show :: WhyInvalidInstanceType -> String Source # showList :: [WhyInvalidInstanceType] -> ShowS Source #
type Rep WhyInvalidInstanceType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep WhyInvalidInstanceType = D1 ('MetaData "WhyInvalidInstanceType" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ImproperInstHead" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImproperInstTele" 'PrefixI 'False) (U1 :: Type -> Type))

data InteractionError Source #

Errors raised in `--interaction` mode.

Constructors

CannotGive Expr | Failure of the `give` interactive tactic.
CannotRefine String | Failure of the `refine` interactive tactic.
CaseSplitError Doc | Failure of the `makeCase` interactive tactic.
ExpectedIdentifier Expr | Expected the given expression to be an identifier.
ExpectedApplication | Expected an argument of the form `f e1 e2 .. en`.
NoActionForInteractionPoint InteractionId | Interaction point has not been reached during type checking.
NoSuchInteractionPoint InteractionId | `InteractionId` does not resolve to an `InteractionPoint`.
UnexpectedWhere | `where` not allowed in hole.

#### Instances

Instances details

PrettyTCM InteractionError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => InteractionError -> m Doc Source #
NFData InteractionError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InteractionError -> () Source #
Generic InteractionError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep InteractionError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InteractionError = D1 ('MetaData "InteractionError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "CannotGive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "CannotRefine" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "CaseSplitError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "ExpectedIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: ((C1 ('MetaCons "ExpectedApplication" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoActionForInteractionPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionId))) :+: (C1 ('MetaCons "NoSuchInteractionPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionId)) :+: C1 ('MetaCons "UnexpectedWhere" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: InteractionError -> Rep InteractionError x Source #

to :: Rep InteractionError x -> InteractionError Source #

Show InteractionError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> InteractionError -> ShowS Source # show :: InteractionError -> String Source # showList :: [InteractionError] -> ShowS Source #
type Rep InteractionError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InteractionError = D1 ('MetaData "InteractionError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (((C1 ('MetaCons "CannotGive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "CannotRefine" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "CaseSplitError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "ExpectedIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: ((C1 ('MetaCons "ExpectedApplication" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoActionForInteractionPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionId))) :+: (C1 ('MetaCons "NoSuchInteractionPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionId)) :+: C1 ('MetaCons "UnexpectedWhere" 'PrefixI 'False) (U1 :: Type -> Type))))

data GHCBackendError Source #

Errors raised by the GHC backend.

Constructors

ConstructorCountMismatch QName [QName] [String] | The number of Haskell constructors (`String` list) does not match the number of constructors of the given data type.
NotAHaskellType Term WhyNotAHaskellType | GHC backend fails to represent given Agda type in Haskell.
WrongTypeOfMain QName Type | The type of `main` should be `IO _` (`QName`) but is instead `Type`.

#### Instances

Instances details

PrettyTCM GHCBackendError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => GHCBackendError -> m Doc Source #
NFData GHCBackendError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: GHCBackendError -> () Source #
Generic GHCBackendError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep GHCBackendError |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep GHCBackendError = D1 ('MetaData "GHCBackendError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ConstructorCountMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) :+: (C1 ('MetaCons "NotAHaskellType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyNotAHaskellType)) :+: C1 ('MetaCons "WrongTypeOfMain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Methods

from :: GHCBackendError -> Rep GHCBackendError x Source #

to :: Rep GHCBackendError x -> GHCBackendError Source #

Show GHCBackendError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> GHCBackendError -> ShowS Source # show :: GHCBackendError -> String Source # showList :: [GHCBackendError] -> ShowS Source #
type Rep GHCBackendError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep GHCBackendError = D1 ('MetaData "GHCBackendError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ConstructorCountMismatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) :+: (C1 ('MetaCons "NotAHaskellType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhyNotAHaskellType)) :+: C1 ('MetaCons "WrongTypeOfMain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

data JSBackendError Source #

Errors raised by the JS backend.

Constructors

BadCompilePragma |

#### Instances

Instances details

PrettyTCM JSBackendError Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => JSBackendError -> m Doc Source #
NFData JSBackendError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: JSBackendError -> () Source #
Generic JSBackendError Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep JSBackendError |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep JSBackendError = D1 ('MetaData "JSBackendError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "BadCompilePragma" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: JSBackendError -> Rep JSBackendError x Source #

to :: Rep JSBackendError x -> JSBackendError Source #

Show JSBackendError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> JSBackendError -> ShowS Source # show :: JSBackendError -> String Source # showList :: [JSBackendError] -> ShowS Source #
type Rep JSBackendError Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base type Rep JSBackendError = D1 ('MetaData "JSBackendError" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "BadCompilePragma" 'PrefixI 'False) (U1 :: Type -> Type))

data WhyNotAHaskellType Source #

Extra information for `NotAHaskellType` error.

Constructors

NoPragmaFor QName |
WrongPragmaFor Range QName |
BadLambda Term |
BadMeta Term |
BadDontCare Term |
NotCompiled QName |

#### Instances

Instances details

NFData WhyNotAHaskellType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: WhyNotAHaskellType -> () Source #
Generic WhyNotAHaskellType Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep WhyNotAHaskellType |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep WhyNotAHaskellType = D1 ('MetaData "WhyNotAHaskellType" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "NoPragmaFor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "WrongPragmaFor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "BadLambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "BadMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "BadDontCare" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "NotCompiled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))

Methods

from :: WhyNotAHaskellType -> Rep WhyNotAHaskellType x Source #

to :: Rep WhyNotAHaskellType x -> WhyNotAHaskellType Source #

Show WhyNotAHaskellType Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> WhyNotAHaskellType -> ShowS Source # show :: WhyNotAHaskellType -> String Source # showList :: [WhyNotAHaskellType] -> ShowS Source #
type Rep WhyNotAHaskellType Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep WhyNotAHaskellType = D1 ('MetaData "WhyNotAHaskellType" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "NoPragmaFor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons "WrongPragmaFor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "BadLambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))) :+: (C1 ('MetaCons "BadMeta" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "BadDontCare" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "NotCompiled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))

data InductionAndEta Source #

Constructors

InductionAndEta |

Fields

- recordInduction :: Maybe Induction
- recordEtaEquality :: EtaEquality

#### Instances

Instances details

NFData InductionAndEta Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InductionAndEta -> () Source #
Generic InductionAndEta Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Associated Types

type Rep InductionAndEta |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InductionAndEta = D1 ('MetaData "InductionAndEta" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

Methods

from :: InductionAndEta -> Rep InductionAndEta x Source #

to :: Rep InductionAndEta x -> InductionAndEta Source #

Show InductionAndEta Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> InductionAndEta -> ShowS Source # show :: InductionAndEta -> String Source # showList :: [InductionAndEta] -> ShowS Source #
type Rep InductionAndEta Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

type Rep InductionAndEta = D1 ('MetaData "InductionAndEta" "Agda.TypeChecking.Monad.Base" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

sizedTypesOption :: HasOptions m => m Bool Source #

guardednessOption :: HasOptions m => m Bool Source #

withoutKOption :: HasOptions m => m Bool Source #

cubicalOption :: HasOptions m => m (Maybe Cubical) Source #

cubicalCompatibleOption :: HasOptions m => m Bool Source #

enableCaching :: HasOptions m => m Bool Source #

data ReduceEnv Source #

Environment of the reduce monad.

Constructors

ReduceEnv |

Fields

- redEnv :: TCEnv

  Read only access to environment.

- redSt :: TCState

  Read only access to state (signature, metas...).

- redPred :: Maybe (MetaId -> ReduceM Bool)

  An optional predicate that is used by `instantiate'` and `instantiateFull'`: meta-variables are only instantiated if they satisfy this predicate.

mapRedEnv :: (TCEnv -> TCEnv) -> ReduceEnv -> ReduceEnv Source #

mapRedSt :: (TCState -> TCState) -> ReduceEnv -> ReduceEnv Source #

mapRedEnvSt :: (TCEnv -> TCEnv) -> (TCState -> TCState) -> ReduceEnv -> ReduceEnv Source #

reduceEnv :: Lens' ReduceEnv TCEnv Source #

reduceSt :: Lens' ReduceEnv TCState Source #

unKleisli :: (a -> ReduceM b) -> ReduceM (a -> b) Source #

onReduceEnv :: (ReduceEnv -> ReduceEnv) -> ReduceM a -> ReduceM a Source #

fmapReduce :: (a -> b) -> ReduceM a -> ReduceM b Source #

apReduce :: ReduceM (a -> b) -> ReduceM a -> ReduceM b Source #

thenReduce :: ReduceM a -> ReduceM b -> ReduceM b Source #

beforeReduce :: ReduceM a -> ReduceM b -> ReduceM a Source #

bindReduce :: ReduceM a -> (a -> ReduceM b) -> ReduceM b Source #

localR :: (ReduceEnv -> ReduceEnv) -> ReduceM a -> ReduceM a Source #

newtype BlockT (m :: Type -> Type) a Source #

Constructors

BlockT |

Fields

- unBlockT :: ExceptT Blocker m a

#### Instances

Instances details

MonadTrans BlockT Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lift :: Monad m => m a -> BlockT m a Source #
HasOptions m => HasOptions (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pragmaOptions :: BlockT m PragmaOptions Source # commandLineOptions :: BlockT m CommandLineOptions Source #
Monad m => MonadBlock (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternViolation :: Blocker -> BlockT m a Source # catchPatternErr :: (Blocker -> BlockT m a) -> BlockT m a -> BlockT m a Source #
MonadReduce m => MonadReduce (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftReduce :: ReduceM a -> BlockT m a Source #
MonadTCEnv m => MonadTCEnv (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods askTC :: BlockT m TCEnv Source # localTC :: (TCEnv -> TCEnv) -> BlockT m a -> BlockT m a Source #
MonadTCM m => MonadTCM (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftTCM :: TCM a -> BlockT m a Source #
MonadTCState m => MonadTCState (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTC :: BlockT m TCState Source # putTC :: TCState -> BlockT m () Source # modifyTC :: (TCState -> TCState) -> BlockT m () Source #
ReadTCState m => ReadTCState (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getTCState :: BlockT m TCState Source # locallyTCState :: Lens' TCState a -> (a -> a) -> BlockT m b -> BlockT m b Source # withTCState :: (TCState -> TCState) -> BlockT m a -> BlockT m a Source #
HasBuiltins m => HasBuiltins (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Builtin Methods getBuiltinThing :: SomeBuiltin -> BlockT m (Maybe (Builtin PrimFun)) Source #
MonadAddContext m => MonadAddContext (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addCtx :: Name -> Dom Type -> BlockT m a -> BlockT m a Source # addLetBinding' :: Origin -> Name -> Term -> Dom Type -> BlockT m a -> BlockT m a Source # updateContext :: Substitution -> (Context -> Context) -> BlockT m a -> BlockT m a Source # withFreshName :: Range -> ArgName -> (Name -> BlockT m a) -> BlockT m a Source #
MonadDebug m => MonadDebug (BlockT m) Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Debug

Methods

formatDebugMessage :: VerboseKey -> VerboseLevel -> TCM Doc -> BlockT m String Source #

traceDebugMessage :: VerboseKey -> VerboseLevel -> String -> BlockT m a -> BlockT m a Source #

verboseBracket :: VerboseKey -> VerboseLevel -> String -> BlockT m a -> BlockT m a Source #

getVerbosity :: BlockT m Verbosity Source #

getProfileOptions :: BlockT m ProfileOptions Source #

isDebugPrinting :: BlockT m Bool Source #

nowDebugPrinting :: BlockT m a -> BlockT m a Source #

PureTCM m => PureTCM (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Pure
HasConstInfo m => HasConstInfo (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Signature Methods getConstInfo :: QName -> BlockT m Definition Source # getConstInfo' :: QName -> BlockT m (Either SigError Definition) Source # getRewriteRulesFor :: QName -> BlockT m RewriteRules Source #
MonadIO m => MonadIO (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods liftIO :: IO a -> BlockT m a Source #
Monad m => Applicative (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pure :: a -> BlockT m a Source # (<*>) :: BlockT m (a -> b) -> BlockT m a -> BlockT m b Source # liftA2 :: (a -> b -> c) -> BlockT m a -> BlockT m b -> BlockT m c Source # (*>) :: BlockT m a -> BlockT m b -> BlockT m b Source # (<*) :: BlockT m a -> BlockT m b -> BlockT m a Source #
Functor m => Functor (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> BlockT m a -> BlockT m b Source # (<$) :: a -> BlockT m b -> BlockT m a Source #
Monad m => Monad (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods (>>=) :: BlockT m a -> (a -> BlockT m b) -> BlockT m b Source # (>>) :: BlockT m a -> BlockT m b -> BlockT m b Source # return :: a -> BlockT m a Source #
MonadFail m => MonadFail (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods fail :: String -> BlockT m a Source #

getsTC :: ReadTCState m => (TCState -> a) -> m a Source #

modifyTC' :: MonadTCState m => (TCState -> TCState) -> m () Source #

A variant of `modifyTC` in which the computation is strict in the new state.

setTCLens :: MonadTCState m => Lens' TCState a -> a -> m () infix 4 Source #

Overwrite the part of the `TCState` focused on by the lens.

setTCLens' :: MonadTCState m => Lens' TCState a -> a -> m () Source #

Overwrite the part of the `TCState` focused on by the lens (strictly).

modifyTCLens :: MonadTCState m => Lens' TCState a -> (a -> a) -> m () Source #

Modify the part of the `TCState` focused on by the lens.

modifyTCLens' :: MonadTCState m => Lens' TCState a -> (a -> a) -> m () Source #

Modify the part of the `TCState` focused on by the lens (strictly).

modifyTCLensM :: (MonadTCState m, ReadTCState m) => Lens' TCState a -> (a -> m a) -> m () Source #

Modify a part of the state monadically.

This is an instance of `%==`.

stateTCLens :: (MonadTCState m, ReadTCState m) => Lens' TCState a -> (a -> (r, a)) -> m r Source #

Modify the part of the `TCState` focused on by the lens, and return some result.

runBlocked :: Monad m => BlockT m a -> m (Either Blocker a) Source #

pureTCM :: forall (m :: Type -> Type) a. MonadIO m => (TCState -> TCEnv -> a) -> TCMT m a Source #

returnTCMT :: forall (m :: Type -> Type) a. Applicative m => a -> TCMT m a Source #

bindTCMT :: forall (m :: Type -> Type) a b. Monad m => TCMT m a -> (a -> TCMT m b) -> TCMT m b Source #

thenTCMT :: forall (m :: Type -> Type) a b. Applicative m => TCMT m a -> TCMT m b -> TCMT m b Source #

fmapTCMT :: forall (m :: Type -> Type) a b. Functor m => (a -> b) -> TCMT m a -> TCMT m b Source #

apTCMT :: forall (m :: Type -> Type) a b. Applicative m => TCMT m (a -> b) -> TCMT m a -> TCMT m b Source #

catchError_ :: TCM a -> (TCErr -> TCM a) -> TCM a Source #

Preserve the state of the failing computation.

finally_ :: TCM a -> TCM b -> TCM a Source #

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.

typeError' :: MonadTCError m => CallStack -> TypeError -> m a Source #

locatedTypeError :: MonadTCError m => (a -> TypeError) -> HasCallStack => a -> m b Source #

Utility function for 1-arg constructed type errors. Note that the `HasCallStack` constraint is on the *resulting* function.

genericError :: (HasCallStack, MonadTCError m) => String -> m a Source #

genericDocError :: (HasCallStack, MonadTCError m) => Doc -> m a Source #

typeError'_ :: (MonadTCEnv m, ReadTCState m) => CallStack -> TypeError -> m TCErr Source #

typeError_ :: (HasCallStack, MonadTCEnv m, ReadTCState m) => TypeError -> m TCErr Source #

interactionError :: (HasCallStack, MonadTCError m) => InteractionError -> m a Source #

syntaxError :: (HasCallStack, MonadTCError m) => String -> m a Source #

unquoteError :: (HasCallStack, MonadTCError m) => UnquoteError -> m a Source #

execError :: (HasCallStack, MonadTCError m) => ExecError -> m a Source #

runTCM :: MonadIO m => TCEnv -> TCState -> TCMT m a -> m (a, TCState) Source #

Running the type checking monad (most general form).

runTCMTop :: TCM a -> IO (Either TCErr a) Source #

Running the type checking monad on toplevel (with initial state).

runTCMTop' :: MonadIO m => TCMT m a -> m a Source #

runSafeTCM :: TCM a -> TCState -> IO (a, TCState) Source #

`runSafeTCM` runs a safe `TCM` action (a `TCM` action which cannot fail, except that it might raise `IOException`s) in the initial environment.

forkTCM :: TCM () -> TCM () Source #

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.

patternInTeleName :: String Source #

Base name for patterns in telescopes

extendedLambdaName :: String Source #

Base name for extended lambda patterns

isExtendedLambdaName :: QName -> Bool Source #

Check whether we have an definition from an extended lambda.

absurdLambdaName :: String Source #

Name of absurdLambda definitions.

isAbsurdLambdaName :: QName -> Bool Source #

Check whether we have an definition from an absurd lambda.

generalizedFieldName :: String Source #

Base name for generalized variable projections

getGeneralizedFieldName :: QName -> Maybe String Source #

Check whether we have a generalized variable field

module Agda.TypeChecking.Monad.Base.Types

data FileId Source #

Unique identifier of a file.

#### Instances

Instances details

GetFileId FileToId Source # |
Instance details Defined in Agda.Utils.FileId Methods getFileId :: FileToId -> File -> FileId Source #
GetIdFile IdToFile Source # |
Instance details Defined in Agda.Utils.FileId Methods getIdFile :: IdToFile -> FileId -> File Source #
NFData FileId Source # |
Instance details Defined in Agda.Utils.FileId Methods rnf :: FileId -> () Source #
Enum FileId Source # |

Instance details

Defined in Agda.Utils.FileId

Methods

succ :: FileId -> FileId Source #

pred :: FileId -> FileId Source #

toEnum :: Int -> FileId Source #

fromEnum :: FileId -> Int Source #

enumFrom :: FileId -> [FileId] Source #

enumFromThen :: FileId -> FileId -> [FileId] Source #

enumFromTo :: FileId -> FileId -> [FileId] Source #

enumFromThenTo :: FileId -> FileId -> FileId -> [FileId] Source #

Generic FileId Source # |

Instance details

Defined in Agda.Utils.FileId

Associated Types

type Rep FileId |
Instance details Defined in Agda.Utils.FileId type Rep FileId = D1 ('MetaData "FileId" "Agda.Utils.FileId" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "FileId" 'PrefixI 'True) (S1 ('MetaSel ('Just "theFileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

Methods

from :: FileId -> Rep FileId x Source #

to :: Rep FileId x -> FileId Source #

Num FileId Source # |
Instance details Defined in Agda.Utils.FileId Methods (+) :: FileId -> FileId -> FileId Source # (-) :: FileId -> FileId -> FileId Source # (*) :: FileId -> FileId -> FileId Source # negate :: FileId -> FileId Source # abs :: FileId -> FileId Source # signum :: FileId -> FileId Source # fromInteger :: Integer -> FileId Source #
Show FileId Source # |
Instance details Defined in Agda.Utils.FileId Methods showsPrec :: Int -> FileId -> ShowS Source # show :: FileId -> String Source # showList :: [FileId] -> ShowS Source #
Eq FileId Source # |
Instance details Defined in Agda.Utils.FileId Methods (==) :: FileId -> FileId -> Bool Source # (/=) :: FileId -> FileId -> Bool Source #
Ord FileId Source # |
Instance details Defined in Agda.Utils.FileId Methods compare :: FileId -> FileId -> Ordering Source # (<) :: FileId -> FileId -> Bool Source # (<=) :: FileId -> FileId -> Bool Source # (>) :: FileId -> FileId -> Bool Source # (>=) :: FileId -> FileId -> Bool Source # max :: FileId -> FileId -> FileId Source # min :: FileId -> FileId -> FileId Source #
type Rep FileId Source # |
Instance details Defined in Agda.Utils.FileId type Rep FileId = D1 ('MetaData "FileId" "Agda.Utils.FileId" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'True) (C1 ('MetaCons "FileId" 'PrefixI 'True) (S1 ('MetaSel ('Just "theFileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

class Monad m => MonadFileId (m :: Type -> Type) where Source #

Minimal complete definition

Nothing

Methods

fileFromId :: FileId -> m File Source #

default fileFromId :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadFileId n, m ~ t n) => FileId -> m File Source #

idFromFile :: File -> m FileId Source #

default idFromFile :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadFileId n, m ~ t n) => File -> m FileId Source #

#### Instances

Instances details

MonadFileId IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods fileFromId :: FileId -> IM File Source # idFromFile :: File -> IM FileId Source #
MonadIO m => MonadFileId (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.State Methods fileFromId :: FileId -> TCMT m File Source # idFromFile :: File -> TCMT m FileId Source #
MonadFileId m => MonadFileId (ExceptT e m) Source # |
Instance details Defined in Agda.Utils.FileId Methods fileFromId :: FileId -> ExceptT e m File Source # idFromFile :: File -> ExceptT e m FileId Source #
MonadFileId m => MonadFileId (ReaderT r m) Source # |
Instance details Defined in Agda.Utils.FileId Methods fileFromId :: FileId -> ReaderT r m File Source # idFromFile :: File -> ReaderT r m FileId Source #
MonadFileId m => MonadFileId (StateT s m) Source # |
Instance details Defined in Agda.Utils.FileId Methods fileFromId :: FileId -> StateT s m File Source # idFromFile :: File -> StateT s m FileId Source #

data CannotQuoteTerm Source #

Extra information for error `CannotQuoteTerm`.

Constructors

CannotQuoteTermHidden |
CannotQuoteTermNothing |

#### Instances

Instances details

NFData CannotQuoteTerm Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods rnf :: CannotQuoteTerm -> () Source #
Bounded CannotQuoteTerm Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods minBound :: CannotQuoteTerm Source # maxBound :: CannotQuoteTerm Source #
Enum CannotQuoteTerm Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Methods

succ :: CannotQuoteTerm -> CannotQuoteTerm Source #

pred :: CannotQuoteTerm -> CannotQuoteTerm Source #

toEnum :: Int -> CannotQuoteTerm Source #

fromEnum :: CannotQuoteTerm -> Int Source #

enumFrom :: CannotQuoteTerm -> [CannotQuoteTerm] Source #

enumFromThen :: CannotQuoteTerm -> CannotQuoteTerm -> [CannotQuoteTerm] Source #

enumFromTo :: CannotQuoteTerm -> CannotQuoteTerm -> [CannotQuoteTerm] Source #

enumFromThenTo :: CannotQuoteTerm -> CannotQuoteTerm -> CannotQuoteTerm -> [CannotQuoteTerm] Source #

Generic CannotQuoteTerm Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Associated Types

type Rep CannotQuoteTerm |
Instance details Defined in Agda.Interaction.Options.Errors type Rep CannotQuoteTerm = D1 ('MetaData "CannotQuoteTerm" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "CannotQuoteTermHidden" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CannotQuoteTermNothing" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: CannotQuoteTerm -> Rep CannotQuoteTerm x Source #

to :: Rep CannotQuoteTerm x -> CannotQuoteTerm Source #

Show CannotQuoteTerm Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods showsPrec :: Int -> CannotQuoteTerm -> ShowS Source # show :: CannotQuoteTerm -> String Source # showList :: [CannotQuoteTerm] -> ShowS Source #
type Rep CannotQuoteTerm Source # |
Instance details Defined in Agda.Interaction.Options.Errors type Rep CannotQuoteTerm = D1 ('MetaData "CannotQuoteTerm" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "CannotQuoteTermHidden" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CannotQuoteTermNothing" 'PrefixI 'False) (U1 :: Type -> Type))

data ErasedDatatypeReason Source #

The reason for an `ErasedDatatype` error.

Constructors

SeveralConstructors | There are several constructors.
NoErasedMatches | The flag `--erased-matches` is not used.
NoK | The K rule is not activated.

#### Instances

Instances details

NFData ErasedDatatypeReason Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods rnf :: ErasedDatatypeReason -> () Source #
Bounded ErasedDatatypeReason Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods minBound :: ErasedDatatypeReason Source # maxBound :: ErasedDatatypeReason Source #
Enum ErasedDatatypeReason Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Methods

succ :: ErasedDatatypeReason -> ErasedDatatypeReason Source #

pred :: ErasedDatatypeReason -> ErasedDatatypeReason Source #

toEnum :: Int -> ErasedDatatypeReason Source #

fromEnum :: ErasedDatatypeReason -> Int Source #

enumFrom :: ErasedDatatypeReason -> [ErasedDatatypeReason] Source #

enumFromThen :: ErasedDatatypeReason -> ErasedDatatypeReason -> [ErasedDatatypeReason] Source #

enumFromTo :: ErasedDatatypeReason -> ErasedDatatypeReason -> [ErasedDatatypeReason] Source #

enumFromThenTo :: ErasedDatatypeReason -> ErasedDatatypeReason -> ErasedDatatypeReason -> [ErasedDatatypeReason] Source #

Generic ErasedDatatypeReason Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Associated Types

type Rep ErasedDatatypeReason |

Instance details

Defined in Agda.Interaction.Options.Errors

type Rep ErasedDatatypeReason = D1 ('MetaData "ErasedDatatypeReason" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "SeveralConstructors" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NoErasedMatches" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoK" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: ErasedDatatypeReason -> Rep ErasedDatatypeReason x Source #

to :: Rep ErasedDatatypeReason x -> ErasedDatatypeReason Source #

Show ErasedDatatypeReason Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods showsPrec :: Int -> ErasedDatatypeReason -> ShowS Source # show :: ErasedDatatypeReason -> String Source # showList :: [ErasedDatatypeReason] -> ShowS Source #
type Rep ErasedDatatypeReason Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

type Rep ErasedDatatypeReason = D1 ('MetaData "ErasedDatatypeReason" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "SeveralConstructors" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NoErasedMatches" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoK" 'PrefixI 'False) (U1 :: Type -> Type)))

data NotAValidLetBinding Source #

Reasons for error `NotAValidLetBinding`.

Constructors

MissingRHS |
NotAValidLetPattern |
WhereClausesNotAllowed |

#### Instances

Instances details

NFData NotAValidLetBinding Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods rnf :: NotAValidLetBinding -> () Source #
Bounded NotAValidLetBinding Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods minBound :: NotAValidLetBinding Source # maxBound :: NotAValidLetBinding Source #
Enum NotAValidLetBinding Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Methods

succ :: NotAValidLetBinding -> NotAValidLetBinding Source #

pred :: NotAValidLetBinding -> NotAValidLetBinding Source #

toEnum :: Int -> NotAValidLetBinding Source #

fromEnum :: NotAValidLetBinding -> Int Source #

enumFrom :: NotAValidLetBinding -> [NotAValidLetBinding] Source #

enumFromThen :: NotAValidLetBinding -> NotAValidLetBinding -> [NotAValidLetBinding] Source #

enumFromTo :: NotAValidLetBinding -> NotAValidLetBinding -> [NotAValidLetBinding] Source #

enumFromThenTo :: NotAValidLetBinding -> NotAValidLetBinding -> NotAValidLetBinding -> [NotAValidLetBinding] Source #

Generic NotAValidLetBinding Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Associated Types

type Rep NotAValidLetBinding |

Instance details

Defined in Agda.Interaction.Options.Errors

type Rep NotAValidLetBinding = D1 ('MetaData "NotAValidLetBinding" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MissingRHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NotAValidLetPattern" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WhereClausesNotAllowed" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: NotAValidLetBinding -> Rep NotAValidLetBinding x Source #

to :: Rep NotAValidLetBinding x -> NotAValidLetBinding Source #

Show NotAValidLetBinding Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods showsPrec :: Int -> NotAValidLetBinding -> ShowS Source # show :: NotAValidLetBinding -> String Source # showList :: [NotAValidLetBinding] -> ShowS Source #
type Rep NotAValidLetBinding Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

type Rep NotAValidLetBinding = D1 ('MetaData "NotAValidLetBinding" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MissingRHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NotAValidLetPattern" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WhereClausesNotAllowed" 'PrefixI 'False) (U1 :: Type -> Type)))

data NotAValidLetExpression Source #

Reasons for error `NotAValidLetExpression`.

Constructors

MissingBody |

#### Instances

Instances details

NFData NotAValidLetExpression Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods rnf :: NotAValidLetExpression -> () Source #
Bounded NotAValidLetExpression Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods minBound :: NotAValidLetExpression Source # maxBound :: NotAValidLetExpression Source #
Enum NotAValidLetExpression Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Methods

succ :: NotAValidLetExpression -> NotAValidLetExpression Source #

pred :: NotAValidLetExpression -> NotAValidLetExpression Source #

toEnum :: Int -> NotAValidLetExpression Source #

fromEnum :: NotAValidLetExpression -> Int Source #

enumFrom :: NotAValidLetExpression -> [NotAValidLetExpression] Source #

enumFromThen :: NotAValidLetExpression -> NotAValidLetExpression -> [NotAValidLetExpression] Source #

enumFromTo :: NotAValidLetExpression -> NotAValidLetExpression -> [NotAValidLetExpression] Source #

enumFromThenTo :: NotAValidLetExpression -> NotAValidLetExpression -> NotAValidLetExpression -> [NotAValidLetExpression] Source #

Generic NotAValidLetExpression Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Associated Types

type Rep NotAValidLetExpression |
Instance details Defined in Agda.Interaction.Options.Errors type Rep NotAValidLetExpression = D1 ('MetaData "NotAValidLetExpression" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MissingBody" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: NotAValidLetExpression -> Rep NotAValidLetExpression x Source #

to :: Rep NotAValidLetExpression x -> NotAValidLetExpression Source #

Show NotAValidLetExpression Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods showsPrec :: Int -> NotAValidLetExpression -> ShowS Source # show :: NotAValidLetExpression -> String Source # showList :: [NotAValidLetExpression] -> ShowS Source #
type Rep NotAValidLetExpression Source # |
Instance details Defined in Agda.Interaction.Options.Errors type Rep NotAValidLetExpression = D1 ('MetaData "NotAValidLetExpression" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MissingBody" 'PrefixI 'False) (U1 :: Type -> Type))

data NotAllowedInDotPatterns Source #

Things not allowed in dot patterns.

Constructors

LetExpressions |
PatternLambdas |

#### Instances

Instances details

NFData NotAllowedInDotPatterns Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods rnf :: NotAllowedInDotPatterns -> () Source #
Bounded NotAllowedInDotPatterns Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods minBound :: NotAllowedInDotPatterns Source # maxBound :: NotAllowedInDotPatterns Source #
Enum NotAllowedInDotPatterns Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Methods

succ :: NotAllowedInDotPatterns -> NotAllowedInDotPatterns Source #

pred :: NotAllowedInDotPatterns -> NotAllowedInDotPatterns Source #

toEnum :: Int -> NotAllowedInDotPatterns Source #

fromEnum :: NotAllowedInDotPatterns -> Int Source #

enumFrom :: NotAllowedInDotPatterns -> [NotAllowedInDotPatterns] Source #

enumFromThen :: NotAllowedInDotPatterns -> NotAllowedInDotPatterns -> [NotAllowedInDotPatterns] Source #

enumFromTo :: NotAllowedInDotPatterns -> NotAllowedInDotPatterns -> [NotAllowedInDotPatterns] Source #

enumFromThenTo :: NotAllowedInDotPatterns -> NotAllowedInDotPatterns -> NotAllowedInDotPatterns -> [NotAllowedInDotPatterns] Source #

Generic NotAllowedInDotPatterns Source # |

Instance details

Defined in Agda.Interaction.Options.Errors

Associated Types

type Rep NotAllowedInDotPatterns |
Instance details Defined in Agda.Interaction.Options.Errors type Rep NotAllowedInDotPatterns = D1 ('MetaData "NotAllowedInDotPatterns" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LetExpressions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatternLambdas" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: NotAllowedInDotPatterns -> Rep NotAllowedInDotPatterns x Source #

to :: Rep NotAllowedInDotPatterns x -> NotAllowedInDotPatterns Source #

Show NotAllowedInDotPatterns Source # |
Instance details Defined in Agda.Interaction.Options.Errors Methods showsPrec :: Int -> NotAllowedInDotPatterns -> ShowS Source # show :: NotAllowedInDotPatterns -> String Source # showList :: [NotAllowedInDotPatterns] -> ShowS Source #
type Rep NotAllowedInDotPatterns Source # |
Instance details Defined in Agda.Interaction.Options.Errors type Rep NotAllowedInDotPatterns = D1 ('MetaData "NotAllowedInDotPatterns" "Agda.Interaction.Options.Errors" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LetExpressions" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatternLambdas" 'PrefixI 'False) (U1 :: Type -> Type))

class (Functor m, Applicative m, Monad m) => HasOptions (m :: Type -> Type) where Source #

Minimal complete definition

Nothing

Methods

pragmaOptions :: m PragmaOptions Source #

Returns the pragma options which are currently in effect.

default pragmaOptions :: forall (n :: Type -> Type) (t :: (Type -> Type) -> Type -> Type). (HasOptions n, MonadTrans t, m ~ t n) => m PragmaOptions Source #

commandLineOptions :: m CommandLineOptions Source #

Returns the command line options which are currently in effect.

default commandLineOptions :: forall (n :: Type -> Type) (t :: (Type -> Type) -> Type -> Type). (HasOptions n, MonadTrans t, m ~ t n) => m CommandLineOptions Source #

#### Instances

Instances details

HasOptions IM Source # |
Instance details Defined in Agda.Interaction.Monad Methods pragmaOptions :: IM PragmaOptions Source # commandLineOptions :: IM CommandLineOptions Source #
HasOptions TerM Source # |
Instance details Defined in Agda.Termination.Monad Methods pragmaOptions :: TerM PragmaOptions Source # commandLineOptions :: TerM CommandLineOptions Source #
HasOptions ReduceM Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pragmaOptions :: ReduceM PragmaOptions Source # commandLineOptions :: ReduceM CommandLineOptions Source #
HasOptions NLM Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods pragmaOptions :: NLM PragmaOptions Source # commandLineOptions :: NLM CommandLineOptions Source #
HasOptions m => HasOptions (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods pragmaOptions :: PureConversionT m PragmaOptions Source # commandLineOptions :: PureConversionT m CommandLineOptions Source #
HasOptions m => HasOptions (BlockT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pragmaOptions :: BlockT m PragmaOptions Source # commandLineOptions :: BlockT m CommandLineOptions Source #
MonadIO m => HasOptions (TCMT m) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods pragmaOptions :: TCMT m PragmaOptions Source # commandLineOptions :: TCMT m CommandLineOptions Source #
HasOptions m => HasOptions (NamesT m) Source # |
Instance details Defined in Agda.TypeChecking.Names Methods pragmaOptions :: NamesT m PragmaOptions Source # commandLineOptions :: NamesT m CommandLineOptions Source #
HasOptions m => HasOptions (ListT m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: ListT m PragmaOptions Source # commandLineOptions :: ListT m CommandLineOptions Source #
HasOptions m => HasOptions (ChangeT m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: ChangeT m PragmaOptions Source # commandLineOptions :: ChangeT m CommandLineOptions Source #
HasOptions m => HasOptions (MaybeT m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: MaybeT m PragmaOptions Source # commandLineOptions :: MaybeT m CommandLineOptions Source #
HasOptions m => HasOptions (ExceptT e m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: ExceptT e m PragmaOptions Source # commandLineOptions :: ExceptT e m CommandLineOptions Source #
HasOptions m => HasOptions (IdentityT m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: IdentityT m PragmaOptions Source # commandLineOptions :: IdentityT m CommandLineOptions Source #
HasOptions m => HasOptions (ReaderT r m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: ReaderT r m PragmaOptions Source # commandLineOptions :: ReaderT r m CommandLineOptions Source #
HasOptions m => HasOptions (StateT s m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: StateT s m PragmaOptions Source # commandLineOptions :: StateT s m CommandLineOptions Source #
(HasOptions m, Monoid w) => HasOptions (WriterT w m) Source # |
Instance details Defined in Agda.Interaction.Options.HasOptions Methods pragmaOptions :: WriterT w m PragmaOptions Source # commandLineOptions :: WriterT w m CommandLineOptions Source #

data RecordFieldWarning Source #

#### Instances

Instances details

EmbPrj RecordFieldWarning Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: RecordFieldWarning -> S Word32 Source # icod_ :: RecordFieldWarning -> S Word32 Source # value :: Word32 -> R RecordFieldWarning Source #
NFData RecordFieldWarning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RecordFieldWarning -> () Source #
Generic RecordFieldWarning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

Associated Types

type Rep RecordFieldWarning |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

type Rep RecordFieldWarning = D1 ('MetaData "RecordFieldWarning" "Agda.TypeChecking.Monad.Base.Warning" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DuplicateFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Name, Range)))) :+: C1 ('MetaCons "TooManyFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Name, Range))))))

Methods

from :: RecordFieldWarning -> Rep RecordFieldWarning x Source #

to :: Rep RecordFieldWarning x -> RecordFieldWarning Source #

Show RecordFieldWarning Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Warning Methods showsPrec :: Int -> RecordFieldWarning -> ShowS Source # show :: RecordFieldWarning -> String Source # showList :: [RecordFieldWarning] -> ShowS Source #
type Rep RecordFieldWarning Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

type Rep RecordFieldWarning = D1 ('MetaData "RecordFieldWarning" "Agda.TypeChecking.Monad.Base.Warning" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "DuplicateFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Name, Range)))) :+: C1 ('MetaCons "TooManyFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Name, Range))))))

data UselessPublicReason Source #

Constructors

UselessPublicPreamble |
UselessPublicLet |
UselessPublicNoOpen |
UselessPublicAnonymousModule |

#### Instances

Instances details

EmbPrj UselessPublicReason Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: UselessPublicReason -> S Word32 Source # icod_ :: UselessPublicReason -> S Word32 Source # value :: Word32 -> R UselessPublicReason Source #
NFData UselessPublicReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Warning Methods rnf :: UselessPublicReason -> () Source #
Bounded UselessPublicReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Warning Methods minBound :: UselessPublicReason Source # maxBound :: UselessPublicReason Source #
Enum UselessPublicReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

Methods

succ :: UselessPublicReason -> UselessPublicReason Source #

pred :: UselessPublicReason -> UselessPublicReason Source #

toEnum :: Int -> UselessPublicReason Source #

fromEnum :: UselessPublicReason -> Int Source #

enumFrom :: UselessPublicReason -> [UselessPublicReason] Source #

enumFromThen :: UselessPublicReason -> UselessPublicReason -> [UselessPublicReason] Source #

enumFromTo :: UselessPublicReason -> UselessPublicReason -> [UselessPublicReason] Source #

enumFromThenTo :: UselessPublicReason -> UselessPublicReason -> UselessPublicReason -> [UselessPublicReason] Source #

Generic UselessPublicReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

Associated Types

type Rep UselessPublicReason |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

type Rep UselessPublicReason = D1 ('MetaData "UselessPublicReason" "Agda.TypeChecking.Monad.Base.Warning" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "UselessPublicPreamble" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UselessPublicLet" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UselessPublicNoOpen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UselessPublicAnonymousModule" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: UselessPublicReason -> Rep UselessPublicReason x Source #

to :: Rep UselessPublicReason x -> UselessPublicReason Source #

Show UselessPublicReason Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Warning Methods showsPrec :: Int -> UselessPublicReason -> ShowS Source # show :: UselessPublicReason -> String Source # showList :: [UselessPublicReason] -> ShowS Source #
type Rep UselessPublicReason Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base.Warning

type Rep UselessPublicReason = D1 ('MetaData "UselessPublicReason" "Agda.TypeChecking.Monad.Base.Warning" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "UselessPublicPreamble" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UselessPublicLet" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UselessPublicNoOpen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UselessPublicAnonymousModule" 'PrefixI 'False) (U1 :: Type -> Type)))

# Orphan instances

Pretty Comparison Source # |
Instance details Methods pretty :: Comparison -> Doc Source # prettyPrec :: Int -> Comparison -> Doc Source # prettyList :: [Comparison] -> Doc Source #
Pretty ModuleToSource Source # |
Instance details Methods pretty :: ModuleToSource -> Doc Source # prettyPrec :: Int -> ModuleToSource -> Doc Source # prettyList :: [ModuleToSource] -> Doc Source #
Pretty NamedMeta Source # |
Instance details Methods pretty :: NamedMeta -> Doc Source # prettyPrec :: Int -> NamedMeta -> Doc Source # prettyList :: [NamedMeta] -> Doc Source #
Pretty Polarity Source # |
Instance details Methods pretty :: Polarity -> Doc Source # prettyPrec :: Int -> Polarity -> Doc Source # prettyList :: [Polarity] -> Doc Source #
KillRange Polarity Source # |
Instance details Methods killRange :: KillRangeT Polarity Source #
GetFileId FileDictWithBuiltins Source # |
Instance details Methods getFileId :: FileDictWithBuiltins -> File -> FileId Source #
GetIdFile FileDictWithBuiltins Source # |
Instance details Methods getIdFile :: FileDictWithBuiltins -> FileId -> File Source #
NFData Comparison Source # |
Instance details Methods rnf :: Comparison -> () Source #
NFData HighlightingLevel Source # |
Instance details Methods rnf :: HighlightingLevel -> () Source #
NFData HighlightingMethod Source # |
Instance details Methods rnf :: HighlightingMethod -> () Source #
NFData Polarity Source # |
Instance details Methods rnf :: Polarity -> () Source #
NFData RecordFieldWarning Source # |
Instance details Methods rnf :: RecordFieldWarning -> () Source #
NFData (BiMap RawTopLevelModuleName ModuleNameHash) Source # |
Instance details Methods rnf :: BiMap RawTopLevelModuleName ModuleNameHash -> () Source #