Safe Haskell | None |
---|---|
Language | Haskell2010 |
Agda.Compiler.Backend
Description
Interface for compiler backend writers.
Synopsis
- data Backend where
- data Backend' opts env menv mod def = Backend' {
- backendName :: String
- backendVersion :: Maybe String
- options :: opts
- commandLineFlags :: [OptDescr (Flag opts)]
- isEnabled :: opts -> Bool
- preCompile :: opts -> TCM env
- postCompile :: env -> IsMain -> Map ModuleName mod -> TCM ()
- preModule :: env -> IsMain -> ModuleName -> Maybe FilePath -> TCM (Recompile menv mod)
- postModule :: env -> menv -> IsMain -> ModuleName -> [def] -> TCM mod
- compileDef :: env -> menv -> IsMain -> Definition -> TCM def
- scopeCheckingSuffices :: Bool
- mayEraseType :: QName -> TCM Bool
- data Recompile menv mod
- data IsMain
- type Flag opts = opts -> OptM opts
- toTreeless :: EvaluationStrategy -> QName -> TCM (Maybe TTerm)
- module Agda.Syntax.Treeless
- class (Functor m, Applicative m, Monad m) => MonadDebug m where
- formatDebugMessage :: VerboseKey -> VerboseLevel -> TCM Doc -> m String
- traceDebugMessage :: VerboseKey -> VerboseLevel -> String -> m a -> m a
- verboseBracket :: VerboseKey -> VerboseLevel -> String -> m a -> m a
- getVerbosity :: m Verbosity
- isDebugPrinting :: m Bool
- nowDebugPrinting :: m a -> m a
- data Polarity
- data Comparison
- type BackendName = String
- type ModuleToSource = Map TopLevelModuleName AbsolutePath
- type TCM = TCMT IO
- newtype TCMT m a = TCM {}
- data TCState = TCSt {}
- data TCEnv = TCEnv {
- envContext :: Context
- envLetBindings :: LetBindings
- envCurrentModule :: ModuleName
- envCurrentPath :: Maybe AbsolutePath
- envAnonymousModules :: [(ModuleName, Nat)]
- envImportPath :: [TopLevelModuleName]
- envMutualBlock :: Maybe MutualId
- envTerminationCheck :: TerminationCheck ()
- envCoverageCheck :: CoverageCheck
- envMakeCase :: Bool
- envSolvingConstraints :: Bool
- envCheckingWhere :: Bool
- envWorkingOnTypes :: Bool
- envAssignMetas :: Bool
- envActiveProblems :: Set ProblemId
- envAbstractMode :: AbstractMode
- envModality :: Modality
- envSplitOnStrict :: Bool
- envDisplayFormsEnabled :: 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
- data HighlightingLevel
- data HighlightingMethod
- data NamedMeta = NamedMeta {}
- data TCWarning = TCWarning {}
- data TCErr
- = TypeError { }
- | Exception Range Doc
- | IOException TCState Range IOException
- | PatternErr Blocker
- data Warning
- = NicifierIssue DeclarationWarning
- | TerminationIssue [TerminationError]
- | UnreachableClauses QName [Range]
- | CoverageIssue QName [(Telescope, [NamedArg DeBruijnPattern])]
- | CoverageNoExactSplit QName [Clause]
- | NotStrictlyPositive QName (Seq OccursWhere)
- | UnsolvedMetaVariables [Range]
- | UnsolvedInteractionMetas [Range]
- | UnsolvedConstraints Constraints
- | CantGeneralizeOverSorts [MetaId]
- | AbsurdPatternRequiresNoRHS [NamedArg DeBruijnPattern]
- | OldBuiltin String String
- | EmptyRewritePragma
- | EmptyWhere
- | IllformedAsClause String
- | ClashesViaRenaming NameOrModule [Name]
- | UselessPatternDeclarationForRecord String
- | UselessPublic
- | UselessHiding [ImportedName]
- | UselessInline QName
- | WrongInstanceDeclaration
- | InstanceWithExplicitArg QName
- | InstanceNoOutputTypeName Doc
- | InstanceArgWithExplicitArg Doc
- | InversionDepthReached QName
- | NoGuardednessFlag QName
- | GenericWarning Doc
- | GenericNonFatalError Doc
- | GenericUseless Range Doc
- | SafeFlagPostulate Name
- | SafeFlagPragma [String]
- | SafeFlagNonTerminating
- | SafeFlagTerminating
- | SafeFlagWithoutKFlagPrimEraseEquality
- | WithoutKFlagPrimEraseEquality
- | SafeFlagNoPositivityCheck
- | SafeFlagPolarity
- | SafeFlagNoUniverseCheck
- | SafeFlagNoCoverageCheck
- | SafeFlagInjective
- | SafeFlagEta
- | ParseWarning ParseWarning
- | LibraryWarning LibWarning
- | DeprecationWarning String String String
- | UserWarning Text
- | DuplicateUsing (List1 ImportedName)
- | FixityInRenamingModule (List1 Range)
- | ModuleDoesntExport QName [Name] [Name] [ImportedName]
- | InfectiveImport String ModuleName
- | CoInfectiveImport String ModuleName
- | RewriteNonConfluent Term Term Term Doc
- | RewriteMaybeNonConfluent Term Term [Doc]
- | RewriteAmbiguousRules Term Term Term
- | RewriteMissingRule Term Term Term
- | PragmaCompileErased BackendName QName
- | NotInScopeW [QName]
- | AsPatternShadowsConstructorOrPatternSynonym Bool
- | RecordFieldWarning RecordFieldWarning
- builtinNat :: String
- builtinSuc :: String
- builtinZero :: String
- builtinNatPlus :: String
- builtinNatMinus :: String
- builtinNatTimes :: String
- builtinNatDivSucAux :: String
- builtinNatModSucAux :: String
- builtinNatEquals :: String
- builtinNatLess :: String
- builtinWord64 :: String
- builtinInteger :: String
- builtinIntegerPos :: String
- builtinIntegerNegSuc :: String
- builtinFloat :: String
- builtinChar :: String
- builtinString :: String
- builtinUnit :: String
- builtinUnitUnit :: String
- builtinSigma :: String
- builtinBool :: String
- builtinTrue :: String
- builtinFalse :: String
- builtinList :: String
- builtinNil :: String
- builtinCons :: String
- builtinMaybe :: String
- builtinNothing :: String
- builtinJust :: String
- builtinIO :: String
- builtinId :: String
- builtinConId :: String
- builtinIdElim :: String
- builtinPath :: String
- builtinPathP :: String
- builtinInterval :: String
- builtinIMin :: String
- builtinIMax :: String
- builtinINeg :: String
- builtinIZero :: String
- builtinIOne :: String
- builtinPartial :: String
- builtinPartialP :: String
- builtinIsOne :: String
- builtinItIsOne :: String
- builtinEquiv :: String
- builtinEquivFun :: String
- builtinEquivProof :: String
- builtinTranspProof :: String
- builtinGlue :: String
- builtin_glue :: String
- builtin_unglue :: String
- builtin_glueU :: String
- builtin_unglueU :: String
- builtinFaceForall :: String
- builtinIsOne1 :: String
- builtinIsOne2 :: String
- builtinIsOneEmpty :: String
- builtinComp :: String
- builtinPOr :: String
- builtinTrans :: String
- builtinHComp :: String
- builtinSub :: String
- builtinSubIn :: String
- builtinSubOut :: String
- builtinSizeUniv :: String
- builtinSize :: String
- builtinSizeLt :: String
- builtinSizeSuc :: String
- builtinSizeInf :: String
- builtinSizeMax :: String
- builtinInf :: String
- builtinSharp :: String
- builtinFlat :: String
- builtinEquality :: String
- builtinRefl :: String
- builtinRewrite :: String
- builtinLevelMax :: String
- builtinLevel :: String
- builtinLevelZero :: String
- builtinLevelSuc :: String
- builtinSet :: String
- builtinProp :: String
- builtinSetOmega :: String
- builtinLockUniv :: String
- builtinSSetOmega :: String
- builtinStrictSet :: String
- builtinFromNat :: String
- builtinFromNeg :: String
- builtinFromString :: String
- builtinQName :: String
- builtinAgdaSort :: String
- builtinAgdaSortSet :: String
- builtinAgdaSortLit :: String
- builtinAgdaSortProp :: String
- builtinAgdaSortPropLit :: String
- builtinAgdaSortInf :: String
- builtinAgdaSortUnsupported :: String
- builtinHiding :: String
- builtinHidden :: String
- builtinInstance :: String
- builtinVisible :: String
- builtinRelevance :: String
- builtinRelevant :: String
- builtinIrrelevant :: String
- builtinQuantity :: String
- builtinQuantity0 :: String
- builtinQuantityω :: String
- builtinModality :: String
- builtinModalityConstructor :: String
- builtinAssoc :: String
- builtinAssocLeft :: String
- builtinAssocRight :: String
- builtinAssocNon :: String
- builtinPrecedence :: String
- builtinPrecRelated :: String
- builtinPrecUnrelated :: String
- builtinFixity :: String
- builtinFixityFixity :: String
- builtinArg :: String
- builtinArgInfo :: String
- builtinArgArgInfo :: String
- builtinArgArg :: String
- builtinAbs :: String
- builtinAbsAbs :: String
- builtinAgdaTerm :: String
- builtinAgdaTermVar :: String
- builtinAgdaTermLam :: String
- builtinAgdaTermExtLam :: String
- builtinAgdaTermDef :: String
- builtinAgdaTermCon :: String
- builtinAgdaTermPi :: String
- builtinAgdaTermSort :: String
- builtinAgdaTermLit :: String
- builtinAgdaTermUnsupported :: String
- builtinAgdaTermMeta :: String
- builtinAgdaErrorPart :: String
- builtinAgdaErrorPartString :: String
- builtinAgdaErrorPartTerm :: String
- builtinAgdaErrorPartName :: String
- builtinAgdaLiteral :: String
- builtinAgdaLitNat :: String
- builtinAgdaLitWord64 :: String
- builtinAgdaLitFloat :: String
- builtinAgdaLitChar :: String
- builtinAgdaLitString :: String
- builtinAgdaLitQName :: String
- builtinAgdaLitMeta :: String
- builtinAgdaClause :: String
- builtinAgdaClauseClause :: String
- builtinAgdaClauseAbsurd :: String
- builtinAgdaPattern :: String
- builtinAgdaPatVar :: String
- builtinAgdaPatCon :: String
- builtinAgdaPatDot :: String
- builtinAgdaPatLit :: String
- builtinAgdaPatProj :: String
- builtinAgdaPatAbsurd :: String
- builtinAgdaDefinitionFunDef :: String
- builtinAgdaDefinitionDataDef :: String
- builtinAgdaDefinitionRecordDef :: String
- builtinAgdaDefinitionDataConstructor :: String
- builtinAgdaDefinitionPostulate :: String
- builtinAgdaDefinitionPrimitive :: String
- builtinAgdaDefinition :: String
- builtinAgdaMeta :: String
- builtinAgdaTCM :: String
- builtinAgdaTCMReturn :: String
- builtinAgdaTCMBind :: String
- builtinAgdaTCMUnify :: String
- builtinAgdaTCMTypeError :: String
- builtinAgdaTCMInferType :: String
- builtinAgdaTCMCheckType :: String
- builtinAgdaTCMNormalise :: String
- builtinAgdaTCMReduce :: String
- builtinAgdaTCMCatchError :: String
- builtinAgdaTCMGetContext :: String
- builtinAgdaTCMExtendContext :: String
- builtinAgdaTCMInContext :: String
- builtinAgdaTCMFreshName :: String
- builtinAgdaTCMDeclareDef :: String
- builtinAgdaTCMDeclarePostulate :: String
- builtinAgdaTCMDefineFun :: String
- builtinAgdaTCMGetType :: String
- builtinAgdaTCMGetDefinition :: String
- builtinAgdaTCMBlockOnMeta :: String
- builtinAgdaTCMCommit :: String
- builtinAgdaTCMQuoteTerm :: String
- builtinAgdaTCMUnquoteTerm :: String
- builtinAgdaTCMQuoteOmegaTerm :: String
- builtinAgdaTCMIsMacro :: String
- builtinAgdaTCMWithNormalisation :: String
- builtinAgdaTCMWithReconsParams :: String
- builtinAgdaTCMDebugPrint :: String
- builtinAgdaTCMOnlyReduceDefs :: String
- builtinAgdaTCMDontReduceDefs :: String
- builtinAgdaTCMNoConstraints :: String
- builtinAgdaTCMRunSpeculative :: String
- builtinAgdaTCMExec :: String
- isBuiltinNoDef :: String -> Bool
- builtinsNoDef :: [String]
- sizeBuiltins :: [String]
- type Verbosity = Trie VerboseKey VerboseLevel
- type VerboseLevel = Int
- type VerboseKey = String
- class (Functor m, Applicative m, Monad m) => HasOptions m where
- type MonadTCError m = (MonadTCEnv m, ReadTCState m, MonadError TCErr m)
- class (Applicative tcm, MonadIO tcm, MonadTCEnv tcm, MonadTCState tcm, HasOptions tcm) => MonadTCM tcm where
- newtype BlockT m a = BlockT {}
- class Monad m => MonadBlock m where
- patternViolation :: Blocker -> m a
- catchPatternErr :: (Blocker -> m a) -> m a -> m a
- class Monad m => MonadTCState m where
- class Monad m => MonadTCEnv m where
- class (Applicative m, MonadTCEnv m, ReadTCState m, HasOptions m) => MonadReduce m where
- liftReduce :: ReduceM a -> m a
- newtype ReduceM a = ReduceM {}
- data ReduceEnv = ReduceEnv {}
- data LHSOrPatSyn
- data TypeError
- = InternalError String
- | NotImplemented String
- | NotSupported String
- | CompilationError String
- | PropMustBeSingleton
- | DataMustEndInSort Term
- | ShouldEndInApplicationOfTheDatatype Type
- | ShouldBeAppliedToTheDatatypeParameters Term Term
- | ShouldBeApplicationOf Type QName
- | ConstructorPatternInWrongDatatype QName QName
- | CantResolveOverloadedConstructorsTargetingSameDatatype QName (List1 QName)
- | DoesNotConstructAnElementOf QName Type
- | WrongHidingInLHS
- | WrongHidingInLambda Type
- | WrongHidingInApplication Type
- | WrongNamedArgument (NamedArg Expr) [NamedName]
- | WrongIrrelevanceInLambda
- | WrongQuantityInLambda
- | WrongCohesionInLambda
- | QuantityMismatch Quantity Quantity
- | HidingMismatch Hiding Hiding
- | RelevanceMismatch Relevance Relevance
- | UninstantiatedDotPattern Expr
- | ForcedConstructorNotInstantiated Pattern
- | IllformedProjectionPattern Pattern
- | CannotEliminateWithPattern (Maybe Blocker) (NamedArg Pattern) Type
- | WrongNumberOfConstructorArguments QName Nat Nat
- | ShouldBeEmpty Type [DeBruijnPattern]
- | ShouldBeASort Type
- | ShouldBePi Type
- | ShouldBePath Type
- | ShouldBeRecordType Type
- | ShouldBeRecordPattern DeBruijnPattern
- | NotAProjectionPattern (NamedArg Pattern)
- | NotAProperTerm
- | InvalidTypeSort Sort
- | InvalidType Term
- | FunctionTypeInSizeUniv Term
- | SplitOnIrrelevant (Dom Type)
- | SplitOnUnusableCohesion (Dom Type)
- | SplitOnNonVariable Term Type
- | SplitOnNonEtaRecord QName
- | DefinitionIsIrrelevant QName
- | DefinitionIsErased QName
- | VariableIsIrrelevant Name
- | VariableIsErased Name
- | VariableIsOfUnusableCohesion Name Cohesion
- | UnequalLevel Comparison Level Level
- | UnequalTerms Comparison Term Term CompareAs
- | UnequalTypes Comparison Type Type
- | UnequalRelevance Comparison Term Term
- | UnequalQuantity Comparison Term Term
- | UnequalCohesion Comparison Term Term
- | UnequalHiding Term Term
- | UnequalSorts Sort Sort
- | UnequalBecauseOfUniverseConflict Comparison Term Term
- | NotLeqSort Sort Sort
- | MetaCannotDependOn MetaId Nat
- | MetaOccursInItself MetaId
- | MetaIrrelevantSolution MetaId Term
- | MetaErasedSolution MetaId Term
- | GenericError String
- | GenericDocError Doc
- | SortOfSplitVarError (Maybe Blocker) Doc
- | BuiltinMustBeConstructor String Expr
- | NoSuchBuiltinName String
- | DuplicateBuiltinBinding String Term Term
- | NoBindingForBuiltin String
- | NoSuchPrimitiveFunction String
- | DuplicatePrimitiveBinding String QName QName
- | WrongModalityForPrimitive String ArgInfo ArgInfo
- | ShadowedModule Name [ModuleName]
- | BuiltinInParameterisedModule String
- | IllegalLetInTelescope TypedBinding
- | IllegalPatternInTelescope Binder
- | NoRHSRequiresAbsurdPattern [NamedArg Pattern]
- | TooManyFields QName [Name] [Name]
- | DuplicateFields [Name]
- | DuplicateConstructors [Name]
- | WithOnFreeVariable Expr Term
- | UnexpectedWithPatterns [Pattern]
- | WithClausePatternMismatch Pattern (NamedArg DeBruijnPattern)
- | FieldOutsideRecord
- | ModuleArityMismatch ModuleName Telescope [NamedArg Expr]
- | GeneralizeCyclicDependency
- | GeneralizeUnsolvedMeta
- | SplitError SplitError
- | ImpossibleConstructor QName NegativeUnification
- | TooManyPolarities QName Int
- | LocalVsImportedModuleClash ModuleName
- | SolvedButOpenHoles
- | CyclicModuleDependency [TopLevelModuleName]
- | FileNotFound TopLevelModuleName [AbsolutePath]
- | OverlappingProjects AbsolutePath TopLevelModuleName TopLevelModuleName
- | AmbiguousTopLevelModuleName TopLevelModuleName [AbsolutePath]
- | ModuleNameUnexpected TopLevelModuleName TopLevelModuleName
- | ModuleNameDoesntMatchFileName TopLevelModuleName [AbsolutePath]
- | ClashingFileNamesFor ModuleName [AbsolutePath]
- | ModuleDefinedInOtherFile TopLevelModuleName AbsolutePath AbsolutePath
- | BothWithAndRHS
- | AbstractConstructorNotInScope QName
- | NotInScope [QName]
- | NoSuchModule QName
- | AmbiguousName QName (List1 QName)
- | AmbiguousModule QName (List1 ModuleName)
- | ClashingDefinition QName QName (Maybe NiceDeclaration)
- | ClashingModule ModuleName ModuleName
- | ClashingImport Name QName
- | ClashingModuleImport Name ModuleName
- | PatternShadowsConstructor Name QName
- | DuplicateImports QName [ImportedName]
- | InvalidPattern Pattern
- | RepeatedVariablesInPattern [Name]
- | GeneralizeNotSupportedHere QName
- | MultipleFixityDecls [(Name, [Fixity'])]
- | MultiplePolarityPragmas [Name]
- | NotAModuleExpr Expr
- | NotAnExpression Expr
- | NotAValidLetBinding NiceDeclaration
- | NotValidBeforeField NiceDeclaration
- | NothingAppliedToHiddenArg Expr
- | NothingAppliedToInstanceArg Expr
- | BadArgumentsToPatternSynonym AmbiguousQName
- | TooFewArgumentsToPatternSynonym AmbiguousQName
- | CannotResolveAmbiguousPatternSynonym (List1 (QName, PatternSynDefn))
- | UnusedVariableInPatternSynonym
- | NoParseForApplication (List2 Expr)
- | AmbiguousParseForApplication (List2 Expr) (List1 Expr)
- | NoParseForLHS LHSOrPatSyn [Pattern] Pattern
- | AmbiguousParseForLHS LHSOrPatSyn Pattern [Pattern]
- | OperatorInformation [NotationSection] TypeError
- | InstanceNoCandidate Type [(Term, TCErr)]
- | UnquoteFailed UnquoteError
- | DeBruijnIndexOutOfScope Nat Telescope [Name]
- | NeedOptionCopatterns
- | NeedOptionRewriting
- | NeedOptionProp
- | NeedOptionTwoLevel
- | NonFatalErrors [TCWarning]
- | InstanceSearchDepthExhausted Term Type Int
- | TriedToCopyConstrainedPrim QName
- data UnquoteError
- = BadVisibility String (Arg Term)
- | ConInsteadOfDef QName String String
- | DefInsteadOfCon QName String String
- | NonCanonical String Term
- | BlockedOnMeta TCState Blocker
- | UnquotePanic String
- data UnificationFailure
- data NegativeUnification
- data SplitError
- = NotADatatype (Closure Type)
- | BlockedType Blocker (Closure Type)
- | ErasedDatatype Bool (Closure Type)
- | CoinductiveDatatype (Closure Type)
- | UnificationStuck { }
- | CosplitCatchall
- | CosplitNoTarget
- | CosplitNoRecordType (Closure Type)
- | CannotCreateMissingClause QName (Telescope, [NamedArg DeBruijnPattern]) Doc (Closure (Abs Type))
- | GenericSplitError String
- data TerminationError = TerminationError {
- termErrFunctions :: [QName]
- termErrCalls :: [CallInfo]
- data CallInfo = CallInfo {}
- data RecordFieldWarning
- = DuplicateFieldsWarning [(Name, Range)]
- | TooManyFieldsWarning QName [Name] [(Name, Range)]
- data ArgsCheckState a = ACState {
- acRanges :: [Maybe Range]
- acElims :: Elims
- acConstraints :: [Maybe (Abs Constraint)]
- acType :: Type
- acData :: a
- data Candidate = Candidate {}
- data CandidateKind
- data ExpandHidden
- data AbstractMode
- type LetBindings = Map Name (Open (Term, Dom Type))
- type ContextEntry = Dom (Name, Type)
- type Context = [ContextEntry]
- data UnquoteFlags = UnquoteFlags {
- _unquoteNormalise :: Bool
- class LensTCEnv a where
- data Builtin pf
- type BuiltinThings pf = Map String (Builtin pf)
- data BuiltinInfo = BuiltinInfo {
- builtinName :: String
- builtinDesc :: BuiltinDescriptor
- data BuiltinDescriptor
- = BuiltinData (TCM Type) [String]
- | BuiltinDataCons (TCM Type)
- | BuiltinPrim String (Term -> TCM ())
- | BuiltinSort String
- | BuiltinPostulate Relevance (TCM Type)
- | BuiltinUnknown (Maybe (TCM Type)) (Term -> Type -> TCM ())
- type TempInstanceTable = (InstanceTable, Set QName)
- type InstanceTable = Map QName (Set QName)
- 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 Range [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
- | CheckConstructorFitsIn QName Type Sort
- | CheckFunDefCall Range QName [Clause] Bool
- | CheckPragma Range Pragma
- | CheckPrimitive Range QName Expr
- | CheckIsEmpty Range Type
- | CheckConfluence QName QName
- | CheckWithFunctionType Type
- | CheckSectionApplication Range ModuleName ModuleApplication
- | CheckNamedWhere ModuleName
- | ScopeCheckExpr Expr
- | ScopeCheckDeclaration NiceDeclaration
- | ScopeCheckLHS QName Pattern
- | NoHighlighting
- | ModuleContents
- | SetRange Range
- type Statistics = Map String Integer
- newtype MutualId = MutId Int32
- data TermHead
- data FunctionInverse' c
- = NotInjective
- | Inverse (InversionMap c)
- type InversionMap c = Map TermHead [c]
- type FunctionInverse = FunctionInverse' Clause
- data PrimFun = PrimFun {
- primFunName :: QName
- primFunArity :: Arity
- primFunImplementation :: [Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)
- data PrimitiveImpl = PrimImpl Type PrimFun
- data ReduceDefs
- = OnlyReduceDefs (Set QName)
- | DontReduceDefs (Set QName)
- type AllowedReductions = SmallSet AllowedReduction
- data AllowedReduction
- type MaybeReducedElims = [MaybeReduced Elim]
- type MaybeReducedArgs = [MaybeReduced (Arg Term)]
- data MaybeReduced a = MaybeRed {
- isReduced :: IsReduced
- ignoreReduced :: a
- data IsReduced
- = NotReduced
- | Reduced (Blocked ())
- data Reduced no yes
- = NoReduction no
- | YesReduction Simplification yes
- data Simplification
- newtype Fields = Fields [(Name, Type)]
- data Defn
- = Axiom {
- axiomConstTransp :: Bool
- | DataOrRecSig {
- datarecPars :: Int
- | GeneralizableVar
- | AbstractDefn Defn
- | Function {
- funClauses :: [Clause]
- funCompiled :: Maybe CompiledClauses
- funSplitTree :: Maybe SplitTree
- funTreeless :: Maybe Compiled
- funCovering :: [Clause]
- funInv :: FunctionInverse
- funMutual :: Maybe [QName]
- funAbstr :: IsAbstract
- funDelayed :: Delayed
- funProjection :: Maybe Projection
- funFlags :: Set FunctionFlag
- funTerminates :: Maybe Bool
- funExtLam :: Maybe ExtLamInfo
- funWith :: Maybe QName
- | Datatype {
- dataPars :: Nat
- dataIxs :: Nat
- dataClause :: Maybe Clause
- dataCons :: [QName]
- dataSort :: Sort
- dataMutual :: Maybe [QName]
- dataAbstr :: IsAbstract
- dataPathCons :: [QName]
- | Record {
- recPars :: Nat
- recClause :: Maybe Clause
- recConHead :: ConHead
- recNamedCon :: Bool
- recFields :: [Dom QName]
- recTel :: Telescope
- recMutual :: Maybe [QName]
- recEtaEquality' :: EtaEquality
- recPatternMatching :: PatternOrCopattern
- recInduction :: Maybe Induction
- recAbstr :: IsAbstract
- recComp :: CompKit
- | Constructor { }
- | Primitive {
- primAbstr :: IsAbstract
- primName :: String
- primClauses :: [Clause]
- primInv :: FunctionInverse
- primCompiled :: Maybe CompiledClauses
- | PrimitiveSort { }
- = Axiom {
- data CompKit = CompKit {
- nameOfHComp :: Maybe QName
- nameOfTransp :: Maybe QName
- data FunctionFlag
- data EtaEquality
- = Specified {
- theEtaEquality :: !HasEta
- | Inferred {
- theEtaEquality :: !HasEta
- = Specified {
- newtype ProjLams = ProjLams {
- getProjLams :: [Arg ArgName]
- data Projection = Projection {
- projProper :: Maybe QName
- projOrig :: QName
- projFromType :: Arg QName
- projIndex :: Int
- projLams :: ProjLams
- data ExtLamInfo = ExtLamInfo {
- extLamModule :: ModuleName
- extLamAbsurd :: Bool
- extLamSys :: !(Maybe System)
- data System = System {
- systemTel :: Telescope
- systemClauses :: [(Face, Term)]
- type Face = [(Term, Bool)]
- type CompiledRepresentation = Map BackendName [CompilerPragma]
- data CompilerPragma = CompilerPragma Range String
- data IsForced
- data NumGeneralizableArgs
- data Definition = Defn {
- defArgInfo :: ArgInfo
- defName :: QName
- defType :: Type
- defPolarity :: [Polarity]
- defArgOccurrences :: [Occurrence]
- defArgGeneralizable :: NumGeneralizableArgs
- defGeneralizedParams :: [Maybe Name]
- defDisplay :: [LocalDisplayForm]
- defMutual :: MutualId
- defCompiledRep :: CompiledRepresentation
- defInstance :: Maybe QName
- defCopy :: Bool
- defMatchable :: Set QName
- defNoCompilation :: Bool
- defInjective :: Bool
- defCopatternLHS :: Bool
- defBlocked :: Blocked_
- defLanguage :: !Language
- theDef :: Defn
- data RewriteRule = RewriteRule {}
- type RewriteRules = [RewriteRule]
- data NLPSort
- data NLPType = NLPType {}
- type PElims = [Elim' NLPat]
- data NLPat
- data DisplayTerm
- = DWithApp DisplayTerm [DisplayTerm] Elims
- | DCon ConHead ConInfo [Arg DisplayTerm]
- | DDef QName [Elim' DisplayTerm]
- | DDot Term
- | DTerm Term
- type LocalDisplayForm = Open DisplayForm
- data DisplayForm = Display {
- dfPatternVars :: Nat
- dfPats :: Elims
- dfRHS :: DisplayTerm
- newtype Section = Section {}
- type DisplayForms = HashMap QName [LocalDisplayForm]
- type RewriteRuleMap = HashMap QName RewriteRules
- type Definitions = HashMap QName Definition
- type Sections = Map ModuleName Section
- data Signature = Sig {}
- data IPClause
- = IPClause {
- ipcQName :: QName
- ipcClauseNo :: Int
- ipcType :: Type
- ipcWithSub :: Maybe Substitution
- ipcClause :: SpineClause
- ipcClosure :: Closure ()
- ipcBoundary :: [Closure IPBoundary]
- | IPNoClause
- = IPClause {
- type IPBoundary = IPBoundary' Term
- data IPBoundary' t = IPBoundary {
- ipbEquations :: [(t, t)]
- ipbValue :: t
- ipbMetaApp :: t
- ipbOverapplied :: Overapplied
- data Overapplied
- type InteractionPoints = BiMap InteractionId InteractionPoint
- data InteractionPoint = InteractionPoint {}
- type MetaStore = IntMap MetaVariable
- type MetaNameSuggestion = String
- data MetaInfo = MetaInfo {}
- data RunMetaOccursCheck
- newtype MetaPriority = MetaPriority Int
- data TypeCheckingProblem
- = CheckExpr Comparison Expr Type
- | CheckArgs Comparison ExpandHidden Range [NamedArg Expr] Type Type (ArgsCheckState CheckedTarget -> TCM Term)
- | CheckProjAppToKnownPrincipalArg Comparison Expr ProjOrigin (List1 QName) Args Type Int Term Type PrincipalArgTypeMetas
- | CheckLambda Comparison (Arg (List1 (WithHiding Name), Maybe Type)) Expr Type
- | DoQuoteTerm Comparison Term Type
- data PrincipalArgTypeMetas = PrincipalArgTypeMetas {
- patmMetas :: Args
- patmRemainder :: Type
- data CheckedTarget
- = CheckedTarget (Maybe ProblemId)
- | NotCheckedTarget
- data MetaInstantiation
- = InstV [Arg String] Term
- | Open
- | OpenInstance
- | BlockedConst Term
- | PostponedTypeCheckingProblem (Closure TypeCheckingProblem)
- data Frozen
- data Listener
- data MetaVariable = MetaVar {
- mvInfo :: MetaInfo
- mvPriority :: MetaPriority
- mvPermutation :: Permutation
- mvJudgement :: Judgement MetaId
- mvInstantiation :: MetaInstantiation
- mvListeners :: Set Listener
- mvFrozen :: Frozen
- mvTwin :: Maybe MetaId
- data GeneralizedValue = GeneralizedValue {}
- data DoGeneralize
- data Judgement a
- = HasType {
- jMetaId :: a
- jComparison :: Comparison
- jMetaType :: Type
- | IsSort { }
- = HasType {
- data Open a = OpenThing {}
- data CompareAs
- data CompareDirection
- 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)
- | CheckMetaInst MetaId
- | CheckType Type
- | UnBlock MetaId
- | IsEmpty Range Type
- | CheckSizeLtSat Term
- | FindInstance MetaId (Maybe [Candidate])
- | CheckFunDef Delayed DefInfo QName [Clause] TCErr
- | UnquoteTactic Term Term Type
- | CheckLockedVars Term Type (Arg Term) Type
- | UsableAtModality Modality Term
- data ProblemConstraint = PConstr {}
- type Constraints = [ProblemConstraint]
- class LensClosure a b | b -> a where
- lensClosure :: Lens' (Closure a) b
- data Closure a = Closure {
- clSignature :: Signature
- clEnv :: TCEnv
- clScope :: ScopeInfo
- clModuleCheckpoints :: Map ModuleName CheckpointId
- clValue :: a
- data Interface = Interface {
- iSourceHash :: Hash
- iSource :: Text
- iFileType :: FileType
- iImportedModules :: [(ModuleName, Hash)]
- iModuleName :: ModuleName
- iScope :: Map ModuleName Scope
- iInsideScope :: ScopeInfo
- iSignature :: Signature
- iDisplayForms :: DisplayForms
- iUserWarnings :: Map QName Text
- iImportWarning :: Maybe Text
- iBuiltin :: BuiltinThings (String, QName)
- iForeignCode :: Map BackendName [ForeignCode]
- iHighlighting :: HighlightingInfo
- iDefaultPragmaOptions :: [OptionsPragma]
- iFilePragmaOptions :: [OptionsPragma]
- iOptionsUsed :: PragmaOptions
- iPatternSyns :: PatternSynDefns
- iWarnings :: [TCWarning]
- iPartialDefs :: Set QName
- data ForeignCode = ForeignCode Range String
- type DecodedModules = Map TopLevelModuleName ModuleInfo
- type VisitedModules = Map TopLevelModuleName ModuleInfo
- data ModuleInfo = ModuleInfo {
- miInterface :: Interface
- miWarnings :: [TCWarning]
- miPrimitive :: Bool
- miMode :: ModuleCheckMode
- data ModuleCheckMode
- class Monad m => MonadStConcreteNames m where
- runStConcreteNames :: StateT ConcreteNames m a -> m a
- useConcreteNames :: m ConcreteNames
- modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> m ()
- type SourceToModule = Map AbsolutePath TopLevelModuleName
- class FreshName a where
- freshName_ :: MonadFresh NameId m => a -> m Name
- newtype CheckpointId = CheckpointId Int
- class Monad m => MonadFresh i m where
- fresh :: m i
- class Enum i => HasFresh i where
- freshLens :: Lens' i TCState
- nextFresh' :: i -> i
- data TypeCheckAction
- type CurrentTypeCheckLog = [(TypeCheckAction, PostScopeState)]
- type CachedTypeCheckLog = [(TypeCheckAction, PostScopeState)]
- data LoadedFileCache = LoadedFileCache {}
- data PersistentTCState = PersistentTCSt {}
- data MutualBlock = MutualBlock {
- mutualInfo :: MutualInfo
- mutualNames :: Set QName
- data PostScopeState = PostScopeState {
- stPostSyntaxInfo :: !HighlightingInfo
- stPostDisambiguatedNames :: !DisambiguatedNames
- stPostMetaStore :: !MetaStore
- stPostInteractionPoints :: !InteractionPoints
- stPostAwakeConstraints :: !Constraints
- stPostSleepingConstraints :: !Constraints
- stPostDirty :: !Bool
- stPostOccursCheckDefs :: !(Set QName)
- stPostSignature :: !Signature
- stPostModuleCheckpoints :: !(Map ModuleName CheckpointId)
- stPostImportsDisplayForms :: !DisplayForms
- stPostCurrentModule :: !(Maybe ModuleName)
- stPostInstanceDefs :: !TempInstanceTable
- stPostConcreteNames :: !ConcreteNames
- stPostUsedNames :: !(Map RawName [RawName])
- stPostShadowingNames :: !(Map Name [RawName])
- stPostStatistics :: !Statistics
- stPostTCWarnings :: ![TCWarning]
- stPostMutualBlocks :: !(Map MutualId MutualBlock)
- stPostLocalBuiltins :: !(BuiltinThings PrimFun)
- stPostFreshMetaId :: !MetaId
- stPostFreshMutualId :: !MutualId
- stPostFreshProblemId :: !ProblemId
- stPostFreshCheckpointId :: !CheckpointId
- stPostFreshInt :: !Int
- stPostFreshNameId :: !NameId
- stPostAreWeCaching :: !Bool
- stPostPostponeInstanceSearch :: !Bool
- stPostConsideringInstance :: !Bool
- stPostInstantiateBlocking :: !Bool
- stPostLocalPartialDefs :: !(Set QName)
- type ConcreteNames = Map Name [Name]
- type DisambiguatedNames = IntMap DisambiguatedName
- data DisambiguatedName = DisambiguatedName NameKind QName
- data PreScopeState = PreScopeState {
- stPreTokens :: !HighlightingInfo
- stPreImports :: !Signature
- stPreImportedModules :: !(Set ModuleName)
- stPreModuleToSource :: !ModuleToSource
- stPreVisitedModules :: !VisitedModules
- stPreScope :: !ScopeInfo
- stPrePatternSyns :: !PatternSynDefns
- stPrePatternSynImports :: !PatternSynDefns
- stPreGeneralizedVars :: !(Maybe (Set QName))
- stPrePragmaOptions :: !PragmaOptions
- stPreImportedBuiltins :: !(BuiltinThings PrimFun)
- stPreImportedDisplayForms :: !DisplayForms
- stPreImportedInstanceDefs :: !InstanceTable
- stPreForeignCode :: !(Map BackendName [ForeignCode])
- stPreFreshInteractionId :: !InteractionId
- stPreImportedUserWarnings :: !(Map QName Text)
- stPreLocalUserWarnings :: !(Map QName Text)
- stPreWarningOnImport :: !(Maybe Text)
- stPreImportedPartialDefs :: !(Set QName)
- stPreProjectConfigs :: !(Map FilePath ProjectConfig)
- stPreAgdaLibFiles :: !(Map FilePath AgdaLibFile)
- class Monad m => ReadTCState m where
- getTCState :: m TCState
- locallyTCState :: Lens' a TCState -> (a -> a) -> m b -> m b
- withTCState :: (TCState -> TCState) -> m a -> m a
- initPersistentState :: PersistentTCState
- initPreScopeState :: PreScopeState
- initPostScopeState :: PostScopeState
- initState :: TCState
- stTokens :: Lens' HighlightingInfo TCState
- stImports :: Lens' Signature TCState
- stImportedModules :: Lens' (Set ModuleName) TCState
- stModuleToSource :: Lens' ModuleToSource TCState
- stVisitedModules :: Lens' VisitedModules TCState
- stScope :: Lens' ScopeInfo TCState
- stPatternSyns :: Lens' PatternSynDefns TCState
- stPatternSynImports :: Lens' PatternSynDefns TCState
- stGeneralizedVars :: Lens' (Maybe (Set QName)) TCState
- stPragmaOptions :: Lens' PragmaOptions TCState
- stImportedBuiltins :: Lens' (BuiltinThings PrimFun) TCState
- stForeignCode :: Lens' (Map BackendName [ForeignCode]) TCState
- stFreshInteractionId :: Lens' InteractionId TCState
- stImportedUserWarnings :: Lens' (Map QName Text) TCState
- stLocalUserWarnings :: Lens' (Map QName Text) TCState
- getUserWarnings :: ReadTCState m => m (Map QName Text)
- stWarningOnImport :: Lens' (Maybe Text) TCState
- stImportedPartialDefs :: Lens' (Set QName) TCState
- stLocalPartialDefs :: Lens' (Set QName) TCState
- getPartialDefs :: ReadTCState m => m (Set QName)
- stLoadedFileCache :: Lens' (Maybe LoadedFileCache) TCState
- stBackends :: Lens' [Backend] TCState
- stProjectConfigs :: Lens' (Map FilePath ProjectConfig) TCState
- stAgdaLibFiles :: Lens' (Map FilePath AgdaLibFile) TCState
- stFreshNameId :: Lens' NameId TCState
- stSyntaxInfo :: Lens' HighlightingInfo TCState
- stDisambiguatedNames :: Lens' DisambiguatedNames TCState
- stMetaStore :: Lens' MetaStore TCState
- stInteractionPoints :: Lens' InteractionPoints TCState
- stAwakeConstraints :: Lens' Constraints TCState
- stSleepingConstraints :: Lens' Constraints TCState
- stDirty :: Lens' Bool TCState
- stOccursCheckDefs :: Lens' (Set QName) TCState
- stSignature :: Lens' Signature TCState
- stModuleCheckpoints :: Lens' (Map ModuleName CheckpointId) TCState
- stImportsDisplayForms :: Lens' DisplayForms TCState
- stImportedDisplayForms :: Lens' DisplayForms TCState
- stCurrentModule :: Lens' (Maybe ModuleName) TCState
- stImportedInstanceDefs :: Lens' InstanceTable TCState
- stInstanceDefs :: Lens' TempInstanceTable TCState
- stConcreteNames :: Lens' ConcreteNames TCState
- stUsedNames :: Lens' (Map RawName [RawName]) TCState
- stShadowingNames :: Lens' (Map Name [RawName]) TCState
- stStatistics :: Lens' Statistics TCState
- stTCWarnings :: Lens' [TCWarning] TCState
- stMutualBlocks :: Lens' (Map MutualId MutualBlock) TCState
- stLocalBuiltins :: Lens' (BuiltinThings PrimFun) TCState
- stFreshMetaId :: Lens' MetaId TCState
- stFreshMutualId :: Lens' MutualId TCState
- stFreshProblemId :: Lens' ProblemId TCState
- stFreshCheckpointId :: Lens' CheckpointId TCState
- stFreshInt :: Lens' Int TCState
- stAreWeCaching :: Lens' Bool TCState
- stPostponeInstanceSearch :: Lens' Bool TCState
- stConsideringInstance :: Lens' Bool TCState
- stInstantiateBlocking :: Lens' Bool TCState
- stBuiltinThings :: TCState -> BuiltinThings PrimFun
- 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
- sourceToModule :: TCM SourceToModule
- lookupModuleFromSource :: ReadTCState m => AbsolutePath -> m (Maybe TopLevelModuleName)
- iFullHash :: Interface -> Hash
- intSignature :: Lens' Signature Interface
- buildClosure :: (MonadTCEnv m, ReadTCState m) => a -> m (Closure a)
- fromCmp :: Comparison -> CompareDirection
- flipCmp :: CompareDirection -> CompareDirection
- dirToCmp :: (Comparison -> a -> a -> c) -> CompareDirection -> a -> a -> c
- normalMetaPriority :: MetaPriority
- lowMetaPriority :: MetaPriority
- highMetaPriority :: MetaPriority
- getMetaInfo :: MetaVariable -> Closure Range
- getMetaScope :: MetaVariable -> ScopeInfo
- getMetaEnv :: MetaVariable -> TCEnv
- getMetaSig :: MetaVariable -> Signature
- getMetaRelevance :: MetaVariable -> Relevance
- getMetaModality :: MetaVariable -> Modality
- metaFrozen :: Lens' Frozen MetaVariable
- _mvInfo :: Lens' MetaInfo MetaVariable
- sigSections :: Lens' Sections Signature
- sigDefinitions :: Lens' Definitions Signature
- sigRewriteRules :: Lens' RewriteRuleMap Signature
- secTelescope :: Lens' Telescope Section
- emptySignature :: Signature
- defaultDisplayForm :: QName -> [LocalDisplayForm]
- theDefLens :: Lens' Defn Definition
- defaultDefn :: ArgInfo -> QName -> Type -> Language -> Defn -> Definition
- jsBackendName :: BackendName
- ghcBackendName :: BackendName
- noCompiledRep :: CompiledRepresentation
- modifySystem :: (System -> System) -> ExtLamInfo -> ExtLamInfo
- projDropPars :: Projection -> ProjOrigin -> Term
- projArgInfo :: Projection -> ArgInfo
- setEtaEquality :: EtaEquality -> HasEta -> EtaEquality
- emptyCompKit :: CompKit
- defaultAxiom :: Defn
- constTranspAxiom :: Defn
- recRecursive :: Defn -> Bool
- recEtaEquality :: Defn -> HasEta
- emptyFunction :: Defn
- funFlag :: FunctionFlag -> Lens' Bool Defn
- funStatic :: Lens' Bool Defn
- funInline :: Lens' Bool Defn
- funMacro :: Lens' Bool Defn
- isMacro :: Defn -> Bool
- isEmptyFunction :: Defn -> Bool
- isCopatternLHS :: [Clause] -> Bool
- recCon :: Defn -> QName
- defIsRecord :: Defn -> Bool
- defIsDataOrRecord :: Defn -> Bool
- defConstructors :: Defn -> [QName]
- redReturn :: a -> ReduceM (Reduced a' a)
- redBind :: ReduceM (Reduced a a') -> (a -> b) -> (a' -> ReduceM (Reduced b b')) -> ReduceM (Reduced b b')
- notReduced :: a -> MaybeReduced a
- reduced :: Blocked (Arg Term) -> MaybeReduced (Arg Term)
- allReductions :: AllowedReductions
- reallyAllReductions :: AllowedReductions
- reduceAllDefs :: ReduceDefs
- locallyReduceDefs :: MonadTCEnv m => ReduceDefs -> m a -> m a
- locallyReduceAllDefs :: MonadTCEnv m => m a -> m a
- shouldReduceDef :: MonadTCEnv m => QName -> m Bool
- locallyReconstructed :: MonadTCEnv m => m a -> m a
- isReconstructed :: MonadTCEnv m => m Bool
- 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]
- defDelayed :: Definition -> Delayed
- defNonterminating :: Definition -> Bool
- defTerminationUnconfirmed :: Definition -> Bool
- defAbstract :: Definition -> IsAbstract
- defForced :: Definition -> [IsForced]
- ifTopLevelAndHighlightingLevelIsOr :: MonadTCEnv tcm => HighlightingLevel -> Bool -> tcm () -> tcm ()
- ifTopLevelAndHighlightingLevelIs :: MonadTCEnv tcm => HighlightingLevel -> tcm () -> tcm ()
- initEnv :: TCEnv
- defaultUnquoteFlags :: UnquoteFlags
- unquoteNormalise :: Lens' Bool UnquoteFlags
- eUnquoteNormalise :: Lens' Bool TCEnv
- eContext :: Lens' Context TCEnv
- eLetBindings :: Lens' LetBindings TCEnv
- eCurrentModule :: Lens' ModuleName TCEnv
- eCurrentPath :: Lens' (Maybe AbsolutePath) TCEnv
- eAnonymousModules :: Lens' [(ModuleName, Nat)] TCEnv
- eImportPath :: Lens' [TopLevelModuleName] TCEnv
- eMutualBlock :: Lens' (Maybe MutualId) TCEnv
- eTerminationCheck :: Lens' (TerminationCheck ()) TCEnv
- eCoverageCheck :: Lens' CoverageCheck TCEnv
- eMakeCase :: Lens' Bool TCEnv
- eSolvingConstraints :: Lens' Bool TCEnv
- eCheckingWhere :: Lens' Bool TCEnv
- eWorkingOnTypes :: Lens' Bool TCEnv
- eAssignMetas :: Lens' Bool TCEnv
- eActiveProblems :: Lens' (Set ProblemId) TCEnv
- eAbstractMode :: Lens' AbstractMode TCEnv
- eModality :: Lens' Modality TCEnv
- eRelevance :: Lens' Relevance TCEnv
- eQuantity :: Lens' Quantity TCEnv
- eSplitOnStrict :: Lens' Bool TCEnv
- eDisplayFormsEnabled :: Lens' Bool TCEnv
- eRange :: Lens' Range TCEnv
- eHighlightingRange :: Lens' Range TCEnv
- eCall :: Lens' (Maybe (Closure Call)) TCEnv
- eHighlightingLevel :: Lens' HighlightingLevel TCEnv
- eHighlightingMethod :: Lens' HighlightingMethod TCEnv
- eExpandLast :: Lens' ExpandHidden TCEnv
- eAppDef :: Lens' (Maybe QName) TCEnv
- eSimplification :: Lens' Simplification TCEnv
- eAllowedReductions :: Lens' AllowedReductions TCEnv
- eReduceDefs :: Lens' ReduceDefs TCEnv
- eReconstructed :: Lens' Bool TCEnv
- eInjectivityDepth :: Lens' Int TCEnv
- eCompareBlocked :: Lens' Bool TCEnv
- ePrintDomainFreePi :: Lens' Bool TCEnv
- ePrintMetasBare :: Lens' Bool TCEnv
- eInsideDotPattern :: Lens' Bool TCEnv
- eUnquoteFlags :: Lens' UnquoteFlags TCEnv
- eInstanceDepth :: Lens' Int TCEnv
- eIsDebugPrinting :: Lens' Bool TCEnv
- ePrintingPatternLambdas :: Lens' [QName] TCEnv
- eCallByNeed :: Lens' Bool TCEnv
- eCurrentCheckpoint :: Lens' CheckpointId TCEnv
- eCheckpoints :: Lens' (Map CheckpointId Substitution) TCEnv
- eGeneralizeMetas :: Lens' DoGeneralize TCEnv
- eGeneralizedVars :: Lens' (Map QName GeneralizedValue) TCEnv
- eActiveBackendName :: Lens' (Maybe BackendName) TCEnv
- eConflComputingOverlap :: Lens' Bool TCEnv
- eCurrentlyElaborating :: Lens' Bool TCEnv
- aDefToMode :: IsAbstract -> AbstractMode
- aModeToDef :: AbstractMode -> Maybe IsAbstract
- isDontExpandLast :: ExpandHidden -> Bool
- recordFieldWarningToError :: RecordFieldWarning -> TypeError
- warningName :: Warning -> WarningName
- tcWarningOrigin :: TCWarning -> SrcFile
- sizedTypesOption :: HasOptions m => m Bool
- guardednessOption :: HasOptions m => m Bool
- withoutKOption :: HasOptions m => m Bool
- enableCaching :: HasOptions m => m Bool
- mapRedEnv :: (TCEnv -> TCEnv) -> ReduceEnv -> ReduceEnv
- mapRedSt :: (TCState -> TCState) -> ReduceEnv -> ReduceEnv
- mapRedEnvSt :: (TCEnv -> TCEnv) -> (TCState -> TCState) -> ReduceEnv -> ReduceEnv
- reduceEnv :: Lens' TCEnv ReduceEnv
- reduceSt :: Lens' TCState ReduceEnv
- 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
- runReduceM :: ReduceM a -> TCM a
- runReduceF :: (a -> ReduceM b) -> TCM (a -> b)
- useR :: ReadTCState m => Lens' a TCState -> m a
- askR :: ReduceM ReduceEnv
- localR :: (ReduceEnv -> ReduceEnv) -> ReduceM a -> ReduceM a
- asksTC :: MonadTCEnv m => (TCEnv -> a) -> m a
- viewTC :: MonadTCEnv m => Lens' a TCEnv -> m a
- locallyTC :: MonadTCEnv m => Lens' a TCEnv -> (a -> a) -> m b -> m b
- getsTC :: ReadTCState m => (TCState -> a) -> m a
- modifyTC' :: MonadTCState m => (TCState -> TCState) -> m ()
- useTC :: ReadTCState m => Lens' a TCState -> m a
- setTCLens :: MonadTCState m => Lens' a TCState -> a -> m ()
- modifyTCLens :: MonadTCState m => Lens' a TCState -> (a -> a) -> m ()
- modifyTCLensM :: MonadTCState m => Lens' a TCState -> (a -> m a) -> m ()
- stateTCLens :: MonadTCState m => Lens' a TCState -> (a -> (r, a)) -> m r
- stateTCLensM :: MonadTCState m => Lens' a TCState -> (a -> m (r, a)) -> m r
- runBlocked :: Monad m => BlockT m a -> m (Either Blocker a)
- mapTCMT :: (forall a. m a -> n a) -> TCMT m a -> TCMT n a
- pureTCM :: MonadIO m => (TCState -> TCEnv -> a) -> TCMT m a
- returnTCMT :: Applicative m => a -> TCMT m a
- bindTCMT :: Monad m => TCMT m a -> (a -> TCMT m b) -> TCMT m b
- thenTCMT :: Applicative m => TCMT m a -> TCMT m b -> TCMT m b
- fmapTCMT :: Functor m => (a -> b) -> TCMT m a -> TCMT m b
- apTCMT :: 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
- internalError :: (HasCallStack, MonadTCM tcm) => String -> tcm 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' :: MonadTCError m => CallStack -> TypeError -> m a
- typeError :: (HasCallStack, MonadTCError m) => TypeError -> m a
- typeError'_ :: (MonadTCEnv m, ReadTCState m) => CallStack -> TypeError -> m TCErr
- typeError_ :: (HasCallStack, MonadTCEnv m, ReadTCState m) => TypeError -> m TCErr
- 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 a -> TCM ()
- patternInTeleName :: String
- extendedLambdaName :: String
- isExtendedLambdaName :: QName -> Bool
- absurdLambdaName :: String
- isAbsurdLambdaName :: QName -> Bool
- generalizedFieldName :: String
- getGeneralizedFieldName :: QName -> Maybe String
- getIncludeDirs :: HasOptions m => m [AbsolutePath]
- libToTCM :: LibM a -> TCM a
- class (MonadTCEnv m, ReadTCState m) => MonadInteractionPoints m where
- freshInteractionId :: m InteractionId
- modifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> m ()
- addImport :: ModuleName -> TCM ()
- addImportCycleCheck :: TopLevelModuleName -> TCM a -> TCM a
- getImports :: TCM (Set ModuleName)
- isImported :: ModuleName -> TCM Bool
- getImportPath :: TCM [TopLevelModuleName]
- visitModule :: ModuleInfo -> TCM ()
- setVisitedModules :: VisitedModules -> TCM ()
- getVisitedModules :: ReadTCState m => m VisitedModules
- getPrettyVisitedModules :: ReadTCState m => m Doc
- getVisitedModule :: ReadTCState m => TopLevelModuleName -> m (Maybe ModuleInfo)
- getDecodedModules :: TCM DecodedModules
- setDecodedModules :: DecodedModules -> TCM ()
- getDecodedModule :: TopLevelModuleName -> TCM (Maybe ModuleInfo)
- storeDecodedModule :: ModuleInfo -> TCM ()
- dropDecodedModule :: TopLevelModuleName -> TCM ()
- withImportPath :: [TopLevelModuleName] -> TCM a -> TCM a
- checkForImportCycle :: TCM ()
- currentModule :: MonadTCEnv m => m ModuleName
- withCurrentModule :: MonadTCEnv m => ModuleName -> m a -> m a
- getCurrentPath :: MonadTCEnv m => m AbsolutePath
- getAnonymousVariables :: MonadTCEnv m => ModuleName -> m Nat
- withAnonymousModule :: ModuleName -> Nat -> TCM a -> TCM a
- withEnv :: MonadTCEnv m => TCEnv -> m a -> m a
- getEnv :: TCM TCEnv
- withHighlightingLevel :: HighlightingLevel -> TCM a -> TCM a
- doExpandLast :: TCM a -> TCM a
- dontExpandLast :: TCM a -> TCM a
- reallyDontExpandLast :: TCM a -> TCM a
- performedSimplification :: MonadTCEnv m => m a -> m a
- performedSimplification' :: MonadTCEnv m => Simplification -> m a -> m a
- getSimplification :: MonadTCEnv m => m Simplification
- updateAllowedReductions :: (AllowedReductions -> AllowedReductions) -> TCEnv -> TCEnv
- modifyAllowedReductions :: MonadTCEnv m => (AllowedReductions -> AllowedReductions) -> m a -> m a
- putAllowedReductions :: MonadTCEnv m => AllowedReductions -> m a -> m a
- onlyReduceProjections :: MonadTCEnv m => m a -> m a
- allowAllReductions :: MonadTCEnv m => m a -> m a
- allowNonTerminatingReductions :: MonadTCEnv m => m a -> m a
- onlyReduceTypes :: MonadTCEnv m => m a -> m a
- typeLevelReductions :: MonadTCEnv m => m a -> m a
- insideDotPattern :: TCM a -> TCM a
- isInsideDotPattern :: TCM Bool
- callByName :: TCM a -> TCM a
- class MonadTCEnv m => MonadAddContext m where
- addCtx :: Name -> Dom Type -> m a -> m a
- addLetBinding' :: Name -> Term -> Dom Type -> m a -> m a
- updateContext :: Substitution -> (Context -> Context) -> m a -> m a
- withFreshName :: Range -> ArgName -> (Name -> m a) -> m a
- checkpointSubstitution :: MonadTCEnv tcm => CheckpointId -> tcm Substitution
- class (Functor m, Applicative m, MonadFail m) => HasBuiltins m where
- getBuiltinThing :: String -> m (Maybe (Builtin PrimFun))
- class TraceS a where
- traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m c -> m c
- class ReportS a where
- reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m ()
- defaultGetVerbosity :: HasOptions m => m Verbosity
- defaultIsDebugPrinting :: MonadTCEnv m => m Bool
- defaultNowDebugPrinting :: MonadTCEnv m => m a -> m a
- displayDebugMessage :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m ()
- catchAndPrintImpossible :: (CatchImpossible m, Monad m) => VerboseKey -> VerboseLevel -> m String -> m String
- reportSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m ()
- __IMPOSSIBLE_VERBOSE__ :: (HasCallStack, MonadDebug m) => String -> m a
- reportSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m ()
- reportResult :: MonadDebug m => VerboseKey -> VerboseLevel -> (a -> TCM Doc) -> m a -> m a
- unlessDebugPrinting :: MonadDebug m => m () -> m ()
- traceSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m a -> m a
- traceSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m a -> m a
- openVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m ()
- closeVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> m ()
- closeVerboseBracketException :: MonadDebug m => VerboseKey -> VerboseLevel -> m ()
- parseVerboseKey :: VerboseKey -> [String]
- hasVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool
- hasExactVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool
- whenExactVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m () -> m ()
- __CRASH_WHEN__ :: (HasCallStack, MonadTCM m, MonadDebug m) => VerboseKey -> VerboseLevel -> m ()
- verboseS :: MonadDebug m => VerboseKey -> VerboseLevel -> m () -> m ()
- applyWhenVerboseS :: MonadDebug m => VerboseKey -> VerboseLevel -> (m a -> m a) -> m a -> m a
- verbosity :: VerboseKey -> Lens' VerboseLevel TCState
- class ReadTCState m => MonadStatistics m where
- modifyCounter :: String -> (Integer -> Integer) -> m ()
- getStatistics :: ReadTCState m => m Statistics
- modifyStatistics :: (Statistics -> Statistics) -> TCM ()
- tick :: MonadStatistics m => String -> m ()
- tickN :: MonadStatistics m => String -> Integer -> m ()
- tickMax :: MonadStatistics m => String -> Integer -> m ()
- printStatistics :: (MonadDebug m, MonadTCEnv m, HasOptions m) => Int -> Maybe TopLevelModuleName -> Statistics -> m ()
- class (Functor m, Applicative m, MonadFail m, HasOptions m, MonadDebug m, MonadTCEnv m) => HasConstInfo m where
- getConstInfo :: QName -> m Definition
- getConstInfo' :: QName -> m (Either SigError Definition)
- getRewriteRulesFor :: QName -> m RewriteRules
- data SigError
- = SigUnknown String
- | SigAbstract
- lookupSection :: (Functor m, ReadTCState m) => ModuleName -> m Telescope
- inFreshModuleIfFreeParams :: TCM a -> TCM a
- class (HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => PureTCM m
- cachingStarts :: (MonadDebug m, MonadTCState m, ReadTCState m) => m ()
- areWeCaching :: ReadTCState m => m Bool
- writeToCurrentLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => TypeCheckAction -> m ()
- restorePostScopeState :: (MonadDebug m, MonadTCState m) => PostScopeState -> m ()
- localCache :: (MonadTCState m, ReadTCState m) => m a -> m a
- withoutCache :: (MonadTCState m, ReadTCState m) => m a -> m a
- readFromCachedLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => m (Maybe (TypeCheckAction, PostScopeState))
- cleanCachedLog :: (MonadDebug m, MonadTCState m) => m ()
- activateLoadedFileCache :: (HasOptions m, MonadDebug m, MonadTCState m) => m ()
- cacheCurrentLog :: (MonadDebug m, MonadTCState m) => m ()
- data SpeculateResult
- resetState :: TCM ()
- resetAllState :: TCM ()
- localTCState :: TCM a -> TCM a
- localTCStateSaving :: TCM a -> TCM (a, TCState)
- localTCStateSavingWarnings :: TCM a -> TCM a
- speculateTCState :: TCM (a, SpeculateResult) -> TCM a
- speculateTCState_ :: TCM SpeculateResult -> TCM ()
- freshTCM :: TCM a -> TCM (Either TCErr a)
- lensPersistentState :: Lens' PersistentTCState TCState
- updatePersistentState :: (PersistentTCState -> PersistentTCState) -> TCState -> TCState
- modifyPersistentState :: (PersistentTCState -> PersistentTCState) -> TCM ()
- lensAccumStatisticsP :: Lens' Statistics PersistentTCState
- lensAccumStatistics :: Lens' Statistics TCState
- getScope :: ReadTCState m => m ScopeInfo
- setScope :: ScopeInfo -> TCM ()
- modifyScope_ :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m ()
- modifyScope :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m ()
- useScope :: ReadTCState m => Lens' a ScopeInfo -> m a
- locallyScope :: ReadTCState m => Lens' a ScopeInfo -> (a -> a) -> m b -> m b
- withScope :: ReadTCState m => ScopeInfo -> m a -> m (a, ScopeInfo)
- withScope_ :: ReadTCState m => ScopeInfo -> m a -> m a
- localScope :: TCM a -> TCM a
- notInScopeError :: QName -> TCM a
- notInScopeWarning :: QName -> TCM ()
- printScope :: String -> Int -> String -> TCM ()
- modifySignature :: MonadTCState m => (Signature -> Signature) -> m ()
- modifyImportedSignature :: MonadTCState m => (Signature -> Signature) -> m ()
- getSignature :: ReadTCState m => m Signature
- modifyGlobalDefinition :: MonadTCState m => QName -> (Definition -> Definition) -> m ()
- setSignature :: MonadTCState m => Signature -> m ()
- withSignature :: (ReadTCState m, MonadTCState m) => Signature -> m a -> m a
- addRewriteRulesFor :: QName -> RewriteRules -> [QName] -> Signature -> Signature
- setMatchableSymbols :: QName -> [QName] -> Signature -> Signature
- lookupDefinition :: QName -> Signature -> Maybe Definition
- updateDefinitions :: (Definitions -> Definitions) -> Signature -> Signature
- updateDefinition :: QName -> (Definition -> Definition) -> Signature -> Signature
- updateTheDef :: (Defn -> Defn) -> Definition -> Definition
- updateDefType :: (Type -> Type) -> Definition -> Definition
- updateDefArgOccurrences :: ([Occurrence] -> [Occurrence]) -> Definition -> Definition
- updateDefPolarity :: ([Polarity] -> [Polarity]) -> Definition -> Definition
- updateDefCompiledRep :: (CompiledRepresentation -> CompiledRepresentation) -> Definition -> Definition
- addCompilerPragma :: BackendName -> CompilerPragma -> Definition -> Definition
- updateFunClauses :: ([Clause] -> [Clause]) -> Defn -> Defn
- updateCovering :: ([Clause] -> [Clause]) -> Defn -> Defn
- updateCompiledClauses :: (Maybe CompiledClauses -> Maybe CompiledClauses) -> Defn -> Defn
- updateDefCopatternLHS :: (Bool -> Bool) -> Definition -> Definition
- updateDefBlocked :: (Blocked_ -> Blocked_) -> Definition -> Definition
- setTopLevelModule :: QName -> TCM ()
- withTopLevelModule :: QName -> TCM a -> TCM a
- currentModuleNameHash :: ReadTCState m => m ModuleNameHash
- addForeignCode :: BackendName -> String -> TCM ()
- getInteractionOutputCallback :: ReadTCState m => m InteractionOutputCallback
- appInteractionOutputCallback :: Response -> TCM ()
- setInteractionOutputCallback :: InteractionOutputCallback -> TCM ()
- getPatternSyns :: ReadTCState m => m PatternSynDefns
- setPatternSyns :: PatternSynDefns -> TCM ()
- modifyPatternSyns :: (PatternSynDefns -> PatternSynDefns) -> TCM ()
- getPatternSynImports :: ReadTCState m => m PatternSynDefns
- getAllPatternSyns :: ReadTCState m => m PatternSynDefns
- lookupPatternSyn :: AmbiguousQName -> TCM PatternSynDefn
- lookupSinglePatternSyn :: QName -> TCM PatternSynDefn
- theBenchmark :: TCState -> Benchmark
- updateBenchmark :: (Benchmark -> Benchmark) -> TCState -> TCState
- modifyBenchmark :: (Benchmark -> Benchmark) -> TCM ()
- addImportedInstances :: Signature -> TCM ()
- updateInstanceDefs :: (TempInstanceTable -> TempInstanceTable) -> TCState -> TCState
- modifyInstanceDefs :: (TempInstanceTable -> TempInstanceTable) -> TCM ()
- getAllInstanceDefs :: TCM TempInstanceTable
- getAnonInstanceDefs :: TCM (Set QName)
- clearAnonInstanceDefs :: TCM ()
- addUnknownInstance :: QName -> TCM ()
- addNamedInstance :: QName -> QName -> TCM ()
- class (MonadTCEnv m, ReadTCState m) => MonadTrace m where
- traceCall :: Call -> m a -> m a
- traceCallM :: m Call -> m a -> m a
- traceCallCPS :: Call -> ((a -> m b) -> m b) -> (a -> m b) -> m b
- traceClosureCall :: Closure Call -> m a -> m a
- printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> m ()
- interestingCall :: Call -> Bool
- getCurrentRange :: MonadTCEnv m => m Range
- setCurrentRange :: (MonadTrace m, HasRange x) => x -> m a -> m a
- highlightAsTypeChecked :: MonadTrace m => Range -> Range -> m a -> m a
- noMutualBlock :: TCM a -> TCM a
- inMutualBlock :: (MutualId -> TCM a) -> TCM a
- setMutualBlockInfo :: MutualId -> MutualInfo -> TCM ()
- insertMutualBlockInfo :: MutualId -> MutualInfo -> TCM ()
- setMutualBlock :: MutualId -> QName -> TCM ()
- currentOrFreshMutualBlock :: TCM MutualId
- lookupMutualBlock :: MutualId -> TCM MutualBlock
- mutualBlockOf :: QName -> TCM MutualId
- enterClosure :: (MonadTCEnv m, ReadTCState m, LensClosure a c) => c -> (a -> m b) -> m b
- withClosure :: (MonadTCEnv m, ReadTCState m) => Closure a -> (a -> m b) -> m (Closure b)
- mapClosure :: (MonadTCEnv m, ReadTCState m) => (a -> m b) -> Closure a -> m (Closure b)
- class (MonadTCEnv m, ReadTCState m, MonadError TCErr m, MonadBlock m, HasOptions m, MonadDebug m) => MonadConstraint m where
- addConstraint :: Blocker -> Constraint -> m ()
- addAwakeConstraint :: Blocker -> Constraint -> m ()
- solveConstraint :: Constraint -> m ()
- solveSomeAwakeConstraints :: (ProblemConstraint -> Bool) -> Bool -> m ()
- wakeConstraints :: (ProblemConstraint -> WakeUp) -> m ()
- stealConstraints :: ProblemId -> m ()
- modifyAwakeConstraints :: (Constraints -> Constraints) -> m ()
- modifySleepingConstraints :: (Constraints -> Constraints) -> m ()
- data ConstraintStatus
- solvingProblem :: MonadConstraint m => ProblemId -> m a -> m a
- solvingProblems :: MonadConstraint m => Set ProblemId -> m a -> m a
- isProblemSolved :: (MonadTCEnv m, ReadTCState m) => ProblemId -> m Bool
- getConstraintsForProblem :: ReadTCState m => ProblemId -> m Constraints
- getAwakeConstraints :: ReadTCState m => m Constraints
- dropConstraints :: MonadConstraint m => (ProblemConstraint -> Bool) -> m ()
- takeConstraints :: MonadConstraint m => (ProblemConstraint -> Bool) -> m Constraints
- putConstraintsToSleep :: MonadConstraint m => (ProblemConstraint -> Bool) -> m ()
- putAllConstraintsToSleep :: MonadConstraint m => m ()
- holdConstraints :: (ConstraintStatus -> ProblemConstraint -> Bool) -> TCM a -> TCM a
- takeAwakeConstraint :: MonadConstraint m => m (Maybe ProblemConstraint)
- takeAwakeConstraint' :: MonadConstraint m => (ProblemConstraint -> Bool) -> m (Maybe ProblemConstraint)
- getAllConstraints :: ReadTCState m => m Constraints
- withConstraint :: MonadConstraint m => (Constraint -> m a) -> ProblemConstraint -> m a
- buildProblemConstraint :: (MonadTCEnv m, ReadTCState m) => Set ProblemId -> Blocker -> Constraint -> m ProblemConstraint
- buildProblemConstraint_ :: (MonadTCEnv m, ReadTCState m) => Blocker -> Constraint -> m ProblemConstraint
- buildConstraint :: Blocker -> Constraint -> TCM ProblemConstraint
- addAndUnblocker :: MonadBlock m => Blocker -> m a -> m a
- addOrUnblocker :: MonadBlock m => Blocker -> m a -> m a
- addConstraint' :: Blocker -> Constraint -> TCM ()
- addAwakeConstraint' :: Blocker -> Constraint -> TCM ()
- addConstraintTo :: Lens' Constraints TCState -> Blocker -> Constraint -> TCM ()
- nowSolvingConstraints :: MonadTCEnv m => m a -> m a
- isSolvingConstraints :: MonadTCEnv m => m Bool
- catchConstraint :: MonadConstraint m => Constraint -> m () -> m ()
- mapAwakeConstraints :: (Constraints -> Constraints) -> TCState -> TCState
- mapSleepingConstraints :: (Constraints -> Constraints) -> TCState -> TCState
- setPragmaOptions :: PragmaOptions -> TCM ()
- setCommandLineOptions :: CommandLineOptions -> TCM ()
- setCommandLineOptions' :: AbsolutePath -> CommandLineOptions -> TCM ()
- getAgdaLibFiles :: FilePath -> TCM [AgdaLibFile]
- getLibraryOptions :: FilePath -> TCM [OptionsPragma]
- setLibraryPaths :: AbsolutePath -> CommandLineOptions -> TCM CommandLineOptions
- setLibraryIncludes :: CommandLineOptions -> TCM CommandLineOptions
- addDefaultLibraries :: AbsolutePath -> CommandLineOptions -> TCM CommandLineOptions
- addTrustedExecutables :: CommandLineOptions -> TCM CommandLineOptions
- setOptionsFromPragma :: OptionsPragma -> TCM ()
- enableDisplayForms :: MonadTCEnv m => m a -> m a
- disableDisplayForms :: MonadTCEnv m => m a -> m a
- displayFormsEnabled :: MonadTCEnv m => m Bool
- setIncludeDirs :: [FilePath] -> AbsolutePath -> TCM ()
- isPropEnabled :: HasOptions m => m Bool
- isTwoLevelEnabled :: HasOptions m => m Bool
- hasUniversePolymorphism :: HasOptions m => m Bool
- showImplicitArguments :: HasOptions m => m Bool
- showIrrelevantArguments :: HasOptions m => m Bool
- showIdentitySubstitutions :: HasOptions m => m Bool
- withShowAllArguments :: ReadTCState m => m a -> m a
- withShowAllArguments' :: ReadTCState m => Bool -> m a -> m a
- withPragmaOptions :: ReadTCState m => (PragmaOptions -> PragmaOptions) -> m a -> m a
- positivityCheckEnabled :: HasOptions m => m Bool
- typeInType :: HasOptions m => m Bool
- etaEnabled :: HasOptions m => m Bool
- maxInstanceSearchDepth :: HasOptions m => m Int
- maxInversionDepth :: HasOptions m => m Int
- getLanguage :: HasOptions m => m Language
- makeOpen :: (ReadTCState m, MonadTCEnv m) => a -> m (Open a)
- getOpen :: (TermSubst a, MonadTCEnv m) => Open a -> m a
- tryGetOpen :: (TermSubst a, ReadTCState m, MonadTCEnv m) => (Substitution -> a -> Maybe a) -> Open a -> m (Maybe a)
- isClosed :: Open a -> Bool
- newtype KeepNames a = KeepNames a
- class AddContext b where
- addContext :: MonadAddContext m => b -> m a -> m a
- contextSize :: b -> Nat
- unsafeModifyContext :: MonadTCEnv tcm => (Context -> Context) -> tcm a -> tcm a
- modifyContextInfo :: MonadTCEnv tcm => (forall e. Dom e -> Dom e) -> tcm a -> tcm a
- inTopContext :: (MonadTCEnv tcm, ReadTCState tcm) => tcm a -> tcm a
- unsafeInTopContext :: (MonadTCEnv m, ReadTCState m) => m a -> m a
- unsafeEscapeContext :: MonadTCM tcm => Int -> tcm a -> tcm a
- escapeContext :: MonadAddContext m => Impossible -> Int -> m a -> m a
- checkpoint :: (MonadDebug tcm, MonadTCM tcm, MonadFresh CheckpointId tcm, ReadTCState tcm) => Substitution -> tcm a -> tcm a
- checkpointSubstitution' :: MonadTCEnv tcm => CheckpointId -> tcm (Maybe Substitution)
- getModuleParameterSub :: (MonadTCEnv m, ReadTCState m) => ModuleName -> m (Maybe Substitution)
- defaultAddCtx :: MonadAddContext m => Name -> Dom Type -> m a -> m a
- withFreshName_ :: MonadAddContext m => ArgName -> (Name -> m a) -> m a
- withShadowingNameTCM :: Name -> TCM b -> TCM b
- addRecordNameContext :: (MonadAddContext m, MonadFresh NameId m) => Dom Type -> m b -> m b
- underAbstraction :: (Subst a, MonadAddContext m) => Dom Type -> Abs a -> (a -> m b) -> m b
- underAbstraction' :: (Subst a, MonadAddContext m, AddContext (name, Dom Type)) => (String -> name) -> Dom Type -> Abs a -> (a -> m b) -> m b
- underAbstractionAbs :: (Subst a, MonadAddContext m) => Dom Type -> Abs a -> (a -> m b) -> m b
- underAbstractionAbs' :: (Subst a, MonadAddContext m, AddContext (name, Dom Type)) => (String -> name) -> Dom Type -> Abs a -> (a -> m b) -> m b
- underAbstraction_ :: (Subst a, MonadAddContext m) => Abs a -> (a -> m b) -> m b
- mapAbstraction :: (Subst a, Subst b, MonadAddContext m) => Dom Type -> (a -> m b) -> Abs a -> m (Abs b)
- getLetBindings :: MonadTCM tcm => tcm [(Name, (Term, Dom Type))]
- defaultAddLetBinding' :: (ReadTCState m, MonadTCEnv m) => Name -> Term -> Dom Type -> m a -> m a
- addLetBinding :: MonadAddContext m => ArgInfo -> Name -> Term -> Type -> m a -> m a
- getContext :: MonadTCEnv m => m [Dom (Name, Type)]
- getContextSize :: (Applicative m, MonadTCEnv m) => m Nat
- getContextArgs :: (Applicative m, MonadTCEnv m) => m Args
- getContextTerms :: (Applicative m, MonadTCEnv m) => m [Term]
- getContextTelescope :: (Applicative m, MonadTCEnv m) => m Telescope
- getContextNames :: (Applicative m, MonadTCEnv m) => m [Name]
- lookupBV' :: MonadTCEnv m => Nat -> m (Maybe (Dom (Name, Type)))
- lookupBV :: (MonadFail m, MonadTCEnv m) => Nat -> m (Dom (Name, Type))
- domOfBV :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m (Dom Type)
- typeOfBV :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m Type
- nameOfBV' :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m (Maybe Name)
- nameOfBV :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m Name
- getVarInfo :: (MonadFail m, MonadTCEnv m) => Name -> m (Term, Dom Type)
- data SortKit = SortKit {
- nameOfSet :: QName
- nameOfProp :: QName
- nameOfSSet :: QName
- nameOfSetOmega :: IsFibrant -> QName
- data CoinductionKit = CoinductionKit {
- nameOfInf :: QName
- nameOfSharp :: QName
- nameOfFlat :: QName
- litType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => Literal -> m Type
- setBuiltinThings :: BuiltinThings PrimFun -> TCM ()
- bindBuiltinName :: String -> Term -> TCM ()
- bindPrimitive :: String -> PrimFun -> TCM ()
- getBuiltin :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => String -> m Term
- getBuiltin' :: HasBuiltins m => String -> m (Maybe Term)
- getPrimitive' :: HasBuiltins m => String -> m (Maybe PrimFun)
- getPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => String -> m PrimFun
- getPrimitiveTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => String -> m Term
- getPrimitiveTerm' :: HasBuiltins m => String -> m (Maybe Term)
- getTerm' :: HasBuiltins m => String -> m (Maybe Term)
- getName' :: HasBuiltins m => String -> m (Maybe QName)
- getTerm :: HasBuiltins m => String -> String -> m Term
- constructorForm :: HasBuiltins m => Term -> m Term
- constructorForm' :: Applicative m => m Term -> m Term -> Term -> m Term
- primInteger :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIntegerPos :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIntegerNegSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFloat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primChar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primBool :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSigma :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primUnit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primUnitUnit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primTrue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFalse :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primList :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNil :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primCons :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primMaybe :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNothing :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primJust :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIO :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primId :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primConId :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIdElim :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPath :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPathP :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primInterval :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIMin :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primINeg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPartial :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPartialP :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIsOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primItIsOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primTrans :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primHComp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primEquiv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primEquivFun :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primEquivProof :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primTranspProof :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- prim_glueU :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- prim_unglueU :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primGlue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- prim_glue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- prim_unglue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFaceForall :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIsOne1 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIsOne2 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIsOneEmpty :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSub :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSubIn :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSubOut :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatPlus :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatMinus :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatTimes :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatDivSucAux :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatModSucAux :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatEquality :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNatLess :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primWord64 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSizeUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSize :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSizeLt :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSizeSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSizeInf :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSizeMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primInf :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSharp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFlat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primEquality :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primRefl :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primRewrite :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primLevel :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primLevelZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primLevelSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primLevelMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primProp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSetOmega :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primLockUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSSetOmega :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primStrictSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFromNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFromNeg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFromString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primQName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primArg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primArgArg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAbs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAbsAbs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSort :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primHiding :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primHidden :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primInstance :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primVisible :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primRelevance :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primRelevant :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIrrelevant :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primQuantity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primQuantity0 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primQuantityω :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primModality :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primModalityConstructor :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAssoc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAssocLeft :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAssocRight :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAssocNon :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPrecedence :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPrecRelated :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPrecUnrelated :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFixity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFixityFixity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primArgInfo :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primArgArgInfo :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSortSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSortLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSortProp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSortPropLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSortInf :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaSortUnsupported :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermVar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermLam :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermExtLam :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermCon :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermPi :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermSort :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermUnsupported :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTermMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaErrorPart :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaErrorPartString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaErrorPartTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaErrorPartName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLiteral :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitWord64 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitFloat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitChar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitQName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPattern :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPatCon :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPatVar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPatDot :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPatLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPatProj :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaPatAbsurd :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaClause :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaClauseClause :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaClauseAbsurd :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionFunDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionDataDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionRecordDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionDataConstructor :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionPostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinition :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCM :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMReturn :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMBind :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMUnify :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMTypeError :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMInferType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMCheckType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMNormalise :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMReduce :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMCatchError :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMGetContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMExtendContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMInContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMFreshName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDeclareDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDeclarePostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDefineFun :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMGetType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMGetDefinition :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMQuoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMQuoteOmegaTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMUnquoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMBlockOnMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMCommit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMIsMacro :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMWithNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMWithReconsParams :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDebugPrint :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMOnlyReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDontReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMNoConstraints :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMRunSpeculative :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMExec :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- coinductionKit' :: TCM CoinductionKit
- coinductionKit :: TCM (Maybe CoinductionKit)
- sortKit :: HasBuiltins m => m SortKit
- getPrimName :: Term -> QName
- getBuiltinName' :: HasBuiltins m => String -> m (Maybe QName)
- getPrimitiveName' :: HasBuiltins m => String -> m (Maybe QName)
- isPrimitive :: HasBuiltins m => String -> QName -> m Bool
- intervalView' :: HasBuiltins m => m (Term -> IntervalView)
- intervalView :: HasBuiltins m => Term -> m IntervalView
- intervalUnview :: HasBuiltins m => IntervalView -> m Term
- intervalUnview' :: HasBuiltins m => m (IntervalView -> Term)
- pathView :: HasBuiltins m => Type -> m PathView
- pathView' :: HasBuiltins m => m (Type -> PathView)
- idViewAsPath :: HasBuiltins m => Type -> m PathView
- boldPathView :: Type -> PathView
- pathUnview :: PathView -> Type
- primEqualityName :: TCM QName
- equalityView :: Type -> TCM EqualityView
- equalityUnview :: EqualityView -> Type
- constrainedPrims :: [String]
- getNameOfConstrained :: HasBuiltins m => String -> m (Maybe QName)
- type SizeMaxView' = [DeepSizeView]
- type SizeMaxView = NonEmpty DeepSizeView
- data SizeViewComparable a
- data DeepSizeView
- type Offset = Nat
- data ProjectedVar = ProjectedVar {
- pvIndex :: Int
- prProjs :: [(ProjOrigin, QName)]
- data SizeView
- class IsSizeType a where
- isSizeType :: (HasOptions m, HasBuiltins m) => a -> m (Maybe BoundedSize)
- data BoundedSize
- isSizeTypeTest :: (HasOptions m, HasBuiltins m) => m (Term -> Maybe BoundedSize)
- getBuiltinDefName :: HasBuiltins m => String -> m (Maybe QName)
- getBuiltinSize :: HasBuiltins m => m (Maybe QName, Maybe QName)
- isSizeNameTest :: (HasOptions m, HasBuiltins m) => m (QName -> Bool)
- isSizeNameTestRaw :: (HasOptions m, HasBuiltins m) => m (QName -> Bool)
- haveSizedTypes :: TCM Bool
- haveSizeLt :: TCM Bool
- builtinSizeHook :: String -> QName -> Type -> TCM ()
- sizeSort :: Sort
- sizeUniv :: Type
- sizeType_ :: QName -> Type
- sizeType :: (HasBuiltins m, MonadTCEnv m, ReadTCState m) => m Type
- sizeSucName :: (HasBuiltins m, HasOptions m) => m (Maybe QName)
- sizeSuc :: HasBuiltins m => Nat -> Term -> m Term
- sizeSuc_ :: QName -> Term -> Term
- sizeMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => NonEmpty Term -> m Term
- sizeView :: (HasBuiltins m, MonadTCEnv m, ReadTCState m) => Term -> m SizeView
- viewProjectedVar :: Term -> Maybe ProjectedVar
- unviewProjectedVar :: ProjectedVar -> Term
- sizeViewComparable :: DeepSizeView -> DeepSizeView -> SizeViewComparable ()
- sizeViewSuc_ :: QName -> DeepSizeView -> DeepSizeView
- sizeViewPred :: Nat -> DeepSizeView -> DeepSizeView
- sizeViewOffset :: DeepSizeView -> Maybe Offset
- removeSucs :: (DeepSizeView, DeepSizeView) -> (DeepSizeView, DeepSizeView)
- unSizeView :: SizeView -> TCM Term
- unDeepSizeView :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => DeepSizeView -> m Term
- maxViewMax :: SizeMaxView -> SizeMaxView -> SizeMaxView
- maxViewCons :: DeepSizeView -> SizeMaxView -> SizeMaxView
- sizeViewComparableWithMax :: DeepSizeView -> SizeMaxView -> SizeViewComparable SizeMaxView'
- maxViewSuc_ :: QName -> SizeMaxView -> SizeMaxView
- unMaxView :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => SizeMaxView -> m Term
- addConstant :: QName -> Definition -> TCM ()
- addConstant' :: QName -> ArgInfo -> QName -> Type -> Defn -> TCM ()
- setTerminates :: QName -> Bool -> TCM ()
- setCompiledClauses :: QName -> CompiledClauses -> TCM ()
- setSplitTree :: QName -> SplitTree -> TCM ()
- modifyFunClauses :: QName -> ([Clause] -> [Clause]) -> TCM ()
- addClauses :: QName -> [Clause] -> TCM ()
- mkPragma :: String -> TCM CompilerPragma
- addPragma :: BackendName -> QName -> String -> TCM ()
- getUniqueCompilerPragma :: BackendName -> QName -> TCM (Maybe CompilerPragma)
- setFunctionFlag :: FunctionFlag -> Bool -> QName -> TCM ()
- markStatic :: QName -> TCM ()
- markInline :: Bool -> QName -> TCM ()
- markInjective :: QName -> TCM ()
- unionSignatures :: [Signature] -> Signature
- addSection :: ModuleName -> TCM ()
- setModuleCheckpoint :: ModuleName -> TCM ()
- getSection :: (Functor m, ReadTCState m) => ModuleName -> m (Maybe Section)
- addDisplayForms :: QName -> TCM ()
- applySection :: ModuleName -> Telescope -> ModuleName -> Args -> ScopeCopyInfo -> TCM ()
- applySection' :: ModuleName -> Telescope -> ModuleName -> Args -> ScopeCopyInfo -> TCM ()
- addDisplayForm :: QName -> DisplayForm -> TCM ()
- isLocal :: ReadTCState m => QName -> m Bool
- getDisplayForms :: (HasConstInfo m, ReadTCState m) => QName -> m [LocalDisplayForm]
- chaseDisplayForms :: QName -> TCM (Set QName)
- hasLoopingDisplayForm :: QName -> TCM Bool
- canonicalName :: HasConstInfo m => QName -> m QName
- sameDef :: HasConstInfo m => QName -> QName -> m (Maybe QName)
- whatInduction :: MonadTCM tcm => QName -> tcm Induction
- singleConstructorType :: QName -> TCM Bool
- sigError :: (String -> a) -> a -> SigError -> a
- getOriginalConstInfo :: (ReadTCState m, HasConstInfo m) => QName -> m Definition
- defaultGetRewriteRulesFor :: (ReadTCState m, MonadTCEnv m) => QName -> m RewriteRules
- getOriginalProjection :: HasConstInfo m => QName -> m QName
- defaultGetConstInfo :: (HasOptions m, MonadDebug m, MonadTCEnv m) => TCState -> TCEnv -> QName -> m (Either SigError Definition)
- getConInfo :: HasConstInfo m => ConHead -> m Definition
- getPolarity :: HasConstInfo m => QName -> m [Polarity]
- getPolarity' :: HasConstInfo m => Comparison -> QName -> m [Polarity]
- setPolarity :: (MonadTCState m, MonadDebug m) => QName -> [Polarity] -> m ()
- getForcedArgs :: HasConstInfo m => QName -> m [IsForced]
- getArgOccurrence :: QName -> Nat -> TCM Occurrence
- setArgOccurrences :: MonadTCState m => QName -> [Occurrence] -> m ()
- modifyArgOccurrences :: MonadTCState m => QName -> ([Occurrence] -> [Occurrence]) -> m ()
- setTreeless :: QName -> TTerm -> TCM ()
- setCompiledArgUse :: QName -> [ArgUsage] -> TCM ()
- getCompiled :: HasConstInfo m => QName -> m (Maybe Compiled)
- getErasedConArgs :: HasConstInfo m => QName -> m [Bool]
- setErasedConArgs :: QName -> [Bool] -> TCM ()
- getTreeless :: HasConstInfo m => QName -> m (Maybe TTerm)
- getCompiledArgUse :: HasConstInfo m => QName -> m (Maybe [ArgUsage])
- addDataCons :: QName -> [QName] -> TCM ()
- getMutual :: QName -> TCM (Maybe [QName])
- getMutual_ :: Defn -> Maybe [QName]
- setMutual :: QName -> [QName] -> TCM ()
- mutuallyRecursive :: QName -> QName -> TCM Bool
- definitelyNonRecursive_ :: Defn -> Bool
- getCurrentModuleFreeVars :: TCM Nat
- getDefModule :: HasConstInfo m => QName -> m (Either SigError ModuleName)
- getDefFreeVars :: (Functor m, Applicative m, ReadTCState m, MonadTCEnv m) => QName -> m Nat
- freeVarsToApply :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => QName -> m Args
- getModuleFreeVars :: (Functor m, Applicative m, MonadTCEnv m, ReadTCState m) => ModuleName -> m Nat
- moduleParamsToApply :: (Functor m, Applicative m, HasOptions m, MonadTCEnv m, ReadTCState m, MonadDebug m) => ModuleName -> m Args
- instantiateDef :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => Definition -> m Definition
- instantiateRewriteRule :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => RewriteRule -> m RewriteRule
- instantiateRewriteRules :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => RewriteRules -> m RewriteRules
- makeAbstract :: Definition -> Maybe Definition
- inAbstractMode :: MonadTCEnv m => m a -> m a
- inConcreteMode :: MonadTCEnv m => m a -> m a
- ignoreAbstractMode :: MonadTCEnv m => m a -> m a
- inConcreteOrAbstractMode :: (MonadTCEnv m, HasConstInfo m) => QName -> (Definition -> m a) -> m a
- treatAbstractly :: MonadTCEnv m => QName -> m Bool
- treatAbstractly' :: QName -> TCEnv -> Bool
- typeOfConst :: (HasConstInfo m, ReadTCState m) => QName -> m Type
- relOfConst :: HasConstInfo m => QName -> m Relevance
- modalityOfConst :: HasConstInfo m => QName -> m Modality
- droppedPars :: Definition -> Int
- isProjection :: HasConstInfo m => QName -> m (Maybe Projection)
- isProjection_ :: Defn -> Maybe Projection
- isRelevantProjection :: HasConstInfo m => QName -> m (Maybe Projection)
- isRelevantProjection_ :: Definition -> Maybe Projection
- isStaticFun :: Defn -> Bool
- isInlineFun :: Defn -> Bool
- isProperProjection :: Defn -> Bool
- projectionArgs :: Definition -> Int
- usesCopatterns :: HasConstInfo m => QName -> m Bool
- applyDef :: HasConstInfo m => ProjOrigin -> QName -> Arg Term -> m Term
- class UnFreezeMeta a where
- unfreezeMeta :: MonadMetaSolver m => a -> m ()
- class IsInstantiatedMeta a where
- isInstantiatedMeta :: (MonadFail m, ReadTCState m) => a -> m Bool
- class (MonadConstraint m, MonadReduce m, MonadAddContext m, MonadTCEnv m, ReadTCState m, HasBuiltins m, HasConstInfo m, MonadDebug m) => MonadMetaSolver m where
- newMeta' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaId
- assignV :: CompareDirection -> MetaId -> Args -> Term -> CompareAs -> m ()
- assignTerm' :: MonadMetaSolver m => MetaId -> [Arg ArgName] -> Term -> m ()
- etaExpandMeta :: [MetaKind] -> MetaId -> m ()
- updateMetaVar :: MetaId -> (MetaVariable -> MetaVariable) -> m ()
- speculateMetas :: m () -> m KeepMetas -> m ()
- data KeepMetas
- data MetaKind
- allMetaKinds :: [MetaKind]
- dontAssignMetas :: (MonadTCEnv m, HasOptions m, MonadDebug m) => m a -> m a
- getMetaStore :: ReadTCState m => m MetaStore
- modifyMetaStore :: (MetaStore -> MetaStore) -> TCM ()
- metasCreatedBy :: ReadTCState m => m a -> m (a, MetaStore)
- lookupMeta' :: ReadTCState m => MetaId -> m (Maybe MetaVariable)
- lookupMeta :: (MonadFail m, ReadTCState m) => MetaId -> m MetaVariable
- metaType :: (MonadFail m, ReadTCState m) => MetaId -> m Type
- updateMetaVarTCM :: MetaId -> (MetaVariable -> MetaVariable) -> TCM ()
- insertMetaVar :: MetaId -> MetaVariable -> TCM ()
- getMetaPriority :: (MonadFail m, ReadTCState m) => MetaId -> m MetaPriority
- isSortMeta :: (MonadFail m, ReadTCState m) => MetaId -> m Bool
- isSortMeta_ :: MetaVariable -> Bool
- getMetaType :: (MonadFail m, ReadTCState m) => MetaId -> m Type
- getMetaContextArgs :: MonadTCEnv m => MetaVariable -> m Args
- getMetaTypeInContext :: (MonadFail m, MonadTCEnv m, ReadTCState m, MonadReduce m, HasBuiltins m) => MetaId -> m Type
- isGeneralizableMeta :: (ReadTCState m, MonadFail m) => MetaId -> m DoGeneralize
- isInstantiatedMeta' :: (MonadFail m, ReadTCState m) => MetaId -> m (Maybe Term)
- constraintMetas :: Constraint -> TCM (Set MetaId)
- createMetaInfo :: (MonadTCEnv m, ReadTCState m) => m MetaInfo
- createMetaInfo' :: (MonadTCEnv m, ReadTCState m) => RunMetaOccursCheck -> m MetaInfo
- setValueMetaName :: MonadMetaSolver m => Term -> MetaNameSuggestion -> m ()
- getMetaNameSuggestion :: (MonadFail m, ReadTCState m) => MetaId -> m MetaNameSuggestion
- setMetaNameSuggestion :: MonadMetaSolver m => MetaId -> MetaNameSuggestion -> m ()
- setMetaGeneralizableArgInfo :: MonadMetaSolver m => MetaId -> ArgInfo -> m ()
- updateMetaVarRange :: MonadMetaSolver m => MetaId -> Range -> m ()
- setMetaOccursCheck :: MonadMetaSolver m => MetaId -> RunMetaOccursCheck -> m ()
- registerInteractionPoint :: forall m. MonadInteractionPoints m => Bool -> Range -> Maybe Nat -> m InteractionId
- findInteractionPoint_ :: Range -> InteractionPoints -> Maybe InteractionId
- connectInteractionPoint :: MonadInteractionPoints m => InteractionId -> MetaId -> m ()
- removeInteractionPoint :: MonadInteractionPoints m => InteractionId -> m ()
- getInteractionPoints :: ReadTCState m => m [InteractionId]
- getInteractionMetas :: ReadTCState m => m [MetaId]
- getUniqueMetasRanges :: (MonadFail m, ReadTCState m) => [MetaId] -> m [Range]
- getUnsolvedMetas :: (MonadFail m, ReadTCState m) => m [Range]
- getUnsolvedInteractionMetas :: (MonadFail m, ReadTCState m) => m [Range]
- getInteractionIdsAndMetas :: ReadTCState m => m [(InteractionId, MetaId)]
- isInteractionMeta :: ReadTCState m => MetaId -> m (Maybe InteractionId)
- lookupInteractionPoint :: (MonadFail m, ReadTCState m, MonadError TCErr m) => InteractionId -> m InteractionPoint
- lookupInteractionId :: (MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m) => InteractionId -> m MetaId
- lookupInteractionMeta :: ReadTCState m => InteractionId -> m (Maybe MetaId)
- lookupInteractionMeta_ :: InteractionId -> InteractionPoints -> Maybe MetaId
- newMeta :: MonadMetaSolver m => Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaId
- newMetaTCM' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> TCM MetaId
- getInteractionRange :: (MonadInteractionPoints m, MonadFail m, MonadError TCErr m) => InteractionId -> m Range
- getMetaRange :: (MonadFail m, ReadTCState m) => MetaId -> m Range
- getInteractionScope :: (MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m) => InteractionId -> m ScopeInfo
- withMetaInfo' :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => MetaVariable -> m a -> m a
- withMetaInfo :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => Closure Range -> m a -> m a
- withInteractionId :: (MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m, MonadTrace m) => InteractionId -> m a -> m a
- withMetaId :: (MonadFail m, MonadTCEnv m, ReadTCState m, MonadTrace m) => MetaId -> m a -> m a
- getMetaVariables :: ReadTCState m => (MetaVariable -> Bool) -> m [MetaId]
- getOpenMetas :: ReadTCState m => m [MetaId]
- isOpenMeta :: MetaInstantiation -> Bool
- listenToMeta :: MonadMetaSolver m => Listener -> MetaId -> m ()
- unlistenToMeta :: MonadMetaSolver m => Listener -> MetaId -> m ()
- getMetaListeners :: (MonadFail m, ReadTCState m) => MetaId -> m [Listener]
- clearMetaListeners :: MonadMetaSolver m => MetaId -> m ()
- freezeMetas :: MetaStore -> TCM IntSet
- unfreezeMetas :: TCM ()
- isFrozen :: (MonadFail m, ReadTCState m) => MetaId -> m Bool
- data CheckResult where
- pattern CheckResult :: Interface -> [TCWarning] -> ModuleCheckMode -> Source -> CheckResult
- crInterface :: CheckResult -> Interface
- crWarnings :: CheckResult -> [TCWarning]
- crMode :: CheckResult -> ModuleCheckMode
- activeBackendMayEraseType :: QName -> TCM Bool
- backendInteraction :: AbsolutePath -> [Backend] -> TCM () -> (AbsolutePath -> TCM CheckResult) -> TCM ()
- parseBackendOptions :: [Backend] -> [String] -> CommandLineOptions -> OptM ([Backend], CommandLineOptions)
- callBackend :: String -> IsMain -> CheckResult -> TCM ()
- lookupBackend :: BackendName -> TCM (Maybe Backend)
- activeBackend :: TCM (Maybe Backend)
Documentation
data Backend' opts env menv mod def Source #
Constructors
Backend' | |
Fields
|
Instances
Generic (Backend' opts env menv mod def) Source # | |
NFData opts => NFData (Backend' opts env menv mod def) Source # | |
Defined in Agda.Compiler.Backend | |
type Rep (Backend' opts env menv mod def) Source # | |
Defined in Agda.Compiler.Backend type Rep (Backend' opts env menv mod def) = D1 ('MetaData "Backend'" "Agda.Compiler.Backend" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Backend'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "backendName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "backendVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "options") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 opts))) :*: (S1 ('MetaSel ('Just "commandLineFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OptDescr (Flag opts)]) :*: (S1 ('MetaSel ('Just "isEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (opts -> Bool)) :*: S1 ('MetaSel ('Just "preCompile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (opts -> TCM env))))) :*: ((S1 ('MetaSel ('Just "postCompile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> IsMain -> Map ModuleName mod -> TCM ())) :*: (S1 ('MetaSel ('Just "preModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> IsMain -> ModuleName -> Maybe FilePath -> TCM (Recompile menv mod))) :*: S1 ('MetaSel ('Just "postModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> menv -> IsMain -> ModuleName -> [def] -> TCM mod)))) :*: (S1 ('MetaSel ('Just "compileDef") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> menv -> IsMain -> Definition -> TCM def)) :*: (S1 ('MetaSel ('Just "scopeCheckingSuffices") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "mayEraseType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName -> TCM Bool))))))) |
type Flag opts = opts -> OptM opts Source #
f :: Flag opts
is an action on the option record that results from
parsing an option. f opts
produces either an error message or an
updated options record
toTreeless :: EvaluationStrategy -> QName -> TCM (Maybe TTerm) Source #
Converts compiled clauses to treeless syntax.
Note: Do not use any of the concrete names in the returned term for identification purposes! If you wish to do so, first apply the Agda.Compiler.Treeless.NormalizeNames transformation.
module Agda.Syntax.Treeless
class (Functor m, Applicative m, Monad m) => MonadDebug m where Source #
Minimal complete definition
Nothing
Methods
formatDebugMessage :: VerboseKey -> VerboseLevel -> TCM Doc -> m String Source #
default formatDebugMessage :: (MonadTrans t, MonadDebug n, m ~ t n) => VerboseKey -> VerboseLevel -> TCM Doc -> m String Source #
traceDebugMessage :: VerboseKey -> VerboseLevel -> String -> m a -> m a Source #
default traceDebugMessage :: (MonadTransControl t, MonadDebug n, m ~ t n) => VerboseKey -> VerboseLevel -> String -> m a -> m a Source #
verboseBracket :: VerboseKey -> VerboseLevel -> String -> m a -> m a Source #
Print brackets around debug messages issued by a computation.
default verboseBracket :: (MonadTransControl t, MonadDebug n, m ~ t n) => VerboseKey -> VerboseLevel -> String -> m a -> m a Source #
getVerbosity :: m Verbosity Source #
default getVerbosity :: (MonadTrans t, MonadDebug n, m ~ t n) => m Verbosity Source #
isDebugPrinting :: m Bool Source #
Check whether we are currently debug printing.
default isDebugPrinting :: (MonadTrans t, MonadDebug n, m ~ t n) => m Bool Source #
nowDebugPrinting :: m a -> m a Source #
Flag in a computation that we are currently debug printing.
default nowDebugPrinting :: (MonadTransControl t, MonadDebug n, m ~ t n) => m a -> m a Source #
Instances
Polarity for equality and subtype checking.
Constructors
Covariant | monotone |
Contravariant | antitone |
Invariant | no information (mixed variance) |
Nonvariant | constant |
Instances
Eq Polarity Source # | |
Data Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Polarity -> c Polarity gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Polarity toConstr :: Polarity -> Constr dataTypeOf :: Polarity -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Polarity) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Polarity) gmapT :: (forall b. Data b => b -> b) -> Polarity -> Polarity gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Polarity -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Polarity -> r gmapQ :: (forall d. Data d => d -> u) -> Polarity -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Polarity -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Polarity -> m Polarity gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Polarity -> m Polarity gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Polarity -> m Polarity | |
Show Polarity Source # | |
Generic Polarity Source # | |
NFData Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty Polarity Source # | |
KillRange Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj Polarity Source # | |
PrettyTCM Polarity Source # | |
Defined in Agda.TypeChecking.Pretty | |
Abstract [Polarity] Source # | |
Apply [Polarity] Source # | |
type Rep Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Polarity = D1 ('MetaData "Polarity" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) ((C1 ('MetaCons "Covariant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Contravariant" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Invariant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Nonvariant" 'PrefixI 'False) (U1 :: Type -> Type))) |
data Comparison Source #
Instances
Eq Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Comparison -> c Comparison gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Comparison toConstr :: Comparison -> Constr dataTypeOf :: Comparison -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Comparison) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Comparison) gmapT :: (forall b. Data b => b -> b) -> Comparison -> Comparison gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Comparison -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Comparison -> r gmapQ :: (forall d. Data d => d -> u) -> Comparison -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Comparison -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Comparison -> m Comparison gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Comparison -> m Comparison gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Comparison -> m Comparison | |
Show Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Comparison -> ShowS show :: Comparison -> String showList :: [Comparison] -> ShowS | |
Generic Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Comparison :: Type -> Type | |
NFData Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Comparison -> () | |
Pretty Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Comparison -> Doc Source # prettyPrec :: Int -> Comparison -> Doc Source # prettyList :: [Comparison] -> Doc Source # | |
PrettyTCM Comparison Source # | |
Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Comparison -> m Doc Source # | |
type Rep Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Comparison = D1 ('MetaData "Comparison" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "CmpEq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CmpLeq" 'PrefixI 'False) (U1 :: Type -> Type)) |
type BackendName = String Source #
type ModuleToSource = Map TopLevelModuleName AbsolutePath Source #
Maps top-level module names to the corresponding source file names.
Instances
Constructors
TCSt | |
Fields
|
Instances
Constructors
TCEnv | |
Fields
|
Instances
Generic TCEnv Source # | |
NFData TCEnv Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensIsAbstract TCEnv Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
LensRelevance TCEnv Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensQuantity TCEnv Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensModality TCEnv Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensTCEnv TCEnv Source # | |
type Rep TCEnv Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TCEnv = D1 ('MetaData "TCEnv" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "TCEnv" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "envContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Context) :*: (S1 ('MetaSel ('Just "envLetBindings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetBindings) :*: S1 ('MetaSel ('Just "envCurrentModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))) :*: (S1 ('MetaSel ('Just "envCurrentPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AbsolutePath)) :*: (S1 ('MetaSel ('Just "envAnonymousModules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(ModuleName, Nat)]) :*: S1 ('MetaSel ('Just "envImportPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TopLevelModuleName])))) :*: ((S1 ('MetaSel ('Just "envMutualBlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MutualId)) :*: (S1 ('MetaSel ('Just "envTerminationCheck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TerminationCheck ())) :*: S1 ('MetaSel ('Just "envCoverageCheck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CoverageCheck))) :*: (S1 ('MetaSel ('Just "envMakeCase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "envSolvingConstraints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "envCheckingWhere") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just "envWorkingOnTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "envAssignMetas") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "envActiveProblems") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ProblemId)))) :*: (S1 ('MetaSel ('Just "envAbstractMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbstractMode) :*: (S1 ('MetaSel ('Just "envModality") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Modality) :*: S1 ('MetaSel ('Just "envSplitOnStrict") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "envDisplayFormsEnabled") '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)))))))) |
data HighlightingLevel Source #
How much highlighting should be sent to the user interface?
Constructors
None | |
NonInteractive | |
Interactive | This includes both non-interactive highlighting and interactive highlighting of the expression that is currently being type-checked. |
Instances
Eq HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: HighlightingLevel -> HighlightingLevel -> Bool (/=) :: HighlightingLevel -> HighlightingLevel -> Bool | |
Data HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HighlightingLevel -> c HighlightingLevel gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HighlightingLevel toConstr :: HighlightingLevel -> Constr dataTypeOf :: HighlightingLevel -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HighlightingLevel) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HighlightingLevel) gmapT :: (forall b. Data b => b -> b) -> HighlightingLevel -> HighlightingLevel gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HighlightingLevel -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HighlightingLevel -> r gmapQ :: (forall d. Data d => d -> u) -> HighlightingLevel -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> HighlightingLevel -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> HighlightingLevel -> m HighlightingLevel gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HighlightingLevel -> m HighlightingLevel gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HighlightingLevel -> m HighlightingLevel | |
Ord HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods compare :: HighlightingLevel -> HighlightingLevel -> Ordering (<) :: HighlightingLevel -> HighlightingLevel -> Bool (<=) :: HighlightingLevel -> HighlightingLevel -> Bool (>) :: HighlightingLevel -> HighlightingLevel -> Bool (>=) :: HighlightingLevel -> HighlightingLevel -> Bool max :: HighlightingLevel -> HighlightingLevel -> HighlightingLevel min :: HighlightingLevel -> HighlightingLevel -> HighlightingLevel | |
Read HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods readsPrec :: Int -> ReadS HighlightingLevel readList :: ReadS [HighlightingLevel] readPrec :: ReadPrec HighlightingLevel readListPrec :: ReadPrec [HighlightingLevel] | |
Show HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> HighlightingLevel -> ShowS show :: HighlightingLevel -> String showList :: [HighlightingLevel] -> ShowS | |
Generic HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep HighlightingLevel :: Type -> Type Methods from :: HighlightingLevel -> Rep HighlightingLevel x to :: Rep HighlightingLevel x -> HighlightingLevel | |
NFData HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: HighlightingLevel -> () | |
type Rep HighlightingLevel Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep HighlightingLevel = D1 ('MetaData "HighlightingLevel" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "None" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NonInteractive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Interactive" 'PrefixI 'False) (U1 :: Type -> Type))) |
data HighlightingMethod Source #
How should highlighting be sent to the user interface?
Instances
Eq HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: HighlightingMethod -> HighlightingMethod -> Bool (/=) :: HighlightingMethod -> HighlightingMethod -> Bool | |
Data HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HighlightingMethod -> c HighlightingMethod gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HighlightingMethod toConstr :: HighlightingMethod -> Constr dataTypeOf :: HighlightingMethod -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HighlightingMethod) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HighlightingMethod) gmapT :: (forall b. Data b => b -> b) -> HighlightingMethod -> HighlightingMethod gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HighlightingMethod -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HighlightingMethod -> r gmapQ :: (forall d. Data d => d -> u) -> HighlightingMethod -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> HighlightingMethod -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> HighlightingMethod -> m HighlightingMethod gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HighlightingMethod -> m HighlightingMethod gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HighlightingMethod -> m HighlightingMethod | |
Read HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods readsPrec :: Int -> ReadS HighlightingMethod readList :: ReadS [HighlightingMethod] readPrec :: ReadPrec HighlightingMethod readListPrec :: ReadPrec [HighlightingMethod] | |
Show HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> HighlightingMethod -> ShowS show :: HighlightingMethod -> String showList :: [HighlightingMethod] -> ShowS | |
Generic HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep HighlightingMethod :: Type -> Type Methods from :: HighlightingMethod -> Rep HighlightingMethod x to :: Rep HighlightingMethod x -> HighlightingMethod | |
NFData HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: HighlightingMethod -> () | |
type Rep HighlightingMethod Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep HighlightingMethod = D1 ('MetaData "HighlightingMethod" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Direct" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Indirect" 'PrefixI 'False) (U1 :: Type -> Type)) |
For printing, we couple a meta with its name suggestion.
Constructors
NamedMeta | |
Fields |
Constructors
TCWarning | |
Fields
|
Instances
Eq TCWarning Source # | |
Show TCWarning Source # | |
Generic TCWarning Source # | |
NFData TCWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
HasRange TCWarning Source # | |
EmbPrj TCWarning Source # | |
PrettyTCM TCWarning Source # | |
Defined in Agda.TypeChecking.Pretty.Warning | |
EncodeTCM TCWarning Source # | |
type Rep TCWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TCWarning = D1 ('MetaData "TCWarning" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "TCWarning" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tcWarningLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CallStack) :*: S1 ('MetaSel ('Just "tcWarningRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :*: (S1 ('MetaSel ('Just "tcWarning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Warning) :*: (S1 ('MetaSel ('Just "tcWarningPrintedWarning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc) :*: S1 ('MetaSel ('Just "tcWarningCached") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) |
Type-checking errors.
Constructors
TypeError | |
Fields
| |
Exception Range Doc | |
IOException 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 ( |
Instances
Show TCErr Source # | |
Exception TCErr Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods toException :: TCErr -> SomeException fromException :: SomeException -> Maybe TCErr displayException :: TCErr -> String | |
NFData TCErr Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
HasRange TCErr Source # | |
PrettyTCM TCErr Source # | |
Defined in Agda.TypeChecking.Errors | |
EncodeTCM TCErr Source # | |
MonadError TCErr TCM Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadError TCErr TerM | |
Defined in Agda.Termination.Monad | |
MonadError TCErr IM | |
Defined in Agda.Interaction.Monad | |
Monad m => MonadError TCErr (PureConversionT m) | |
Defined in Agda.TypeChecking.Conversion.Pure Methods throwError :: TCErr -> PureConversionT m a catchError :: PureConversionT m a -> (TCErr -> PureConversionT m a) -> PureConversionT m a | |
Monad m => MonadBlock (ExceptT TCErr m) Source # | |
Defined in Agda.TypeChecking.Monad.Base |
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 [TerminationError] | |
UnreachableClauses QName [Range] | `UnreachableClauses f rs` means that the clauses in |
CoverageIssue QName [(Telescope, [NamedArg DeBruijnPattern])] | `CoverageIssue f pss` means that |
CoverageNoExactSplit QName [Clause] | |
NotStrictlyPositive QName (Seq OccursWhere) | |
UnsolvedMetaVariables [Range] | Do not use directly with |
UnsolvedInteractionMetas [Range] | Do not use directly with |
UnsolvedConstraints Constraints | Do not use directly with |
CantGeneralizeOverSorts [MetaId] | |
AbsurdPatternRequiresNoRHS [NamedArg DeBruijnPattern] | |
OldBuiltin String String | In `OldBuiltin old new`, the BUILTIN old has been replaced by new |
EmptyRewritePragma | If the user wrote just |
EmptyWhere | An empty |
IllformedAsClause String | If the user wrote something other than an unqualified name
in the |
ClashesViaRenaming NameOrModule [Name] | If a |
UselessPatternDeclarationForRecord String | The 'pattern' declaration is useless in the presence
of either |
UselessPublic | If the user opens a module public before the module header. (See issue #2377.) |
UselessHiding [ImportedName] | Names in |
UselessInline QName | |
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. |
NoGuardednessFlag QName | A coinductive record was declared but neither --guardedness nor --sized-types is enabled. |
GenericWarning Doc | Harmless generic warning (not an error) |
GenericNonFatalError Doc | Generic error which doesn't abort proceedings (not a warning) |
GenericUseless Range Doc | Generic warning when code is useless and thus ignored.
|
SafeFlagPostulate Name | |
SafeFlagPragma [String] | Unsafe OPTIONS. |
SafeFlagNonTerminating | |
SafeFlagTerminating | |
SafeFlagWithoutKFlagPrimEraseEquality | |
WithoutKFlagPrimEraseEquality | |
SafeFlagNoPositivityCheck | |
SafeFlagPolarity | |
SafeFlagNoUniverseCheck | |
SafeFlagNoCoverageCheck | |
SafeFlagInjective | |
SafeFlagEta | ETA pragma is unsafe. |
ParseWarning ParseWarning | |
LibraryWarning LibWarning | |
DeprecationWarning String String String | `DeprecationWarning old new 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 |
FixityInRenamingModule (List1 Range) | Fixity of modules cannot be changed via renaming (since modules have no fixity). |
ModuleDoesntExport QName [Name] [Name] [ImportedName] | Some imported names are not actually exported by the source module. The second argument is the names that could be exported. The third argument is the module names that could be exported. |
InfectiveImport String ModuleName | Importing a file using an infective option into one which doesn't |
CoInfectiveImport String ModuleName | Importing a file not using a coinfective option from one which does |
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 |
RewriteMissingRule Term Term Term | The global confluence checker found a term |
PragmaCompileErased BackendName QName | COMPILE directive for an erased symbol |
NotInScopeW [QName] | Out of scope error we can recover from |
AsPatternShadowsConstructorOrPatternSynonym Bool | The as-name in an as-pattern may not shadow a constructor ( |
RecordFieldWarning RecordFieldWarning |
Instances
Show Warning Source # | |
Generic Warning Source # | |
NFData Warning Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
EmbPrj Warning Source # | |
type Rep Warning Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Warning = D1 ('MetaData "Warning" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 [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 [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 [(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 [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 "UnsolvedMetaVariables" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]))))) :+: ((C1 ('MetaCons "UnsolvedInteractionMetas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range])) :+: (C1 ('MetaCons "UnsolvedConstraints" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Constraints)) :+: C1 ('MetaCons "CantGeneralizeOverSorts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [MetaId])))) :+: ((C1 ('MetaCons "AbsurdPatternRequiresNoRHS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg DeBruijnPattern])) :+: C1 ('MetaCons "OldBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "EmptyRewritePragma" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyWhere" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "IllformedAsClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "ClashesViaRenaming" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameOrModule) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: C1 ('MetaCons "UselessPatternDeclarationForRecord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "UselessPublic" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UselessHiding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportedName]))) :+: (C1 ('MetaCons "UselessInline" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: 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 "NoGuardednessFlag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "GenericWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))) :+: (C1 ('MetaCons "GenericNonFatalError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc)) :+: C1 ('MetaCons "GenericUseless" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Doc))))))) :+: ((((C1 ('MetaCons "SafeFlagPostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "SafeFlagPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :+: C1 ('MetaCons "SafeFlagNonTerminating" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "SafeFlagTerminating" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SafeFlagWithoutKFlagPrimEraseEquality" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "WithoutKFlagPrimEraseEquality" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SafeFlagNoPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SafeFlagPolarity" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SafeFlagNoUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SafeFlagNoCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "SafeFlagInjective" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SafeFlagEta" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (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 [ImportedName])))) :+: (C1 ('MetaCons "InfectiveImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons "CoInfectiveImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))))) :+: (((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 "NotInScopeW" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]))) :+: (C1 ('MetaCons "AsPatternShadowsConstructorOrPatternSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "RecordFieldWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordFieldWarning)))))))) |
builtinNat :: String Source #
builtinSuc :: String Source #
builtinZero :: String Source #
builtinNatPlus :: String Source #
builtinNatMinus :: String Source #
builtinNatTimes :: String Source #
builtinNatDivSucAux :: String Source #
builtinNatModSucAux :: String Source #
builtinNatEquals :: String Source #
builtinNatLess :: String Source #
builtinWord64 :: String Source #
builtinInteger :: String Source #
builtinIntegerPos :: String Source #
builtinIntegerNegSuc :: String Source #
builtinFloat :: String Source #
builtinChar :: String Source #
builtinString :: String Source #
builtinUnit :: String Source #
builtinUnitUnit :: String Source #
builtinSigma :: String Source #
builtinBool :: String Source #
builtinTrue :: String Source #
builtinFalse :: String Source #
builtinList :: String Source #
builtinNil :: String Source #
builtinCons :: String Source #
builtinMaybe :: String Source #
builtinNothing :: String Source #
builtinJust :: String Source #
builtinConId :: String Source #
builtinIdElim :: String Source #
builtinPath :: String Source #
builtinPathP :: String Source #
builtinInterval :: String Source #
builtinIMin :: String Source #
builtinIMax :: String Source #
builtinINeg :: String Source #
builtinIZero :: String Source #
builtinIOne :: String Source #
builtinPartial :: String Source #
builtinPartialP :: String Source #
builtinIsOne :: String Source #
builtinItIsOne :: String Source #
builtinEquiv :: String Source #
builtinEquivFun :: String Source #
builtinEquivProof :: String Source #
builtinTranspProof :: String Source #
builtinGlue :: String Source #
builtin_glue :: String Source #
builtin_unglue :: String Source #
builtin_glueU :: String Source #
builtin_unglueU :: String Source #
builtinFaceForall :: String Source #
builtinIsOne1 :: String Source #
builtinIsOne2 :: String Source #
builtinIsOneEmpty :: String Source #
builtinComp :: String Source #
builtinPOr :: String Source #
builtinTrans :: String Source #
builtinHComp :: String Source #
builtinSub :: String Source #
builtinSubIn :: String Source #
builtinSubOut :: String Source #
builtinSizeUniv :: String Source #
builtinSize :: String Source #
builtinSizeLt :: String Source #
builtinSizeSuc :: String Source #
builtinSizeInf :: String Source #
builtinSizeMax :: String Source #
builtinInf :: String Source #
builtinSharp :: String Source #
builtinFlat :: String Source #
builtinEquality :: String Source #
builtinRefl :: String Source #
builtinRewrite :: String Source #
builtinLevelMax :: String Source #
builtinLevel :: String Source #
builtinLevelZero :: String Source #
builtinLevelSuc :: String Source #
builtinSet :: String Source #
builtinProp :: String Source #
builtinSetOmega :: String Source #
builtinLockUniv :: String Source #
builtinSSetOmega :: String Source #
builtinStrictSet :: String Source #
builtinFromNat :: String Source #
builtinFromNeg :: String Source #
builtinFromString :: String Source #
builtinQName :: String Source #
builtinAgdaSort :: String Source #
builtinAgdaSortSet :: String Source #
builtinAgdaSortLit :: String Source #
builtinAgdaSortProp :: String Source #
builtinAgdaSortPropLit :: String Source #
builtinAgdaSortInf :: String Source #
builtinAgdaSortUnsupported :: String Source #
builtinHiding :: String Source #
builtinHidden :: String Source #
builtinInstance :: String Source #
builtinVisible :: String Source #
builtinRelevance :: String Source #
builtinRelevant :: String Source #
builtinIrrelevant :: String Source #
builtinQuantity :: String Source #
builtinQuantity0 :: String Source #
builtinQuantityω :: String Source #
builtinModality :: String Source #
builtinModalityConstructor :: String Source #
builtinAssoc :: String Source #
builtinAssocLeft :: String Source #
builtinAssocRight :: String Source #
builtinAssocNon :: String Source #
builtinPrecedence :: String Source #
builtinPrecRelated :: String Source #
builtinPrecUnrelated :: String Source #
builtinFixity :: String Source #
builtinFixityFixity :: String Source #
builtinArg :: String Source #
builtinArgInfo :: String Source #
builtinArgArgInfo :: String Source #
builtinArgArg :: String Source #
builtinAbs :: String Source #
builtinAbsAbs :: String Source #
builtinAgdaTerm :: String Source #
builtinAgdaTermVar :: String Source #
builtinAgdaTermLam :: String Source #
builtinAgdaTermExtLam :: String Source #
builtinAgdaTermDef :: String Source #
builtinAgdaTermCon :: String Source #
builtinAgdaTermPi :: String Source #
builtinAgdaTermSort :: String Source #
builtinAgdaTermLit :: String Source #
builtinAgdaTermUnsupported :: String Source #
builtinAgdaTermMeta :: String Source #
builtinAgdaErrorPart :: String Source #
builtinAgdaErrorPartString :: String Source #
builtinAgdaErrorPartTerm :: String Source #
builtinAgdaErrorPartName :: String Source #
builtinAgdaLiteral :: String Source #
builtinAgdaLitNat :: String Source #
builtinAgdaLitWord64 :: String Source #
builtinAgdaLitFloat :: String Source #
builtinAgdaLitChar :: String Source #
builtinAgdaLitString :: String Source #
builtinAgdaLitQName :: String Source #
builtinAgdaLitMeta :: String Source #
builtinAgdaClause :: String Source #
builtinAgdaClauseClause :: String Source #
builtinAgdaClauseAbsurd :: String Source #
builtinAgdaPattern :: String Source #
builtinAgdaPatVar :: String Source #
builtinAgdaPatCon :: String Source #
builtinAgdaPatDot :: String Source #
builtinAgdaPatLit :: String Source #
builtinAgdaPatProj :: String Source #
builtinAgdaPatAbsurd :: String Source #
builtinAgdaDefinitionFunDef :: String Source #
builtinAgdaDefinitionDataDef :: String Source #
builtinAgdaDefinitionRecordDef :: String Source #
builtinAgdaDefinitionDataConstructor :: String Source #
builtinAgdaDefinitionPostulate :: String Source #
builtinAgdaDefinitionPrimitive :: String Source #
builtinAgdaDefinition :: String Source #
builtinAgdaMeta :: String Source #
builtinAgdaTCM :: String Source #
builtinAgdaTCMReturn :: String Source #
builtinAgdaTCMBind :: String Source #
builtinAgdaTCMUnify :: String Source #
builtinAgdaTCMTypeError :: String Source #
builtinAgdaTCMInferType :: String Source #
builtinAgdaTCMCheckType :: String Source #
builtinAgdaTCMNormalise :: String Source #
builtinAgdaTCMReduce :: String Source #
builtinAgdaTCMCatchError :: String Source #
builtinAgdaTCMGetContext :: String Source #
builtinAgdaTCMExtendContext :: String Source #
builtinAgdaTCMInContext :: String Source #
builtinAgdaTCMFreshName :: String Source #
builtinAgdaTCMDeclareDef :: String Source #
builtinAgdaTCMDeclarePostulate :: String Source #
builtinAgdaTCMDefineFun :: String Source #
builtinAgdaTCMGetType :: String Source #
builtinAgdaTCMGetDefinition :: String Source #
builtinAgdaTCMBlockOnMeta :: String Source #
builtinAgdaTCMCommit :: String Source #
builtinAgdaTCMQuoteTerm :: String Source #
builtinAgdaTCMUnquoteTerm :: String Source #
builtinAgdaTCMQuoteOmegaTerm :: String Source #
builtinAgdaTCMIsMacro :: String Source #
builtinAgdaTCMWithNormalisation :: String Source #
builtinAgdaTCMWithReconsParams :: String Source #
builtinAgdaTCMDebugPrint :: String Source #
builtinAgdaTCMOnlyReduceDefs :: String Source #
builtinAgdaTCMDontReduceDefs :: String Source #
builtinAgdaTCMNoConstraints :: String Source #
builtinAgdaTCMRunSpeculative :: String Source #
builtinAgdaTCMExec :: String Source #
isBuiltinNoDef :: String -> Bool Source #
Builtins that come without a definition in Agda syntax. These are giving names to Agda internal concepts which cannot be assigned an Agda type.
An example would be a user-defined name for Set
.
{-# BUILTIN TYPE Type #-}
The type of Type
would be Type : Level → Setω
which is not valid Agda.
builtinsNoDef :: [String] Source #
sizeBuiltins :: [String] Source #
type Verbosity = Trie VerboseKey VerboseLevel Source #
type VerboseLevel = Int Source #
type VerboseKey = String Source #
class (Functor m, Applicative m, Monad m) => HasOptions m where Source #
Minimal complete definition
Nothing
Methods
pragmaOptions :: m PragmaOptions Source #
Returns the pragma options which are currently in effect.
default pragmaOptions :: (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 :: (HasOptions n, MonadTrans t, m ~ t n) => m CommandLineOptions Source #
Instances
type MonadTCError m = (MonadTCEnv m, ReadTCState m, MonadError TCErr m) Source #
The constraints needed for typeError
and similar.
class (Applicative tcm, MonadIO tcm, MonadTCEnv tcm, MonadTCState tcm, HasOptions tcm) => MonadTCM tcm where Source #
Embedding a TCM computation.
Minimal complete definition
Nothing
Methods
Instances
MonadTCM TerM Source # | |
MonadTCM IM Source # | |
MonadTCM tcm => MonadTCM (MaybeT tcm) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadTCM tcm => MonadTCM (ListT tcm) Source # | |
MonadIO m => MonadTCM (TCMT m) Source # | |
MonadTCM tcm => MonadTCM (ChangeT tcm) Source # | |
MonadTCM m => MonadTCM (BlockT m) Source # | |
MonadTCM m => MonadTCM (NamesT m) Source # | |
MonadTCM tcm => MonadTCM (ReaderT r tcm) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadTCM tcm => MonadTCM (StateT s tcm) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadTCM tcm => MonadTCM (ExceptT err tcm) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadTCM tcm => MonadTCM (IdentityT tcm) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
(Monoid w, MonadTCM tcm) => MonadTCM (WriterT w tcm) Source # | |
Defined in Agda.TypeChecking.Monad.Base |
Instances
class Monad m => MonadBlock m where Source #
Minimal complete definition
Methods
patternViolation :: Blocker -> m a Source #
`patternViolation b` aborts the current computation
default patternViolation :: (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
class Monad m => MonadTCState m 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
default getTC :: (MonadTrans t, MonadTCState n, t n ~ m) => m TCState Source #
putTC :: TCState -> m () Source #
default putTC :: (MonadTrans t, MonadTCState n, t n ~ m) => TCState -> m () Source #
Instances
MonadTCState TerM Source # | |
MonadTCState IM Source # | |
MonadTCState m => MonadTCState (MaybeT m) Source # | |
MonadTCState m => MonadTCState (ListT m) Source # | |
MonadIO m => MonadTCState (TCMT m) Source # | |
MonadTCState m => MonadTCState (ChangeT m) Source # | |
MonadTCState m => MonadTCState (BlockT m) Source # | |
MonadTCState m => MonadTCState (NamesT m) Source # | |
MonadTCState m => MonadTCState (ReaderT r m) Source # | |
MonadTCState m => MonadTCState (StateT s m) Source # | |
MonadTCState m => MonadTCState (ExceptT err m) Source # | |
MonadTCState m => MonadTCState (IdentityT m) Source # | |
(Monoid w, MonadTCState m) => MonadTCState (WriterT w m) Source # | |
class Monad m => MonadTCEnv m 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
default askTC :: (MonadTrans t, MonadTCEnv n, t n ~ m) => m TCEnv Source #
Instances
MonadTCEnv ReduceM Source # | |
MonadTCEnv AbsToCon Source # | |
MonadTCEnv NLM Source # | |
MonadTCEnv TerM Source # | |
MonadTCEnv IM Source # | |
MonadTCEnv m => MonadTCEnv (MaybeT m) Source # | |
MonadTCEnv m => MonadTCEnv (ListT m) Source # | |
MonadIO m => MonadTCEnv (TCMT m) Source # | |
MonadTCEnv m => MonadTCEnv (ChangeT m) Source # | |
MonadTCEnv m => MonadTCEnv (BlockT m) Source # | |
MonadTCEnv m => MonadTCEnv (NamesT m) Source # | |
MonadTCEnv m => MonadTCEnv (PureConversionT m) Source # | |
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 (ReaderT r m) Source # | |
MonadTCEnv m => MonadTCEnv (StateT s m) Source # | |
MonadTCEnv m => MonadTCEnv (ExceptT err m) Source # | |
MonadTCEnv m => MonadTCEnv (IdentityT m) Source # | |
(Monoid w, MonadTCEnv m) => MonadTCEnv (WriterT w m) Source # | |
class (Applicative m, MonadTCEnv m, ReadTCState m, HasOptions m) => MonadReduce m where Source #
Minimal complete definition
Nothing
Methods
liftReduce :: ReduceM a -> m a Source #
default liftReduce :: (MonadTrans t, MonadReduce n, t n ~ m) => ReduceM a -> m a Source #
Instances
Instances
Environment of the reduce monad.
data LHSOrPatSyn Source #
Distinguish error message when parsing lhs or pattern synonym, resp.
Instances
Eq LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Show LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> LHSOrPatSyn -> ShowS show :: LHSOrPatSyn -> String showList :: [LHSOrPatSyn] -> ShowS | |
Generic LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep LHSOrPatSyn :: Type -> Type | |
NFData LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: LHSOrPatSyn -> () | |
type Rep LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep LHSOrPatSyn = D1 ('MetaData "LHSOrPatSyn" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "IsLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsPatSyn" 'PrefixI 'False) (U1 :: Type -> Type)) |
Constructors
Instances
Show TypeError Source # | |
Generic TypeError Source # | |
NFData TypeError Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
PrettyTCM TypeError Source # | |
Defined in Agda.TypeChecking.Errors | |
type Rep TypeError Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TypeError = D1 ('MetaData "TypeError" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 "PropMustBeSingleton" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataMustEndInSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "ShouldEndInApplicationOfTheDatatype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "ShouldBeAppliedToTheDatatypeParameters" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) :+: (((C1 ('MetaCons "ShouldBeApplicationOf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: 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 "DoesNotConstructAnElementOf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 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 "WrongNamedArgument" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedName])) :+: 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 "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 "UninstantiatedDotPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: (C1 ('MetaCons "ForcedConstructorNotInstantiated" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: (C1 ('MetaCons "IllformedProjectionPattern" '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 "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 "NotAProjectionPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Pattern))) :+: C1 ('MetaCons "NotAProperTerm" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "InvalidTypeSort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :+: C1 ('MetaCons "InvalidType" '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 "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 "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 "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 "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 "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 "UnequalTypes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comparison) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (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 "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 "UnequalBecauseOfUniverseConflict" '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 "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 Nat))) :+: (C1 ('MetaCons "MetaOccursInItself" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaId)) :+: (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 "BuiltinMustBeConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: ((C1 ('MetaCons "NoSuchBuiltinName" '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 String) :*: (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 String)) :+: (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 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))))))))) :+: ((((((C1 ('MetaCons "WrongModalityForPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (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 [ModuleName]))) :+: (C1 ('MetaCons "BuiltinInParameterisedModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: 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 "NoRHSRequiresAbsurdPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Pattern]))) :+: (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 [Name]))) :+: C1 ('MetaCons "DuplicateFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))))) :+: (((C1 ('MetaCons "DuplicateConstructors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: 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 [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 "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 [NamedArg Expr])))) :+: (C1 ('MetaCons "GeneralizeCyclicDependency" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GeneralizeUnsolvedMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: 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 "TooManyPolarities" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: (C1 ('MetaCons "LocalVsImportedModuleClash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons "SolvedButOpenHoles" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "CyclicModuleDependency" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [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 [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 "ClashingFileNamesFor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: 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 "BothWithAndRHS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "AbstractConstructorNotInScope" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: 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 (List1 QName))) :+: 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 "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 "ClashingImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons "ClashingModuleImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)))) :+: ((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 "DuplicateImports" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportedName]))) :+: (C1 ('MetaCons "InvalidPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern)) :+: (C1 ('MetaCons "RepeatedVariablesInPattern" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: C1 ('MetaCons "GeneralizeNotSupportedHere" '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 [(Name, [Fixity'])])) :+: C1 ('MetaCons "MultiplePolarityPragmas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))) :+: (C1 ('MetaCons "NotAModuleExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: 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 NiceDeclaration)) :+: C1 ('MetaCons "NotValidBeforeField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NiceDeclaration))) :+: (C1 ('MetaCons "NothingAppliedToHiddenArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: (C1 ('MetaCons "NothingAppliedToInstanceArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: 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 "UnusedVariableInPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type) :+: 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 [Pattern]))) :+: (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 "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 "NeedOptionCopatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeedOptionRewriting" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NeedOptionProp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NeedOptionTwoLevel" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NonFatalErrors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [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)))))))))) |
data UnquoteError Source #
Constructors
BadVisibility String (Arg Term) | |
ConInsteadOfDef QName String String | |
DefInsteadOfCon QName String String | |
NonCanonical String Term | |
BlockedOnMeta TCState Blocker | |
UnquotePanic String |
Instances
Show UnquoteError Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> UnquoteError -> ShowS show :: UnquoteError -> String showList :: [UnquoteError] -> ShowS | |
Generic UnquoteError Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep UnquoteError :: Type -> Type | |
NFData UnquoteError Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: UnquoteError -> () | |
type Rep UnquoteError Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep UnquoteError = D1 ('MetaData "UnquoteError" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) ((C1 ('MetaCons "BadVisibility" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Term))) :+: (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 "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 "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 "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 "UnquotePanic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) |
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
Show UnificationFailure Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> UnificationFailure -> ShowS show :: UnificationFailure -> String showList :: [UnificationFailure] -> ShowS | |
Generic UnificationFailure Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep UnificationFailure :: Type -> Type Methods from :: UnificationFailure -> Rep UnificationFailure x to :: Rep UnificationFailure x -> UnificationFailure | |
NFData UnificationFailure Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: UnificationFailure -> () | |
PrettyTCM UnificationFailure Source # | |
Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => UnificationFailure -> m Doc Source # | |
type Rep UnificationFailure Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep UnificationFailure = D1 ('MetaData "UnificationFailure" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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
Show NegativeUnification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NegativeUnification -> ShowS show :: NegativeUnification -> String showList :: [NegativeUnification] -> ShowS | |
Generic NegativeUnification Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep NegativeUnification :: Type -> Type Methods from :: NegativeUnification -> Rep NegativeUnification x to :: Rep NegativeUnification x -> NegativeUnification | |
NFData NegativeUnification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NegativeUnification -> () | |
PrettyTCM NegativeUnification Source # | |
Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => NegativeUnification -> m Doc Source # | |
type Rep NegativeUnification Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep NegativeUnification = D1 ('MetaData "NegativeUnification" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 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 Bool (Closure Type) | Data type, but in erased position.
If the boolean is |
CoinductiveDatatype (Closure Type) | Split on codata not allowed. UNUSED, but keep! -- | NoRecordConstructor Type -- ^ record type, but no constructor |
UnificationStuck | |
Fields
| |
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
Show SplitError Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> SplitError -> ShowS show :: SplitError -> String showList :: [SplitError] -> ShowS | |
Generic SplitError Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep SplitError :: Type -> Type | |
NFData SplitError Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: SplitError -> () | |
PrettyTCM SplitError Source # | |
Defined in Agda.TypeChecking.Errors Methods prettyTCM :: MonadPretty m => SplitError -> m Doc Source # | |
type Rep SplitError Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep SplitError = D1 ('MetaData "SplitError" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 Bool) :*: 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)))))) |
data TerminationError Source #
Information about a mutual block which did not pass the termination checker.
Constructors
TerminationError | |
Fields
|
Instances
Show TerminationError Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> TerminationError -> ShowS show :: TerminationError -> String showList :: [TerminationError] -> ShowS | |
Generic TerminationError Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep TerminationError :: Type -> Type Methods from :: TerminationError -> Rep TerminationError x to :: Rep TerminationError x -> TerminationError | |
NFData TerminationError Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TerminationError -> () | |
type Rep TerminationError Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TerminationError = D1 ('MetaData "TerminationError" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "TerminationError" 'PrefixI 'True) (S1 ('MetaSel ('Just "termErrFunctions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel ('Just "termErrCalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CallInfo]))) |
Information about a call.
Constructors
CallInfo | |
Fields
|
Instances
Show CallInfo Source # | |
Generic CallInfo Source # | |
NFData CallInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty CallInfo Source # | We only |
PrettyTCM CallInfo Source # | |
Defined in Agda.TypeChecking.Pretty.Call | |
type Rep CallInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CallInfo = D1 ('MetaData "CallInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "CallInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "callInfoTarget") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Just "callInfoRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Just "callInfoCall") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Term))))) |
data RecordFieldWarning Source #
Constructors
DuplicateFieldsWarning [(Name, Range)] | Each redundant field comes with a range of associated dead code. |
TooManyFieldsWarning QName [Name] [(Name, Range)] | Record type, fields not supplied by user, non-fields but supplied. The redundant fields come with a range of associated dead code. |
Instances
Data RecordFieldWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RecordFieldWarning -> c RecordFieldWarning gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RecordFieldWarning toConstr :: RecordFieldWarning -> Constr dataTypeOf :: RecordFieldWarning -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RecordFieldWarning) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RecordFieldWarning) gmapT :: (forall b. Data b => b -> b) -> RecordFieldWarning -> RecordFieldWarning gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RecordFieldWarning -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RecordFieldWarning -> r gmapQ :: (forall d. Data d => d -> u) -> RecordFieldWarning -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RecordFieldWarning -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RecordFieldWarning -> m RecordFieldWarning gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RecordFieldWarning -> m RecordFieldWarning gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RecordFieldWarning -> m RecordFieldWarning | |
Show RecordFieldWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> RecordFieldWarning -> ShowS show :: RecordFieldWarning -> String showList :: [RecordFieldWarning] -> ShowS | |
Generic RecordFieldWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep RecordFieldWarning :: Type -> Type Methods from :: RecordFieldWarning -> Rep RecordFieldWarning x to :: Rep RecordFieldWarning x -> RecordFieldWarning | |
NFData RecordFieldWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RecordFieldWarning -> () | |
EmbPrj RecordFieldWarning Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Errors Methods icode :: RecordFieldWarning -> S Int32 Source # icod_ :: RecordFieldWarning -> S Int32 Source # value :: Int32 -> R RecordFieldWarning Source # | |
type Rep RecordFieldWarning Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep RecordFieldWarning = D1 ('MetaData "RecordFieldWarning" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "DuplicateFieldsWarning" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Range)])) :+: C1 ('MetaCons "TooManyFieldsWarning" '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, Range)])))) |
data ArgsCheckState a Source #
Constructors
ACState | |
Fields
|
Instances
Show a => Show (ArgsCheckState a) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ArgsCheckState a -> ShowS show :: ArgsCheckState a -> String showList :: [ArgsCheckState a] -> ShowS |
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
|
Instances
Eq Candidate | |
Data Candidate Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Candidate -> c Candidate gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Candidate toConstr :: Candidate -> Constr dataTypeOf :: Candidate -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Candidate) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Candidate) gmapT :: (forall b. Data b => b -> b) -> Candidate -> Candidate gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Candidate -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Candidate -> r gmapQ :: (forall d. Data d => d -> u) -> Candidate -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Candidate -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Candidate -> m Candidate gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Candidate -> m Candidate gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Candidate -> m Candidate | |
Show Candidate Source # | |
Generic Candidate Source # | |
NFData Candidate Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Free Candidate Source # | |
Subst Candidate Source # | |
Defined in Agda.TypeChecking.Substitute Methods applySubst :: Substitution' (SubstArg Candidate) -> Candidate -> Candidate Source # | |
PrettyTCM Candidate Source # | |
Defined in Agda.TypeChecking.Pretty | |
InstantiateFull Candidate Source # | |
Defined in Agda.TypeChecking.Reduce | |
Normalise Candidate Source # | |
Defined in Agda.TypeChecking.Reduce | |
Simplify Candidate Source # | |
Reduce Candidate Source # | |
Instantiate Candidate Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep Candidate Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Candidate = D1 ('MetaData "Candidate" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 "candidateOverlappable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) | |
type SubstArg Candidate Source # | |
Defined in Agda.TypeChecking.Substitute |
data CandidateKind Source #
Constructors
LocalCandidate | |
GlobalCandidate QName |
Instances
Eq CandidateKind | |
Defined in Agda.TypeChecking.Substitute | |
Data CandidateKind Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CandidateKind -> c CandidateKind gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CandidateKind toConstr :: CandidateKind -> Constr dataTypeOf :: CandidateKind -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CandidateKind) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CandidateKind) gmapT :: (forall b. Data b => b -> b) -> CandidateKind -> CandidateKind gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CandidateKind -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CandidateKind -> r gmapQ :: (forall d. Data d => d -> u) -> CandidateKind -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CandidateKind -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CandidateKind -> m CandidateKind gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CandidateKind -> m CandidateKind gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CandidateKind -> m CandidateKind | |
Show CandidateKind Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CandidateKind -> ShowS show :: CandidateKind -> String showList :: [CandidateKind] -> ShowS | |
Generic CandidateKind Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep CandidateKind :: Type -> Type | |
NFData CandidateKind Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CandidateKind -> () | |
type Rep CandidateKind Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CandidateKind = D1 ('MetaData "CandidateKind" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 ExpandHidden Source #
Constructors
ExpandLast | Add implicit arguments in the end until type is no longer hidden |
DontExpandLast | Do not append implicit arguments. |
ReallyDontExpandLast | Makes |
Instances
Eq ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExpandHidden -> c ExpandHidden gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExpandHidden toConstr :: ExpandHidden -> Constr dataTypeOf :: ExpandHidden -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExpandHidden) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExpandHidden) gmapT :: (forall b. Data b => b -> b) -> ExpandHidden -> ExpandHidden gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExpandHidden -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExpandHidden -> r gmapQ :: (forall d. Data d => d -> u) -> ExpandHidden -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ExpandHidden -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExpandHidden -> m ExpandHidden gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExpandHidden -> m ExpandHidden gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExpandHidden -> m ExpandHidden | |
Generic ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ExpandHidden :: Type -> Type | |
NFData ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ExpandHidden -> () | |
type Rep ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ExpandHidden = D1 ('MetaData "ExpandHidden" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 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
Eq AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AbstractMode -> c AbstractMode gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AbstractMode toConstr :: AbstractMode -> Constr dataTypeOf :: AbstractMode -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AbstractMode) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AbstractMode) gmapT :: (forall b. Data b => b -> b) -> AbstractMode -> AbstractMode gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AbstractMode -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AbstractMode -> r gmapQ :: (forall d. Data d => d -> u) -> AbstractMode -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> AbstractMode -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> AbstractMode -> m AbstractMode gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AbstractMode -> m AbstractMode gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AbstractMode -> m AbstractMode | |
Show AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> AbstractMode -> ShowS show :: AbstractMode -> String showList :: [AbstractMode] -> ShowS | |
Generic AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep AbstractMode :: Type -> Type | |
NFData AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: AbstractMode -> () | |
type Rep AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep AbstractMode = D1 ('MetaData "AbstractMode" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
type Context = [ContextEntry] Source #
The Context
is a stack of ContextEntry
s.
data UnquoteFlags Source #
Constructors
UnquoteFlags | |
Fields
|
Instances
Data UnquoteFlags Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnquoteFlags -> c UnquoteFlags gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnquoteFlags toConstr :: UnquoteFlags -> Constr dataTypeOf :: UnquoteFlags -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UnquoteFlags) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnquoteFlags) gmapT :: (forall b. Data b => b -> b) -> UnquoteFlags -> UnquoteFlags gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnquoteFlags -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnquoteFlags -> r gmapQ :: (forall d. Data d => d -> u) -> UnquoteFlags -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> UnquoteFlags -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnquoteFlags -> m UnquoteFlags gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnquoteFlags -> m UnquoteFlags gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnquoteFlags -> m UnquoteFlags | |
Generic UnquoteFlags Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep UnquoteFlags :: Type -> Type | |
NFData UnquoteFlags Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: UnquoteFlags -> () | |
type Rep UnquoteFlags Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep UnquoteFlags = D1 ('MetaData "UnquoteFlags" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "UnquoteFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unquoteNormalise") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) |
Instances
Functor Builtin Source # | |
Foldable Builtin Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fold :: Monoid m => Builtin m -> m foldMap :: Monoid m => (a -> m) -> Builtin a -> m foldMap' :: Monoid m => (a -> m) -> Builtin a -> m foldr :: (a -> b -> b) -> b -> Builtin a -> b foldr' :: (a -> b -> b) -> b -> Builtin a -> b foldl :: (b -> a -> b) -> b -> Builtin a -> b foldl' :: (b -> a -> b) -> b -> Builtin a -> b foldr1 :: (a -> a -> a) -> Builtin a -> a foldl1 :: (a -> a -> a) -> Builtin a -> a elem :: Eq a => a -> Builtin a -> Bool maximum :: Ord a => Builtin a -> a minimum :: Ord a => Builtin a -> a | |
Traversable Builtin Source # | |
Show pf => Show (Builtin pf) Source # | |
Generic (Builtin pf) Source # | |
NFData pf => NFData (Builtin pf) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
EmbPrj a => EmbPrj (Builtin a) Source # | |
InstantiateFull a => InstantiateFull (Builtin a) Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep (Builtin pf) Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep (Builtin pf) = D1 ('MetaData "Builtin" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
type BuiltinThings pf = Map String (Builtin pf) Source #
data BuiltinInfo Source #
Constructors
BuiltinInfo | |
Fields
|
data BuiltinDescriptor Source #
Constructors
BuiltinData (TCM Type) [String] | |
BuiltinDataCons (TCM Type) | |
BuiltinPrim String (Term -> TCM ()) | |
BuiltinSort String | |
BuiltinPostulate Relevance (TCM Type) | |
BuiltinUnknown (Maybe (TCM Type)) (Term -> Type -> TCM ()) | Builtin of any kind.
Type can be checked ( |
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.
type InstanceTable = Map QName (Set QName) Source #
The instance table is a Map
associating to every name of
recorddata typepostulate its list of instances
Constructors
Instances
Data Call Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Call -> c Call gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Call dataTypeOf :: Call -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Call) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Call) gmapT :: (forall b. Data b => b -> b) -> Call -> Call gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Call -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Call -> r gmapQ :: (forall d. Data d => d -> u) -> Call -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Call -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Call -> m Call gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Call -> m Call gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Call -> m Call | |
Generic Call Source # | |
NFData Call Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty Call Source # | |
HasRange Call Source # | |
PrettyTCM Call Source # | |
Defined in Agda.TypeChecking.Pretty.Call | |
type Rep Call Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Call = D1 ('MetaData "Call" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 Range) :*: 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 "CheckConstructorFitsIn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (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 "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 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 "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)))))))) |
type Statistics = Map String Integer Source #
Constructors
MutId Int32 |
Instances
Enum MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq MutualId Source # | |
Data MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MutualId -> c MutualId gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MutualId toConstr :: MutualId -> Constr dataTypeOf :: MutualId -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MutualId) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MutualId) gmapT :: (forall b. Data b => b -> b) -> MutualId -> MutualId gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MutualId -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MutualId -> r gmapQ :: (forall d. Data d => d -> u) -> MutualId -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MutualId -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MutualId -> m MutualId gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MutualId -> m MutualId gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MutualId -> m MutualId | |
Num MutualId Source # | |
Ord MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Show MutualId Source # | |
NFData MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
HasFresh MutualId Source # | |
EmbPrj MutualId Source # | |
Instances
Eq TermHead Source # | |
Data TermHead Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TermHead -> c TermHead gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TermHead toConstr :: TermHead -> Constr dataTypeOf :: TermHead -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TermHead) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TermHead) gmapT :: (forall b. Data b => b -> b) -> TermHead -> TermHead gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TermHead -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TermHead -> r gmapQ :: (forall d. Data d => d -> u) -> TermHead -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> TermHead -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> TermHead -> m TermHead gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TermHead -> m TermHead gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TermHead -> m TermHead | |
Ord TermHead Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Show TermHead Source # | |
Generic TermHead Source # | |
NFData TermHead Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty TermHead Source # | |
KillRange TermHead Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj TermHead Source # | |
type Rep TermHead Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TermHead = D1 ('MetaData "TermHead" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 FunctionInverse' c Source #
Constructors
NotInjective | |
Inverse (InversionMap c) |
Instances
Functor FunctionInverse' Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> FunctionInverse' a -> FunctionInverse' b (<$) :: a -> FunctionInverse' b -> FunctionInverse' a # | |
Abstract FunctionInverse Source # | |
Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> FunctionInverse -> FunctionInverse Source # | |
Apply FunctionInverse Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: FunctionInverse -> Args -> FunctionInverse Source # applyE :: FunctionInverse -> Elims -> FunctionInverse Source # | |
DropArgs FunctionInverse Source # | |
Defined in Agda.TypeChecking.DropArgs Methods dropArgs :: Int -> FunctionInverse -> FunctionInverse Source # | |
InstantiateFull FunctionInverse Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: FunctionInverse -> ReduceM FunctionInverse Source # | |
Data c => Data (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> FunctionInverse' c -> c0 (FunctionInverse' c) gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (FunctionInverse' c) toConstr :: FunctionInverse' c -> Constr dataTypeOf :: FunctionInverse' c -> DataType dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (FunctionInverse' c)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (FunctionInverse' c)) gmapT :: (forall b. Data b => b -> b) -> FunctionInverse' c -> FunctionInverse' c gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunctionInverse' c -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunctionInverse' c -> r gmapQ :: (forall d. Data d => d -> u) -> FunctionInverse' c -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> FunctionInverse' c -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunctionInverse' c -> m (FunctionInverse' c) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunctionInverse' c -> m (FunctionInverse' c) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunctionInverse' c -> m (FunctionInverse' c) | |
Show c => Show (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> FunctionInverse' c -> ShowS show :: FunctionInverse' c -> String showList :: [FunctionInverse' c] -> ShowS | |
Generic (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep (FunctionInverse' c) :: Type -> Type Methods from :: FunctionInverse' c -> Rep (FunctionInverse' c) x to :: Rep (FunctionInverse' c) x -> FunctionInverse' c | |
NFData c => NFData (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: FunctionInverse' c -> () | |
Pretty c => Pretty (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: FunctionInverse' c -> Doc Source # prettyPrec :: Int -> FunctionInverse' c -> Doc Source # prettyList :: [FunctionInverse' c] -> Doc Source # | |
KillRange c => KillRange (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (FunctionInverse' c) Source # | |
EmbPrj a => EmbPrj (FunctionInverse' a) Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: FunctionInverse' a -> S Int32 Source # icod_ :: FunctionInverse' a -> S Int32 Source # value :: Int32 -> R (FunctionInverse' a) Source # | |
type Rep (FunctionInverse' c) Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep (FunctionInverse' c) = D1 ('MetaData "FunctionInverse'" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
type InversionMap c = Map TermHead [c] Source #
type FunctionInverse = FunctionInverse' Clause Source #
Constructors
PrimFun | |
Fields
|
Instances
Generic PrimFun Source # | |
NFData PrimFun Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Abstract PrimFun Source # | |
Apply PrimFun Source # | |
type Rep PrimFun Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep PrimFun = D1 ('MetaData "PrimFun" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 "primFunImplementation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ([Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)))))) |
data ReduceDefs Source #
Constructors
OnlyReduceDefs (Set QName) | |
DontReduceDefs (Set QName) |
Instances
Data ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ReduceDefs -> c ReduceDefs gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ReduceDefs toConstr :: ReduceDefs -> Constr dataTypeOf :: ReduceDefs -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ReduceDefs) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ReduceDefs) gmapT :: (forall b. Data b => b -> b) -> ReduceDefs -> ReduceDefs gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ReduceDefs -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ReduceDefs -> r gmapQ :: (forall d. Data d => d -> u) -> ReduceDefs -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ReduceDefs -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ReduceDefs -> m ReduceDefs gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ReduceDefs -> m ReduceDefs gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ReduceDefs -> m ReduceDefs | |
Generic ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ReduceDefs :: Type -> Type | |
Semigroup ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (<>) :: ReduceDefs -> ReduceDefs -> ReduceDefs # sconcat :: NonEmpty ReduceDefs -> ReduceDefs stimes :: Integral b => b -> ReduceDefs -> ReduceDefs | |
Monoid ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods mempty :: ReduceDefs mappend :: ReduceDefs -> ReduceDefs -> ReduceDefs mconcat :: [ReduceDefs] -> ReduceDefs | |
NFData ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ReduceDefs -> () | |
type Rep ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ReduceDefs = D1 ('MetaData "ReduceDefs" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
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 |
TypeLevelReductions | Allow |
UnconfirmedReductions | Functions whose termination has not (yet) been confirmed. |
NonTerminatingReductions | Functions that have failed termination checking. |
Instances
Bounded AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Enum AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods succ :: AllowedReduction -> AllowedReduction pred :: AllowedReduction -> AllowedReduction toEnum :: Int -> AllowedReduction fromEnum :: AllowedReduction -> Int enumFrom :: AllowedReduction -> [AllowedReduction] enumFromThen :: AllowedReduction -> AllowedReduction -> [AllowedReduction] enumFromTo :: AllowedReduction -> AllowedReduction -> [AllowedReduction] enumFromThenTo :: AllowedReduction -> AllowedReduction -> AllowedReduction -> [AllowedReduction] | |
Eq AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: AllowedReduction -> AllowedReduction -> Bool (/=) :: AllowedReduction -> AllowedReduction -> Bool | |
Data AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AllowedReduction -> c AllowedReduction gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AllowedReduction toConstr :: AllowedReduction -> Constr dataTypeOf :: AllowedReduction -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AllowedReduction) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AllowedReduction) gmapT :: (forall b. Data b => b -> b) -> AllowedReduction -> AllowedReduction gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AllowedReduction -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AllowedReduction -> r gmapQ :: (forall d. Data d => d -> u) -> AllowedReduction -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> AllowedReduction -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> AllowedReduction -> m AllowedReduction gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AllowedReduction -> m AllowedReduction gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AllowedReduction -> m AllowedReduction | |
Ord AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods compare :: AllowedReduction -> AllowedReduction -> Ordering (<) :: AllowedReduction -> AllowedReduction -> Bool (<=) :: AllowedReduction -> AllowedReduction -> Bool (>) :: AllowedReduction -> AllowedReduction -> Bool (>=) :: AllowedReduction -> AllowedReduction -> Bool max :: AllowedReduction -> AllowedReduction -> AllowedReduction min :: AllowedReduction -> AllowedReduction -> AllowedReduction | |
Show AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> AllowedReduction -> ShowS show :: AllowedReduction -> String showList :: [AllowedReduction] -> ShowS | |
Ix AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods range :: (AllowedReduction, AllowedReduction) -> [AllowedReduction] index :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Int unsafeIndex :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Int inRange :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Bool rangeSize :: (AllowedReduction, AllowedReduction) -> Int unsafeRangeSize :: (AllowedReduction, AllowedReduction) -> Int | |
Generic AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep AllowedReduction :: Type -> Type Methods from :: AllowedReduction -> Rep AllowedReduction x to :: Rep AllowedReduction x -> AllowedReduction | |
NFData AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: AllowedReduction -> () | |
type Rep AllowedReduction Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep AllowedReduction = D1 ('MetaData "AllowedReduction" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 MaybeReducedElims = [MaybeReduced Elim] Source #
type MaybeReducedArgs = [MaybeReduced (Arg Term)] Source #
data MaybeReduced a Source #
Constructors
MaybeRed | |
Fields
|
Instances
Functor MaybeReduced Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> MaybeReduced a -> MaybeReduced b (<$) :: a -> MaybeReduced b -> MaybeReduced a # | |
IsProjElim e => IsProjElim (MaybeReduced e) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods isProjElim :: MaybeReduced e -> Maybe (ProjOrigin, QName) Source # | |
PrettyTCM a => PrettyTCM (MaybeReduced a) Source # | |
Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => MaybeReduced a -> m Doc Source # |
Three cases: 1. not reduced, 2. reduced, but blocked, 3. reduced, not blocked.
Constructors
NotReduced | |
Reduced (Blocked ()) |
Constructors
NoReduction no | |
YesReduction Simplification yes |
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
Eq Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: Simplification -> Simplification -> Bool (/=) :: Simplification -> Simplification -> Bool | |
Data Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Simplification -> c Simplification gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Simplification toConstr :: Simplification -> Constr dataTypeOf :: Simplification -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Simplification) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Simplification) gmapT :: (forall b. Data b => b -> b) -> Simplification -> Simplification gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Simplification -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Simplification -> r gmapQ :: (forall d. Data d => d -> u) -> Simplification -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Simplification -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Simplification -> m Simplification gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Simplification -> m Simplification gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Simplification -> m Simplification | |
Show Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Simplification -> ShowS show :: Simplification -> String showList :: [Simplification] -> ShowS | |
Generic Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Simplification :: Type -> Type | |
Semigroup Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (<>) :: Simplification -> Simplification -> Simplification # sconcat :: NonEmpty Simplification -> Simplification stimes :: Integral b => b -> Simplification -> Simplification | |
Monoid Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods mappend :: Simplification -> Simplification -> Simplification mconcat :: [Simplification] -> Simplification | |
NFData Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Simplification -> () | |
Null Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep Simplification Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Simplification = D1 ('MetaData "Simplification" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "YesSimplification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoSimplification" 'PrefixI 'False) (U1 :: Type -> Type)) |
Constructors
Axiom | Postulate |
Fields
| |
DataOrRecSig | Data or record type signature that doesn't yet have a definition |
Fields
| |
GeneralizableVar | Generalizable variable (introduced in |
AbstractDefn Defn | Returned by |
Function | |
Fields
| |
Datatype | |
Fields
| |
Record | |
Fields
| |
Constructor | |
Fields
| |
Primitive | Primitive or builtin functions. |
Fields
| |
PrimitiveSort | |
Instances
Data Defn Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Defn -> c Defn gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Defn dataTypeOf :: Defn -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Defn) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Defn) gmapT :: (forall b. Data b => b -> b) -> Defn -> Defn gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Defn -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Defn -> r gmapQ :: (forall d. Data d => d -> u) -> Defn -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Defn -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Defn -> m Defn gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Defn -> m Defn gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Defn -> m Defn | |
Show Defn Source # | |
Generic Defn Source # | |
NFData Defn Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty Defn Source # | |
KillRange Defn Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Abstract Defn Source # | |
Apply Defn Source # | |
EmbPrj Defn Source # | |
NamesIn Defn Source # | |
InstantiateFull Defn Source # | |
Defined in Agda.TypeChecking.Reduce | |
Occurs Defn Source # | |
type Rep Defn Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Defn = D1 ('MetaData "Defn" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (((C1 ('MetaCons "Axiom" 'PrefixI 'True) (S1 ('MetaSel ('Just "axiomConstTransp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "DataOrRecSig" 'PrefixI 'True) (S1 ('MetaSel ('Just "datarecPars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: (C1 ('MetaCons "GeneralizableVar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbstractDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Defn)) :+: C1 ('MetaCons "Function" '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 "funAbstr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract) :*: (S1 ('MetaSel ('Just "funDelayed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Delayed) :*: S1 ('MetaSel ('Just "funProjection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Projection)))) :*: ((S1 ('MetaSel ('Just "funFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set 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))))))))) :+: ((C1 ('MetaCons "Datatype" '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])))) :+: C1 ('MetaCons "Record" '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 "recAbstr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract) :*: S1 ('MetaSel ('Just "recComp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompKit)))))) :+: (C1 ('MetaCons "Constructor" '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 "conInd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Induction) :*: 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])))))) :+: (C1 ('MetaCons "Primitive" 'PrefixI 'True) ((S1 ('MetaSel ('Just "primAbstr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsAbstract) :*: S1 ('MetaSel ('Just "primName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (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))))) :+: C1 ('MetaCons "PrimitiveSort" 'PrefixI 'True) (S1 ('MetaSel ('Just "primName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "primSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)))))) |
Constructors
CompKit | |
Fields
|
Instances
Eq CompKit Source # | |
Data CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CompKit -> c CompKit gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CompKit dataTypeOf :: CompKit -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CompKit) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CompKit) gmapT :: (forall b. Data b => b -> b) -> CompKit -> CompKit gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CompKit -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CompKit -> r gmapQ :: (forall d. Data d => d -> u) -> CompKit -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CompKit -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CompKit -> m CompKit gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CompKit -> m CompKit gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CompKit -> m CompKit | |
Ord CompKit Source # | |
Show CompKit Source # | |
Generic CompKit Source # | |
NFData CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj CompKit Source # | |
NamesIn CompKit Source # | |
type Rep CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CompKit = D1 ('MetaData "CompKit" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
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? |
Instances
Enum FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods succ :: FunctionFlag -> FunctionFlag pred :: FunctionFlag -> FunctionFlag toEnum :: Int -> FunctionFlag fromEnum :: FunctionFlag -> Int enumFrom :: FunctionFlag -> [FunctionFlag] enumFromThen :: FunctionFlag -> FunctionFlag -> [FunctionFlag] enumFromTo :: FunctionFlag -> FunctionFlag -> [FunctionFlag] enumFromThenTo :: FunctionFlag -> FunctionFlag -> FunctionFlag -> [FunctionFlag] | |
Eq FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FunctionFlag -> c FunctionFlag gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FunctionFlag toConstr :: FunctionFlag -> Constr dataTypeOf :: FunctionFlag -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FunctionFlag) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FunctionFlag) gmapT :: (forall b. Data b => b -> b) -> FunctionFlag -> FunctionFlag gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunctionFlag -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunctionFlag -> r gmapQ :: (forall d. Data d => d -> u) -> FunctionFlag -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> FunctionFlag -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunctionFlag -> m FunctionFlag gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunctionFlag -> m FunctionFlag gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunctionFlag -> m FunctionFlag | |
Ord FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods compare :: FunctionFlag -> FunctionFlag -> Ordering (<) :: FunctionFlag -> FunctionFlag -> Bool (<=) :: FunctionFlag -> FunctionFlag -> Bool (>) :: FunctionFlag -> FunctionFlag -> Bool (>=) :: FunctionFlag -> FunctionFlag -> Bool max :: FunctionFlag -> FunctionFlag -> FunctionFlag min :: FunctionFlag -> FunctionFlag -> FunctionFlag | |
Show FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> FunctionFlag -> ShowS show :: FunctionFlag -> String showList :: [FunctionFlag] -> ShowS | |
Generic FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep FunctionFlag :: Type -> Type | |
NFData FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: FunctionFlag -> () | |
KillRange FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj FunctionFlag Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: FunctionFlag -> S Int32 Source # icod_ :: FunctionFlag -> S Int32 Source # value :: Int32 -> R FunctionFlag Source # | |
type Rep FunctionFlag Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep FunctionFlag = D1 ('MetaData "FunctionFlag" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
data EtaEquality Source #
Should a record type admit eta-equality?
Constructors
Specified | User specifed 'eta-equality' or 'no-eta-equality'. |
Fields
| |
Inferred | Positivity checker inferred whether eta is safe. |
Fields
|
Instances
Eq EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EtaEquality -> c EtaEquality gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EtaEquality toConstr :: EtaEquality -> Constr dataTypeOf :: EtaEquality -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EtaEquality) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EtaEquality) gmapT :: (forall b. Data b => b -> b) -> EtaEquality -> EtaEquality gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EtaEquality -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EtaEquality -> r gmapQ :: (forall d. Data d => d -> u) -> EtaEquality -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> EtaEquality -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> EtaEquality -> m EtaEquality gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EtaEquality -> m EtaEquality gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EtaEquality -> m EtaEquality | |
Show EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> EtaEquality -> ShowS show :: EtaEquality -> String showList :: [EtaEquality] -> ShowS | |
Generic EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep EtaEquality :: Type -> Type | |
NFData EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: EtaEquality -> () | |
KillRange EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
CopatternMatchingAllowed EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods copatternMatchingAllowed :: EtaEquality -> Bool Source # | |
PatternMatchingAllowed EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods patternMatchingAllowed :: EtaEquality -> Bool Source # | |
EmbPrj EtaEquality Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: EtaEquality -> S Int32 Source # icod_ :: EtaEquality -> S Int32 Source # value :: Int32 -> R EtaEquality Source # | |
type Rep EtaEquality Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep EtaEquality = D1 ('MetaData "EtaEquality" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
Abstractions to build projection function (dropping parameters).
Constructors
ProjLams | |
Fields
|
Instances
Data ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProjLams -> c ProjLams gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProjLams toConstr :: ProjLams -> Constr dataTypeOf :: ProjLams -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProjLams) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProjLams) gmapT :: (forall b. Data b => b -> b) -> ProjLams -> ProjLams gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProjLams -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProjLams -> r gmapQ :: (forall d. Data d => d -> u) -> ProjLams -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ProjLams -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProjLams -> m ProjLams gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProjLams -> m ProjLams gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProjLams -> m ProjLams | |
Show ProjLams Source # | |
Generic ProjLams Source # | |
NFData ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Null ProjLams Source # | |
Pretty ProjLams Source # | |
KillRange ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Abstract ProjLams Source # | |
Apply ProjLams Source # | |
EmbPrj ProjLams Source # | |
type Rep ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base |
data Projection Source #
Additional information for projection Function
s.
Constructors
Projection | |
Fields
|
Instances
Data Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Projection -> c Projection gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Projection toConstr :: Projection -> Constr dataTypeOf :: Projection -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Projection) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Projection) gmapT :: (forall b. Data b => b -> b) -> Projection -> Projection gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Projection -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Projection -> r gmapQ :: (forall d. Data d => d -> u) -> Projection -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Projection -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Projection -> m Projection gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Projection -> m Projection gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Projection -> m Projection | |
Show Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Projection -> ShowS show :: Projection -> String showList :: [Projection] -> ShowS | |
Generic Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Projection :: Type -> Type | |
NFData Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Projection -> () | |
Pretty Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Projection -> Doc Source # prettyPrec :: Int -> Projection -> Doc Source # prettyList :: [Projection] -> Doc Source # | |
KillRange Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Abstract Projection Source # | |
Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> Projection -> Projection Source # | |
Apply Projection Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: Projection -> Args -> Projection Source # applyE :: Projection -> Elims -> Projection Source # | |
EmbPrj Projection Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Projection -> S Int32 Source # icod_ :: Projection -> S Int32 Source # value :: Int32 -> R Projection Source # | |
type Rep Projection Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Projection = D1 ('MetaData "Projection" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))))) |
data ExtLamInfo Source #
Additional information for extended lambdas.
Constructors
ExtLamInfo | |
Fields
|
Instances
Data ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExtLamInfo -> c ExtLamInfo gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExtLamInfo toConstr :: ExtLamInfo -> Constr dataTypeOf :: ExtLamInfo -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExtLamInfo) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExtLamInfo) gmapT :: (forall b. Data b => b -> b) -> ExtLamInfo -> ExtLamInfo gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExtLamInfo -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExtLamInfo -> r gmapQ :: (forall d. Data d => d -> u) -> ExtLamInfo -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtLamInfo -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExtLamInfo -> m ExtLamInfo gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtLamInfo -> m ExtLamInfo gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtLamInfo -> m ExtLamInfo | |
Show ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ExtLamInfo -> ShowS show :: ExtLamInfo -> String showList :: [ExtLamInfo] -> ShowS | |
Generic ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ExtLamInfo :: Type -> Type | |
NFData ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ExtLamInfo -> () | |
KillRange ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Apply ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: ExtLamInfo -> Args -> ExtLamInfo Source # applyE :: ExtLamInfo -> Elims -> ExtLamInfo Source # | |
EmbPrj ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: ExtLamInfo -> S Int32 Source # icod_ :: ExtLamInfo -> S Int32 Source # value :: Int32 -> R ExtLamInfo Source # | |
InstantiateFull ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: ExtLamInfo -> ReduceM ExtLamInfo Source # | |
type Rep ExtLamInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ExtLamInfo = D1 ('MetaData "ExtLamInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))))) |
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
|
Instances
Data System Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> System -> c System gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c System dataTypeOf :: System -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c System) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c System) gmapT :: (forall b. Data b => b -> b) -> System -> System gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> System -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> System -> r gmapQ :: (forall d. Data d => d -> u) -> System -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> System -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> System -> m System gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> System -> m System gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> System -> m System | |
Show System Source # | |
Generic System Source # | |
NFData System Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange System Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Abstract System Source # | |
Apply System Source # | |
EmbPrj System Source # | |
InstantiateFull System Source # | |
Defined in Agda.TypeChecking.Reduce | |
Reify (QNamed System) Source # | |
type Rep System Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep System = D1 ('MetaData "System" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 # | |
Defined in Agda.Syntax.Translation.InternalToAbstract |
type CompiledRepresentation = Map BackendName [CompilerPragma] Source #
data CompilerPragma Source #
The backends are responsible for parsing their own pragmas.
Constructors
CompilerPragma Range String |
Instances
Eq CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CompilerPragma -> CompilerPragma -> Bool (/=) :: CompilerPragma -> CompilerPragma -> Bool | |
Data CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CompilerPragma -> c CompilerPragma gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CompilerPragma toConstr :: CompilerPragma -> Constr dataTypeOf :: CompilerPragma -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CompilerPragma) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CompilerPragma) gmapT :: (forall b. Data b => b -> b) -> CompilerPragma -> CompilerPragma gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CompilerPragma -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CompilerPragma -> r gmapQ :: (forall d. Data d => d -> u) -> CompilerPragma -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CompilerPragma -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CompilerPragma -> m CompilerPragma gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CompilerPragma -> m CompilerPragma gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CompilerPragma -> m CompilerPragma | |
Show CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompilerPragma -> ShowS show :: CompilerPragma -> String showList :: [CompilerPragma] -> ShowS | |
Generic CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep CompilerPragma :: Type -> Type | |
NFData CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: CompilerPragma -> () | |
KillRange CompiledRepresentation Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
HasRange CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getRange :: CompilerPragma -> Range Source # | |
EmbPrj CompilerPragma Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Compilers Methods icode :: CompilerPragma -> S Int32 Source # icod_ :: CompilerPragma -> S Int32 Source # value :: Int32 -> R CompilerPragma Source # | |
type Rep CompilerPragma Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CompilerPragma = D1 ('MetaData "CompilerPragma" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
Information about whether an argument is forced by the type of a function.
Instances
Eq IsForced Source # | |
Data IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IsForced -> c IsForced gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IsForced toConstr :: IsForced -> Constr dataTypeOf :: IsForced -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IsForced) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IsForced) gmapT :: (forall b. Data b => b -> b) -> IsForced -> IsForced gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IsForced -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IsForced -> r gmapQ :: (forall d. Data d => d -> u) -> IsForced -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> IsForced -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> IsForced -> m IsForced gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IsForced -> m IsForced gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IsForced -> m IsForced | |
Show IsForced Source # | |
Generic IsForced Source # | |
NFData IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj IsForced Source # | |
PrettyTCM IsForced Source # | |
Defined in Agda.TypeChecking.Pretty | |
ChooseFlex IsForced Source # | |
Defined in Agda.TypeChecking.Rules.LHS.Problem Methods chooseFlex :: IsForced -> IsForced -> FlexChoice Source # | |
type Rep IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep IsForced = D1 ('MetaData "IsForced" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Forced" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotForced" 'PrefixI 'False) (U1 :: Type -> Type)) |
data NumGeneralizableArgs Source #
Constructors
NoGeneralizableArgs | |
SomeGeneralizableArgs !Int | When lambda-lifting new args are generalizable if
|
Instances
data Definition Source #
Constructors
Defn | |
Fields
|
Instances
Show Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Definition -> ShowS show :: Definition -> String showList :: [Definition] -> ShowS | |
Generic Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Definition :: Type -> Type | |
NFData Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Definition -> () | |
Pretty Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: Definition -> Doc Source # prettyPrec :: Int -> Definition -> Doc Source # prettyList :: [Definition] -> Doc Source # | |
KillRange Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
KillRange Definitions Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
LensArgInfo Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getArgInfo :: Definition -> ArgInfo Source # setArgInfo :: ArgInfo -> Definition -> Definition Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> Definition -> Definition Source # | |
LensRelevance Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: Definition -> Relevance Source # setRelevance :: Relevance -> Definition -> Definition Source # mapRelevance :: (Relevance -> Relevance) -> Definition -> Definition Source # | |
LensQuantity Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: Definition -> Quantity Source # setQuantity :: Quantity -> Definition -> Definition Source # mapQuantity :: (Quantity -> Quantity) -> Definition -> Definition Source # | |
LensModality Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getModality :: Definition -> Modality Source # setModality :: Modality -> Definition -> Definition Source # mapModality :: (Modality -> Modality) -> Definition -> Definition Source # | |
Abstract Definition Source # | |
Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> Definition -> Definition Source # | |
Apply Definition Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: Definition -> Args -> Definition Source # applyE :: Definition -> Elims -> Definition Source # | |
EmbPrj Definition Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: Definition -> S Int32 Source # icod_ :: Definition -> S Int32 Source # value :: Int32 -> R Definition Source # | |
NamesIn Definition Source # | |
Defined in Agda.Syntax.Internal.Names Methods namesIn' :: Monoid m => (QName -> m) -> Definition -> m Source # | |
InstantiateFull Definition Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Definition -> ReduceM Definition Source # | |
type Rep Definition Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Definition = D1 ('MetaData "Definition" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Defn" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "defArgInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: S1 ('MetaSel ('Just "defName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel ('Just "defType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Just "defPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Polarity]))) :*: ((S1 ('MetaSel ('Just "defArgOccurrences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Occurrence]) :*: S1 ('MetaSel ('Just "defArgGeneralizable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NumGeneralizableArgs)) :*: (S1 ('MetaSel ('Just "defGeneralizedParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Name]) :*: (S1 ('MetaSel ('Just "defDisplay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LocalDisplayForm]) :*: S1 ('MetaSel ('Just "defMutual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MutualId))))) :*: (((S1 ('MetaSel ('Just "defCompiledRep") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompiledRepresentation) :*: S1 ('MetaSel ('Just "defInstance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName))) :*: (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 RewriteRule Source #
Rewrite rules can be added independently from function clauses.
Constructors
RewriteRule | |
Fields
|
Instances
Data RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RewriteRule -> c RewriteRule gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RewriteRule toConstr :: RewriteRule -> Constr dataTypeOf :: RewriteRule -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RewriteRule) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RewriteRule) gmapT :: (forall b. Data b => b -> b) -> RewriteRule -> RewriteRule gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RewriteRule -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RewriteRule -> r gmapQ :: (forall d. Data d => d -> u) -> RewriteRule -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RewriteRule -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RewriteRule -> m RewriteRule gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RewriteRule -> m RewriteRule gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RewriteRule -> m RewriteRule | |
Show RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> RewriteRule -> ShowS show :: RewriteRule -> String showList :: [RewriteRule] -> ShowS | |
Generic RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep RewriteRule :: Type -> Type | |
NFData RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: RewriteRule -> () | |
KillRange RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
KillRange RewriteRuleMap Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Subst RewriteRule Source # | |
Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg RewriteRule Source # Methods applySubst :: Substitution' (SubstArg RewriteRule) -> RewriteRule -> RewriteRule Source # | |
Abstract RewriteRule Source # |
|
Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> RewriteRule -> RewriteRule Source # | |
Apply RewriteRule Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: RewriteRule -> Args -> RewriteRule Source # applyE :: RewriteRule -> Elims -> RewriteRule Source # | |
EmbPrj RewriteRule Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: RewriteRule -> S Int32 Source # icod_ :: RewriteRule -> S Int32 Source # value :: Int32 -> R RewriteRule Source # | |
PrettyTCM RewriteRule Source # | |
Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => RewriteRule -> m Doc Source # | |
InstantiateFull RewriteRule Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: RewriteRule -> ReduceM RewriteRule Source # | |
GetMatchables RewriteRule Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: RewriteRule -> [QName] Source # | |
type Rep RewriteRule Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep RewriteRule = D1 ('MetaData "RewriteRule" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "RewriteRule" 'PrefixI 'True) ((S1 ('MetaSel ('Just "rewName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel ('Just "rewContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: S1 ('MetaSel ('Just "rewHead") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :*: ((S1 ('MetaSel ('Just "rewPats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PElims) :*: S1 ('MetaSel ('Just "rewRHS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :*: (S1 ('MetaSel ('Just "rewType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Just "rewFromClause") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) | |
type SubstArg RewriteRule Source # | |
Defined in Agda.TypeChecking.Substitute |
type RewriteRules = [RewriteRule] Source #
Instances
Data NLPSort Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NLPSort -> c NLPSort gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NLPSort dataTypeOf :: NLPSort -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NLPSort) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NLPSort) gmapT :: (forall b. Data b => b -> b) -> NLPSort -> NLPSort gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NLPSort -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NLPSort -> r gmapQ :: (forall d. Data d => d -> u) -> NLPSort -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NLPSort -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NLPSort -> m NLPSort gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NLPSort -> m NLPSort gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NLPSort -> m NLPSort | |
Show NLPSort Source # | |
Generic NLPSort Source # | |
NFData NLPSort Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NLPSort Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Free NLPSort Source # | |
Subst NLPSort Source # | |
Defined in Agda.TypeChecking.Substitute Methods applySubst :: Substitution' (SubstArg NLPSort) -> NLPSort -> NLPSort Source # | |
EmbPrj NLPSort Source # | |
PrettyTCM NLPSort Source # | |
Defined in Agda.TypeChecking.Pretty | |
InstantiateFull NLPSort Source # | |
Defined in Agda.TypeChecking.Reduce | |
GetMatchables NLPSort Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: NLPSort -> [QName] Source # | |
NLPatVars NLPSort Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
NLPatToTerm NLPSort Sort Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
PatternFrom () Sort NLPSort Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
Match () NLPSort Sort Source # | |
type Rep NLPSort Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep NLPSort = D1 ('MetaData "NLPSort" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) ((C1 ('MetaCons "PType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat)) :+: C1 ('MetaCons "PProp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat))) :+: (C1 ('MetaCons "PInf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsFibrant) :*: 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)))) | |
type SubstArg NLPSort Source # | |
Defined in Agda.TypeChecking.Substitute |
Constructors
NLPType | |
Fields
|
Instances
Data NLPType Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NLPType -> c NLPType gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NLPType dataTypeOf :: NLPType -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NLPType) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NLPType) gmapT :: (forall b. Data b => b -> b) -> NLPType -> NLPType gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NLPType -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NLPType -> r gmapQ :: (forall d. Data d => d -> u) -> NLPType -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NLPType -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NLPType -> m NLPType gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NLPType -> m NLPType gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NLPType -> m NLPType | |
Show NLPType Source # | |
Generic NLPType Source # | |
NFData NLPType Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NLPType Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Free NLPType Source # | |
Subst NLPType Source # | |
Defined in Agda.TypeChecking.Substitute Methods applySubst :: Substitution' (SubstArg NLPType) -> NLPType -> NLPType Source # | |
EmbPrj NLPType Source # | |
PrettyTCM NLPType Source # | |
Defined in Agda.TypeChecking.Pretty | |
InstantiateFull NLPType Source # | |
Defined in Agda.TypeChecking.Reduce | |
GetMatchables NLPType Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: NLPType -> [QName] Source # | |
NLPatVars NLPType Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
NLPatToTerm NLPType Type Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
PatternFrom () Type NLPType Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
Match () NLPType Type Source # | |
type Rep NLPType Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep NLPType = D1 ('MetaData "NLPType" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "NLPType" 'PrefixI 'True) (S1 ('MetaSel ('Just "nlpTypeSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPSort) :*: S1 ('MetaSel ('Just "nlpTypeUnEl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NLPat))) | |
type SubstArg NLPType Source # | |
Defined in Agda.TypeChecking.Substitute |
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 |
PLam ArgInfo (Abs NLPat) | Matches |
PPi (Dom NLPType) (Abs NLPType) | Matches |
PSort NLPSort | Matches a sort of the given shape. |
PBoundVar !Int PElims | Matches |
PTerm Term | Matches the term modulo β (ideally βη). |
Instances
Data NLPat Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NLPat -> c NLPat gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NLPat dataTypeOf :: NLPat -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NLPat) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NLPat) gmapT :: (forall b. Data b => b -> b) -> NLPat -> NLPat gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NLPat -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NLPat -> r gmapQ :: (forall d. Data d => d -> u) -> NLPat -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NLPat -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NLPat -> m NLPat gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NLPat -> m NLPat gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NLPat -> m NLPat | |
Show NLPat Source # | |
Generic NLPat Source # | |
NFData NLPat Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange NLPat Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
DeBruijn NLPat Source # | |
Defined in Agda.TypeChecking.Substitute Methods deBruijnVar :: Int -> NLPat Source # debruijnNamedVar :: String -> Int -> NLPat Source # deBruijnView :: NLPat -> Maybe Int Source # | |
Free NLPat Source # | Only computes free variables that are not bound (see |
Subst NLPat Source # | |
Defined in Agda.TypeChecking.Substitute Methods applySubst :: Substitution' (SubstArg NLPat) -> NLPat -> NLPat Source # | |
EmbPrj NLPat Source # | |
PrettyTCM NLPat Source # | |
Defined in Agda.TypeChecking.Pretty | |
InstantiateFull NLPat Source # | |
Defined in Agda.TypeChecking.Reduce | |
GetMatchables NLPat Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: NLPat -> [QName] Source # | |
NLPatVars NLPat Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
NLPatToTerm NLPat Level Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
NLPatToTerm NLPat Term Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
PatternFrom () Level NLPat Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
PatternFrom Type Term NLPat Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinPattern | |
Match () NLPat Level Source # | |
Match Type NLPat Term Source # | |
PrettyTCM (Elim' NLPat) Source # | |
Defined in Agda.TypeChecking.Pretty | |
PrettyTCM (Type' NLPat) Source # | |
Defined in Agda.TypeChecking.Pretty | |
ToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat) Source # | |
Defined in Agda.TypeChecking.Rewriting.Clause | |
ToNLPat (Arg DeBruijnPattern) (Elim' NLPat) Source # | |
Defined in Agda.TypeChecking.Rewriting.Clause | |
PatternFrom (Type, Term) Elims [Elim' NLPat] Source # | |
Match (Type, Elims -> Term) [Elim' NLPat] Elims Source # | |
type Rep NLPat Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep NLPat = D1 ('MetaData "NLPat" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 SubstArg NLPat Source # | |
Defined in Agda.TypeChecking.Substitute |
data DisplayTerm Source #
Constructors
DWithApp DisplayTerm [DisplayTerm] Elims |
|
DCon ConHead ConInfo [Arg DisplayTerm] |
|
DDef QName [Elim' DisplayTerm] |
|
DDot Term |
|
DTerm Term |
|
Instances
Data DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DisplayTerm -> c DisplayTerm gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DisplayTerm toConstr :: DisplayTerm -> Constr dataTypeOf :: DisplayTerm -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DisplayTerm) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DisplayTerm) gmapT :: (forall b. Data b => b -> b) -> DisplayTerm -> DisplayTerm gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DisplayTerm -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DisplayTerm -> r gmapQ :: (forall d. Data d => d -> u) -> DisplayTerm -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DisplayTerm -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DisplayTerm -> m DisplayTerm gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayTerm -> m DisplayTerm gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayTerm -> m DisplayTerm | |
Show DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DisplayTerm -> ShowS show :: DisplayTerm -> String showList :: [DisplayTerm] -> ShowS | |
Generic DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep DisplayTerm :: Type -> Type | |
NFData DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DisplayTerm -> () | |
Pretty DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: DisplayTerm -> Doc Source # prettyPrec :: Int -> DisplayTerm -> Doc Source # prettyList :: [DisplayTerm] -> Doc Source # | |
KillRange DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Free DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Subst DisplayTerm Source # | |
Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg DisplayTerm Source # Methods applySubst :: Substitution' (SubstArg DisplayTerm) -> DisplayTerm -> DisplayTerm Source # | |
Apply DisplayTerm Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: DisplayTerm -> Args -> DisplayTerm Source # applyE :: DisplayTerm -> Elims -> DisplayTerm Source # | |
EmbPrj DisplayTerm Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DisplayTerm -> S Int32 Source # icod_ :: DisplayTerm -> S Int32 Source # value :: Int32 -> R DisplayTerm Source # | |
PrettyTCM DisplayTerm Source # | |
Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => DisplayTerm -> m Doc Source # | |
NamesIn DisplayTerm Source # | |
Defined in Agda.Syntax.Internal.Names Methods namesIn' :: Monoid m => (QName -> m) -> DisplayTerm -> m Source # | |
InstantiateFull DisplayTerm Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: DisplayTerm -> ReduceM DisplayTerm Source # | |
Reify DisplayTerm Source # | |
Defined in Agda.Syntax.Translation.InternalToAbstract Associated Types type ReifiesTo DisplayTerm Source # Methods reify :: MonadReify m => DisplayTerm -> m (ReifiesTo DisplayTerm) Source # reifyWhen :: MonadReify m => Bool -> DisplayTerm -> m (ReifiesTo DisplayTerm) Source # | |
PrettyTCM (Elim' DisplayTerm) Source # | |
Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Elim' DisplayTerm -> m Doc Source # | |
type Rep DisplayTerm Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep DisplayTerm = D1 ('MetaData "DisplayTerm" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 [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)) :+: C1 ('MetaCons "DTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))) | |
type SubstArg DisplayTerm Source # | |
Defined in Agda.TypeChecking.Substitute | |
type ReifiesTo DisplayTerm Source # | |
Defined in Agda.Syntax.Translation.InternalToAbstract |
type LocalDisplayForm = Open DisplayForm Source #
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
|
Instances
Data DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DisplayForm -> c DisplayForm gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DisplayForm toConstr :: DisplayForm -> Constr dataTypeOf :: DisplayForm -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DisplayForm) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DisplayForm) gmapT :: (forall b. Data b => b -> b) -> DisplayForm -> DisplayForm gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DisplayForm -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DisplayForm -> r gmapQ :: (forall d. Data d => d -> u) -> DisplayForm -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DisplayForm -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DisplayForm -> m DisplayForm gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayForm -> m DisplayForm gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayForm -> m DisplayForm | |
Show DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DisplayForm -> ShowS show :: DisplayForm -> String showList :: [DisplayForm] -> ShowS | |
Generic DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep DisplayForm :: Type -> Type | |
NFData DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DisplayForm -> () | |
Pretty DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: DisplayForm -> Doc Source # prettyPrec :: Int -> DisplayForm -> Doc Source # prettyList :: [DisplayForm] -> Doc Source # | |
KillRange DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
Free DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Subst DisplayForm Source # | |
Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg DisplayForm Source # Methods applySubst :: Substitution' (SubstArg DisplayForm) -> DisplayForm -> DisplayForm Source # | |
EmbPrj DisplayForm Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DisplayForm -> S Int32 Source # icod_ :: DisplayForm -> S Int32 Source # value :: Int32 -> R DisplayForm Source # | |
NamesIn DisplayForm Source # | |
Defined in Agda.Syntax.Internal.Names Methods namesIn' :: Monoid m => (QName -> m) -> DisplayForm -> m Source # | |
InstantiateFull DisplayForm Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: DisplayForm -> ReduceM DisplayForm Source # | |
Normalise DisplayForm Source # | |
Defined in Agda.TypeChecking.Reduce Methods | |
Simplify DisplayForm Source # | |
Defined in Agda.TypeChecking.Reduce Methods | |
type Rep DisplayForm Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep DisplayForm = D1 ('MetaData "DisplayForm" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Display" 'PrefixI 'True) (S1 ('MetaSel ('Just "dfPatternVars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat) :*: (S1 ('MetaSel ('Just "dfPats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Elims) :*: S1 ('MetaSel ('Just "dfRHS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayTerm)))) | |
type SubstArg DisplayForm Source # | |
Defined in Agda.TypeChecking.Substitute |
Constructors
Section | |
Fields |
Instances
Eq Section | |
Data Section Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Section -> c Section gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Section dataTypeOf :: Section -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Section) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Section) gmapT :: (forall b. Data b => b -> b) -> Section -> Section gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Section -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Section -> r gmapQ :: (forall d. Data d => d -> u) -> Section -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Section -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Section -> m Section gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Section -> m Section gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Section -> m Section | |
Show Section Source # | |
NFData Section Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty Section Source # | |
KillRange Section Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
KillRange Sections Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj Section Source # | |
InstantiateFull Section Source # | |
Defined in Agda.TypeChecking.Reduce |
type DisplayForms = HashMap QName [LocalDisplayForm] Source #
type RewriteRuleMap = HashMap QName RewriteRules Source #
type Definitions = HashMap QName Definition Source #
type Sections = Map ModuleName Section Source #
Constructors
Sig | |
Fields
|
Instances
Show Signature Source # | |
Generic Signature Source # | |
NFData Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj Signature Source # | |
InstantiateFull Signature Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Signature = D1 ('MetaData "Signature" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
Which clause is an interaction point located in?
Constructors
IPClause | |
Fields
| |
IPNoClause | The interaction point is not in the rhs of a clause. |
Instances
Eq IPClause Source # | |
Generic IPClause Source # | |
NFData IPClause Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep IPClause Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep IPClause = D1 ('MetaData "IPClause" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 ())) :*: S1 ('MetaSel ('Just "ipcBoundary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Closure IPBoundary])))) :+: C1 ('MetaCons "IPNoClause" 'PrefixI 'False) (U1 :: Type -> Type)) |
type IPBoundary = IPBoundary' Term Source #
data IPBoundary' t Source #
Datatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ⊢ t = ?n es
Constructors
IPBoundary | |
Fields
|
Instances
Functor IPBoundary' Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fmap :: (a -> b) -> IPBoundary' a -> IPBoundary' b (<$) :: a -> IPBoundary' b -> IPBoundary' a # | |
Foldable IPBoundary' Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fold :: Monoid m => IPBoundary' m -> m foldMap :: Monoid m => (a -> m) -> IPBoundary' a -> m foldMap' :: Monoid m => (a -> m) -> IPBoundary' a -> m foldr :: (a -> b -> b) -> b -> IPBoundary' a -> b foldr' :: (a -> b -> b) -> b -> IPBoundary' a -> b foldl :: (b -> a -> b) -> b -> IPBoundary' a -> b foldl' :: (b -> a -> b) -> b -> IPBoundary' a -> b foldr1 :: (a -> a -> a) -> IPBoundary' a -> a foldl1 :: (a -> a -> a) -> IPBoundary' a -> a toList :: IPBoundary' a -> [a] null :: IPBoundary' a -> Bool length :: IPBoundary' a -> Int elem :: Eq a => a -> IPBoundary' a -> Bool maximum :: Ord a => IPBoundary' a -> a minimum :: Ord a => IPBoundary' a -> a sum :: Num a => IPBoundary' a -> a product :: Num a => IPBoundary' a -> a | |
Traversable IPBoundary' Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods traverse :: Applicative f => (a -> f b) -> IPBoundary' a -> f (IPBoundary' b) sequenceA :: Applicative f => IPBoundary' (f a) -> f (IPBoundary' a) mapM :: Monad m => (a -> m b) -> IPBoundary' a -> m (IPBoundary' b) sequence :: Monad m => IPBoundary' (m a) -> m (IPBoundary' a) | |
Data t => Data (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPBoundary' t -> c (IPBoundary' t) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IPBoundary' t) toConstr :: IPBoundary' t -> Constr dataTypeOf :: IPBoundary' t -> DataType dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (IPBoundary' t)) dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (IPBoundary' t)) gmapT :: (forall b. Data b => b -> b) -> IPBoundary' t -> IPBoundary' t gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPBoundary' t -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPBoundary' t -> r gmapQ :: (forall d. Data d => d -> u) -> IPBoundary' t -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> IPBoundary' t -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPBoundary' t -> m (IPBoundary' t) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPBoundary' t -> m (IPBoundary' t) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPBoundary' t -> m (IPBoundary' t) | |
Show t => Show (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> IPBoundary' t -> ShowS show :: IPBoundary' t -> String showList :: [IPBoundary' t] -> ShowS | |
Generic (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep (IPBoundary' t) :: Type -> Type | |
NFData t => NFData (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: IPBoundary' t -> () | |
Pretty c => Pretty (IPBoundary' c) Source # | |
Defined in Agda.Interaction.BasicOps Methods pretty :: IPBoundary' c -> Doc Source # prettyPrec :: Int -> IPBoundary' c -> Doc Source # prettyList :: [IPBoundary' c] -> Doc Source # | |
ToConcrete a => ToConcrete (IPBoundary' a) Source # | |
Defined in Agda.Interaction.BasicOps Associated Types type ConOfAbs (IPBoundary' a) Source # Methods toConcrete :: IPBoundary' a -> AbsToCon (ConOfAbs (IPBoundary' a)) Source # bindToConcrete :: IPBoundary' a -> (ConOfAbs (IPBoundary' a) -> AbsToCon b) -> AbsToCon b Source # | |
InstantiateFull t => InstantiateFull (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source # | |
Normalise t => Normalise (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Reduce Methods normalise' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source # | |
Simplify t => Simplify (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Reduce Methods simplify' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source # | |
Reduce t => Reduce (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Reduce Methods reduce' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source # reduceB' :: IPBoundary' t -> ReduceM (Blocked (IPBoundary' t)) Source # | |
Instantiate t => Instantiate (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiate' :: IPBoundary' t -> ReduceM (IPBoundary' t) Source # | |
Reify a => Reify (IPBoundary' a) Source # | |
Defined in Agda.Interaction.BasicOps Associated Types type ReifiesTo (IPBoundary' a) Source # Methods reify :: MonadReify m => IPBoundary' a -> m (ReifiesTo (IPBoundary' a)) Source # reifyWhen :: MonadReify m => Bool -> IPBoundary' a -> m (ReifiesTo (IPBoundary' a)) Source # | |
type Rep (IPBoundary' t) Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep (IPBoundary' t) = D1 ('MetaData "IPBoundary'" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "IPBoundary" 'PrefixI 'True) ((S1 ('MetaSel ('Just "ipbEquations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(t, t)]) :*: S1 ('MetaSel ('Just "ipbValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :*: (S1 ('MetaSel ('Just "ipbMetaApp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Just "ipbOverapplied") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Overapplied)))) | |
type ConOfAbs (IPBoundary' a) Source # | |
Defined in Agda.Interaction.BasicOps | |
type ReifiesTo (IPBoundary' a) Source # | |
Defined in Agda.Interaction.BasicOps |
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
Eq Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Overapplied -> c Overapplied gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Overapplied toConstr :: Overapplied -> Constr dataTypeOf :: Overapplied -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Overapplied) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Overapplied) gmapT :: (forall b. Data b => b -> b) -> Overapplied -> Overapplied gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Overapplied -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Overapplied -> r gmapQ :: (forall d. Data d => d -> u) -> Overapplied -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Overapplied -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Overapplied -> m Overapplied gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Overapplied -> m Overapplied gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Overapplied -> m Overapplied | |
Show Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Overapplied -> ShowS show :: Overapplied -> String showList :: [Overapplied] -> ShowS | |
Generic Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Overapplied :: Type -> Type | |
NFData Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Overapplied -> () | |
type Rep Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Overapplied = D1 ('MetaData "Overapplied" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Overapplied" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotOverapplied" 'PrefixI 'False) (U1 :: Type -> Type)) |
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)
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 | |
Instances
Eq InteractionPoint Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: InteractionPoint -> InteractionPoint -> Bool (/=) :: InteractionPoint -> InteractionPoint -> Bool | |
Generic InteractionPoint Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep InteractionPoint :: Type -> Type Methods from :: InteractionPoint -> Rep InteractionPoint x to :: Rep InteractionPoint x -> InteractionPoint | |
NFData InteractionPoints Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InteractionPoints -> () | |
NFData InteractionPoint Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InteractionPoint -> () | |
HasTag InteractionPoint Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Tag InteractionPoint Source # Methods tag :: InteractionPoint -> Maybe (Tag InteractionPoint) Source # | |
type Rep InteractionPoint Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep InteractionPoint = D1 ('MetaData "InteractionPoint" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) | |
type Tag InteractionPoint Source # | |
Defined in Agda.TypeChecking.Monad.Base |
type MetaStore = IntMap MetaVariable Source #
type MetaNameSuggestion = String Source #
Name suggestion for meta variable. Empty string means no suggestion.
MetaInfo
is cloned from one meta to the next during pruning.
Constructors
MetaInfo | |
Fields
|
Instances
Generic MetaInfo Source # | |
NFData MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
SetRange MetaInfo Source # | |
HasRange MetaInfo Source # | |
LensIsAbstract MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
LensQuantity MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensModality MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensClosure Range MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep MetaInfo = D1 ('MetaData "MetaInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))))) |
data RunMetaOccursCheck Source #
Constructors
RunMetaOccursCheck | |
DontRunMetaOccursCheck |
Instances
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
Eq MetaPriority Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Ord MetaPriority Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods compare :: MetaPriority -> MetaPriority -> Ordering (<) :: MetaPriority -> MetaPriority -> Bool (<=) :: MetaPriority -> MetaPriority -> Bool (>) :: MetaPriority -> MetaPriority -> Bool (>=) :: MetaPriority -> MetaPriority -> Bool max :: MetaPriority -> MetaPriority -> MetaPriority min :: MetaPriority -> MetaPriority -> MetaPriority | |
Show MetaPriority Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MetaPriority -> ShowS show :: MetaPriority -> String showList :: [MetaPriority] -> ShowS | |
NFData MetaPriority Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaPriority -> () |
data TypeCheckingProblem Source #
Constructors
CheckExpr Comparison Expr Type | |
CheckArgs Comparison ExpandHidden Range [NamedArg Expr] Type Type (ArgsCheckState CheckedTarget -> TCM Term) | |
CheckProjAppToKnownPrincipalArg Comparison Expr ProjOrigin (List1 QName) Args Type Int Term Type PrincipalArgTypeMetas | |
CheckLambda Comparison (Arg (List1 (WithHiding Name), Maybe Type)) Expr Type |
|
DoQuoteTerm Comparison Term Type | Quote the given term and check type against |
Instances
Generic TypeCheckingProblem Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep TypeCheckingProblem :: Type -> Type Methods from :: TypeCheckingProblem -> Rep TypeCheckingProblem x to :: Rep TypeCheckingProblem x -> TypeCheckingProblem | |
NFData TypeCheckingProblem Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TypeCheckingProblem -> () | |
PrettyTCM TypeCheckingProblem Source # | |
Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => TypeCheckingProblem -> m Doc Source # | |
type Rep TypeCheckingProblem Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TypeCheckingProblem = D1 ('MetaData "TypeCheckingProblem" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 Range))) :*: ((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 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 "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 PrincipalArgTypeMetas Source #
Constructors
PrincipalArgTypeMetas | |
Fields
|
Instances
Generic PrincipalArgTypeMetas Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep PrincipalArgTypeMetas :: Type -> Type Methods from :: PrincipalArgTypeMetas -> Rep PrincipalArgTypeMetas x to :: Rep PrincipalArgTypeMetas x -> PrincipalArgTypeMetas | |
NFData PrincipalArgTypeMetas Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PrincipalArgTypeMetas -> () | |
type Rep PrincipalArgTypeMetas Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep PrincipalArgTypeMetas = D1 ('MetaData "PrincipalArgTypeMetas" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 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 MetaInstantiation Source #
Constructors
InstV [Arg String] Term | solved by term (abstracted over some free variables) |
Open | unsolved |
OpenInstance | open, to be instantiated by instance search |
BlockedConst Term | solution blocked by unsolved constraints |
PostponedTypeCheckingProblem (Closure TypeCheckingProblem) |
Instances
Show MetaInstantiation Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MetaInstantiation -> ShowS show :: MetaInstantiation -> String showList :: [MetaInstantiation] -> ShowS | |
Generic MetaInstantiation Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep MetaInstantiation :: Type -> Type Methods from :: MetaInstantiation -> Rep MetaInstantiation x to :: Rep MetaInstantiation x -> MetaInstantiation | |
NFData MetaInstantiation Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaInstantiation -> () | |
type Rep MetaInstantiation Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep MetaInstantiation = D1 ('MetaData "MetaInstantiation" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) ((C1 ('MetaCons "InstV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Arg String]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: C1 ('MetaCons "Open" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OpenInstance" 'PrefixI 'False) (U1 :: Type -> Type) :+: (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)))))) |
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
Eq Frozen Source # | |
Show Frozen Source # | |
Generic Frozen Source # | |
NFData Frozen Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep Frozen Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Frozen = D1 ('MetaData "Frozen" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Frozen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Instantiable" 'PrefixI 'False) (U1 :: Type -> Type)) |
Constructors
EtaExpand MetaId | |
CheckConstraint Nat ProblemConstraint |
Instances
Eq Listener Source # | |
Ord Listener Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Generic Listener Source # | |
NFData Listener Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep Listener Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Listener = D1 ('MetaData "Listener" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 MetaVariable Source #
Constructors
MetaVar | |
Fields
|
Instances
Generic MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep MetaVariable :: Type -> Type | |
NFData MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MetaVariable -> () | |
SetRange MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods setRange :: Range -> MetaVariable -> MetaVariable Source # | |
HasRange MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getRange :: MetaVariable -> Range Source # | |
LensQuantity MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: MetaVariable -> Quantity Source # setQuantity :: Quantity -> MetaVariable -> MetaVariable Source # mapQuantity :: (Quantity -> Quantity) -> MetaVariable -> MetaVariable Source # | |
LensModality MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getModality :: MetaVariable -> Modality Source # setModality :: Modality -> MetaVariable -> MetaVariable Source # mapModality :: (Modality -> Modality) -> MetaVariable -> MetaVariable Source # | |
LensClosure Range MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
type Rep MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep MetaVariable = D1 ('MetaData "MetaVariable" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 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
|
Instances
Data GeneralizedValue Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GeneralizedValue -> c GeneralizedValue gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GeneralizedValue toConstr :: GeneralizedValue -> Constr dataTypeOf :: GeneralizedValue -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GeneralizedValue) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GeneralizedValue) gmapT :: (forall b. Data b => b -> b) -> GeneralizedValue -> GeneralizedValue gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GeneralizedValue -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GeneralizedValue -> r gmapQ :: (forall d. Data d => d -> u) -> GeneralizedValue -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> GeneralizedValue -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> GeneralizedValue -> m GeneralizedValue gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GeneralizedValue -> m GeneralizedValue gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GeneralizedValue -> m GeneralizedValue | |
Show GeneralizedValue Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> GeneralizedValue -> ShowS show :: GeneralizedValue -> String showList :: [GeneralizedValue] -> ShowS | |
Generic GeneralizedValue Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep GeneralizedValue :: Type -> Type Methods from :: GeneralizedValue -> Rep GeneralizedValue x to :: Rep GeneralizedValue x -> GeneralizedValue | |
NFData GeneralizedValue Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: GeneralizedValue -> () | |
type Rep GeneralizedValue Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep GeneralizedValue = D1 ('MetaData "GeneralizedValue" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
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
Eq DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Data DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DoGeneralize -> c DoGeneralize gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DoGeneralize toConstr :: DoGeneralize -> Constr dataTypeOf :: DoGeneralize -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DoGeneralize) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DoGeneralize) gmapT :: (forall b. Data b => b -> b) -> DoGeneralize -> DoGeneralize gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DoGeneralize -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DoGeneralize -> r gmapQ :: (forall d. Data d => d -> u) -> DoGeneralize -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DoGeneralize -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DoGeneralize -> m DoGeneralize gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DoGeneralize -> m DoGeneralize gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DoGeneralize -> m DoGeneralize | |
Ord DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods compare :: DoGeneralize -> DoGeneralize -> Ordering (<) :: DoGeneralize -> DoGeneralize -> Bool (<=) :: DoGeneralize -> DoGeneralize -> Bool (>) :: DoGeneralize -> DoGeneralize -> Bool (>=) :: DoGeneralize -> DoGeneralize -> Bool max :: DoGeneralize -> DoGeneralize -> DoGeneralize min :: DoGeneralize -> DoGeneralize -> DoGeneralize | |
Show DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> DoGeneralize -> ShowS show :: DoGeneralize -> String showList :: [DoGeneralize] -> ShowS | |
Generic DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep DoGeneralize :: Type -> Type | |
NFData DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DoGeneralize -> () | |
KillRange DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj DoGeneralize Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DoGeneralize -> S Int32 Source # icod_ :: DoGeneralize -> S Int32 Source # value :: Int32 -> R DoGeneralize Source # | |
type Rep DoGeneralize Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep DoGeneralize = D1 ('MetaData "DoGeneralize" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
Parametrized since it is used without MetaId when creating a new meta.
Constructors
HasType | |
Fields
| |
IsSort | |
Instances
Generic (Judgement a) Source # | |
NFData a => NFData (Judgement a) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty a => Pretty (Judgement a) Source # | |
PrettyTCM a => PrettyTCM (Judgement a) Source # | |
Defined in Agda.TypeChecking.Pretty | |
type Rep (Judgement a) Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep (Judgement a) = D1 ('MetaData "Judgement" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
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 |
Instances
Functor Open Source # | |
Foldable Open Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fold :: Monoid m => Open m -> m foldMap :: Monoid m => (a -> m) -> Open a -> m foldMap' :: Monoid m => (a -> m) -> Open a -> m foldr :: (a -> b -> b) -> b -> Open a -> b foldr' :: (a -> b -> b) -> b -> Open a -> b foldl :: (b -> a -> b) -> b -> Open a -> b foldl' :: (b -> a -> b) -> b -> Open a -> b foldr1 :: (a -> a -> a) -> Open a -> a foldl1 :: (a -> a -> a) -> Open a -> a elem :: Eq a => a -> Open a -> Bool maximum :: Ord a => Open a -> a | |
Traversable Open Source # | |
Decoration Open Source # | |
Show a => Show (Open a) Source # | |
Generic (Open a) Source # | |
NFData a => NFData (Open a) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty a => Pretty (Open a) Source # | |
KillRange a => KillRange (Open a) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (Open a) Source # | |
EmbPrj a => EmbPrj (Open a) Source # | |
NamesIn a => NamesIn (Open a) Source # | |
InstantiateFull t => InstantiateFull (Open t) Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep (Open a) Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep (Open a) = D1 ('MetaData "Open" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
We can either compare two terms at a given type, or compare two types without knowing (or caring about) their sorts.
Constructors
AsTermsOf Type |
|
AsSizes | Replaces |
AsTypes |
Instances
Data CompareAs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CompareAs -> c CompareAs gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CompareAs toConstr :: CompareAs -> Constr dataTypeOf :: CompareAs -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CompareAs) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CompareAs) gmapT :: (forall b. Data b => b -> b) -> CompareAs -> CompareAs gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CompareAs -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CompareAs -> r gmapQ :: (forall d. Data d => d -> u) -> CompareAs -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CompareAs -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CompareAs -> m CompareAs gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CompareAs -> m CompareAs gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CompareAs -> m CompareAs | |
Show CompareAs Source # | |
Generic CompareAs Source # | |
NFData CompareAs Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Free CompareAs Source # | |
Subst CompareAs Source # | |
Defined in Agda.TypeChecking.Substitute Methods applySubst :: Substitution' (SubstArg CompareAs) -> CompareAs -> CompareAs Source # | |
TermLike CompareAs Source # | |
AllMetas CompareAs Source # | |
PrettyTCM CompareAs Source # | |
Defined in Agda.TypeChecking.Pretty | |
IsSizeType CompareAs Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => CompareAs -> m (Maybe BoundedSize) Source # | |
MentionsMeta CompareAs Source # | |
Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> CompareAs -> Bool Source # | |
InstantiateFull CompareAs Source # | |
Defined in Agda.TypeChecking.Reduce | |
Normalise CompareAs Source # | |
Defined in Agda.TypeChecking.Reduce | |
Simplify CompareAs Source # | |
Reduce CompareAs Source # | |
IsMeta CompareAs Source # | |
Instantiate CompareAs Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep CompareAs Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CompareAs = D1 ('MetaData "CompareAs" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) | |
type SubstArg CompareAs Source # | |
Defined in Agda.TypeChecking.Substitute |
data CompareDirection Source #
An extension of Comparison
to >=
.
Instances
Eq CompareDirection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CompareDirection -> CompareDirection -> Bool (/=) :: CompareDirection -> CompareDirection -> Bool | |
Show CompareDirection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompareDirection -> ShowS show :: CompareDirection -> String showList :: [CompareDirection] -> ShowS | |
Pretty CompareDirection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: CompareDirection -> Doc Source # prettyPrec :: Int -> CompareDirection -> Doc Source # prettyList :: [CompareDirection] -> Doc 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) | |
CheckMetaInst MetaId | |
CheckType Type | |
UnBlock MetaId | Meta created for a term blocked by a postponed type checking problem or unsolved
constraints. The |
IsEmpty Range Type | The range is the one of the absurd pattern. |
CheckSizeLtSat Term | Check that the |
FindInstance MetaId (Maybe [Candidate]) | the first argument is the instance argument and the second one is the list of candidates (or Nothing if we haven’t determined the list of candidates yet) |
CheckFunDef Delayed 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 |
|
UsableAtModality Modality Term | is the term usable at the given modality? |
Instances
Show Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Constraint -> ShowS show :: Constraint -> String showList :: [Constraint] -> ShowS | |
Generic Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Constraint :: Type -> Type | |
NFData Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Constraint -> () | |
HasRange Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods getRange :: Constraint -> Range Source # | |
Free Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Subst Constraint Source # | |
Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg Constraint Source # Methods applySubst :: Substitution' (SubstArg Constraint) -> Constraint -> Constraint Source # | |
TermLike Constraint Source # | |
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 # | |
Defined in Agda.TypeChecking.Monad.Base Methods allMetas :: Monoid m => (MetaId -> m) -> Constraint -> m Source # | |
PrettyTCM Constraint Source # | |
Defined in Agda.TypeChecking.Pretty.Constraint Methods prettyTCM :: MonadPretty m => Constraint -> m Doc Source # | |
MentionsMeta Constraint Source # | |
Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> Constraint -> Bool Source # | |
InstantiateFull Constraint Source # | |
Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Constraint -> ReduceM Constraint Source # | |
Normalise Constraint Source # | |
Defined in Agda.TypeChecking.Reduce Methods normalise' :: Constraint -> ReduceM Constraint Source # | |
Simplify Constraint Source # | |
Defined in Agda.TypeChecking.Reduce Methods simplify' :: Constraint -> ReduceM Constraint Source # | |
Reduce Constraint Source # | |
Defined in Agda.TypeChecking.Reduce Methods reduce' :: Constraint -> ReduceM Constraint Source # reduceB' :: Constraint -> ReduceM (Blocked Constraint) Source # | |
Instantiate Constraint Source # | |
Defined in Agda.TypeChecking.Reduce Methods | |
Reify Constraint Source # | |
Defined in Agda.Interaction.BasicOps Associated Types type ReifiesTo Constraint Source # Methods reify :: MonadReify m => Constraint -> m (ReifiesTo Constraint) Source # reifyWhen :: MonadReify m => Bool -> Constraint -> m (ReifiesTo Constraint) Source # | |
type Rep Constraint Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Constraint = D1 ('MetaData "Constraint" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 "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 MetaId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Candidate]))) :+: C1 ('MetaCons "CheckFunDef" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Delayed) :*: 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 Modality) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))))))) | |
type SubstArg Constraint Source # | |
Defined in Agda.TypeChecking.Substitute | |
type ReifiesTo Constraint Source # | |
Defined in Agda.Interaction.BasicOps |
data ProblemConstraint Source #
Constructors
PConstr | |
Fields |
Instances
type Constraints = [ProblemConstraint] Source #
class LensClosure a b | b -> a where Source #
Methods
lensClosure :: Lens' (Closure a) b Source #
Instances
LensClosure Range MetaInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensClosure Range MetaVariable Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
LensClosure a (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base |
Constructors
Closure | |
Fields
|
Instances
Functor Closure Source # | |
Foldable Closure Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods fold :: Monoid m => Closure m -> m foldMap :: Monoid m => (a -> m) -> Closure a -> m foldMap' :: Monoid m => (a -> m) -> Closure a -> m foldr :: (a -> b -> b) -> b -> Closure a -> b foldr' :: (a -> b -> b) -> b -> Closure a -> b foldl :: (b -> a -> b) -> b -> Closure a -> b foldl' :: (b -> a -> b) -> b -> Closure a -> b foldr1 :: (a -> a -> a) -> Closure a -> a foldl1 :: (a -> a -> a) -> Closure a -> a elem :: Eq a => a -> Closure a -> Bool maximum :: Ord a => Closure a -> a minimum :: Ord a => Closure a -> a | |
LensClosure a (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Show a => Show (Closure a) Source # | |
Generic (Closure a) Source # | |
NFData a => NFData (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
KillRange a => KillRange (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods killRange :: KillRangeT (Closure a) Source # | |
HasRange a => HasRange (Closure a) Source # | |
LensIsAbstract (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' IsAbstract (Closure a) Source # | |
LensTCEnv (Closure a) Source # | |
PrettyTCM a => PrettyTCM (Closure a) Source # | |
Defined in Agda.TypeChecking.Pretty | |
MentionsMeta a => MentionsMeta (Closure a) Source # | |
Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> Closure a -> Bool Source # | |
InstantiateFull a => InstantiateFull (Closure a) Source # | |
Defined in Agda.TypeChecking.Reduce | |
Normalise a => Normalise (Closure a) Source # | |
Defined in Agda.TypeChecking.Reduce | |
Simplify a => Simplify (Closure a) Source # | |
Reduce a => Reduce (Closure a) Source # | |
Instantiate a => Instantiate (Closure a) Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep (Closure a) Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep (Closure a) = D1 ('MetaData "Closure" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))))) |
Constructors
Interface | |
Fields
|
Instances
Show Interface Source # | |
Generic Interface Source # | |
NFData Interface Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Pretty Interface Source # | |
EmbPrj Interface Source # | |
InstantiateFull Interface Source # | |
Defined in Agda.TypeChecking.Reduce | |
type Rep Interface Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Interface = D1 ('MetaData "Interface" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "Interface" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "iSourceHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (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 [(ModuleName, Hash)]) :*: S1 ('MetaSel ('Just "iModuleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)))) :*: ((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 "iDisplayForms") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DisplayForms) :*: S1 ('MetaSel ('Just "iUserWarnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName Text)))))) :*: (((S1 ('MetaSel ('Just "iImportWarning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "iBuiltin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BuiltinThings (String, QName)))) :*: (S1 ('MetaSel ('Just "iForeignCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map BackendName [ForeignCode])) :*: (S1 ('MetaSel ('Just "iHighlighting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HighlightingInfo) :*: S1 ('MetaSel ('Just "iDefaultPragmaOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OptionsPragma])))) :*: ((S1 ('MetaSel ('Just "iFilePragmaOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OptionsPragma]) :*: S1 ('MetaSel ('Just "iOptionsUsed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PragmaOptions)) :*: (S1 ('MetaSel ('Just "iPatternSyns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatternSynDefns) :*: (S1 ('MetaSel ('Just "iWarnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TCWarning]) :*: S1 ('MetaSel ('Just "iPartialDefs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)))))))) |
data ForeignCode Source #
Constructors
ForeignCode Range String |
Instances
Show ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ForeignCode -> ShowS show :: ForeignCode -> String showList :: [ForeignCode] -> ShowS | |
Generic ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ForeignCode :: Type -> Type | |
NFData ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ForeignCode -> () | |
EmbPrj ForeignCode Source # | |
Defined in Agda.TypeChecking.Serialise.Instances.Compilers Methods icode :: ForeignCode -> S Int32 Source # icod_ :: ForeignCode -> S Int32 Source # value :: Int32 -> R ForeignCode Source # | |
type Rep ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ForeignCode = D1 ('MetaData "ForeignCode" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 DecodedModules = Map TopLevelModuleName ModuleInfo Source #
type VisitedModules = Map TopLevelModuleName ModuleInfo Source #
data ModuleInfo Source #
Constructors
ModuleInfo | |
Fields
|
Instances
Generic ModuleInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ModuleInfo :: Type -> Type | |
NFData ModuleInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ModuleInfo -> () | |
type Rep ModuleInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "miInterface") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Interface) :*: S1 ('MetaSel ('Just "miWarnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TCWarning])) :*: (S1 ('MetaSel ('Just "miPrimitive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "miMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleCheckMode)))) |
data ModuleCheckMode Source #
Distinguishes between type-checked and scope-checked interfaces
when stored in the map of VisitedModules
.
Constructors
ModuleScopeChecked | |
ModuleTypeChecked |
Instances
class Monad m => MonadStConcreteNames m 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
Methods
runStConcreteNames :: StateT ConcreteNames m a -> m a Source #
useConcreteNames :: m ConcreteNames Source #
modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> m () Source #
Instances
type SourceToModule = Map AbsolutePath TopLevelModuleName Source #
Maps source file names to the corresponding top-level module names.
class FreshName a where Source #
Create a fresh name from a
.
Methods
freshName_ :: MonadFresh NameId m => a -> m Name Source #
Instances
FreshName () Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => () -> m Name Source # | |
FreshName String Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => String -> m Name Source # | |
FreshName Range Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => Range -> m Name Source # | |
FreshName (Range, String) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => (Range, String) -> m Name Source # |
newtype CheckpointId Source #
Constructors
CheckpointId Int |
Instances
class Monad m => MonadFresh i m where Source #
Minimal complete definition
Nothing
Methods
default fresh :: (MonadTrans t, MonadFresh i n, t n ~ m) => m i Source #
Instances
HasFresh i => MonadFresh i TCM Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Monad m => MonadFresh Int (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m Int Source # | |
MonadFresh i m => MonadFresh i (ListT m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Monad m => MonadFresh ProblemId (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m ProblemId Source # | |
Monad m => MonadFresh NameId (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m NameId Source # | |
MonadFresh i m => MonadFresh i (IdentityT m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadFresh i m => MonadFresh i (StateT s m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadFresh i m => MonadFresh i (ReaderT r m) Source # | |
Defined in Agda.TypeChecking.Monad.Base |
class Enum i => HasFresh i where Source #
Minimal complete definition
Instances
HasFresh Int Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
HasFresh InteractionId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
HasFresh ProblemId Source # | |
HasFresh MetaId Source # | |
HasFresh NameId Source # | |
HasFresh MutualId Source # | |
HasFresh CheckpointId Source # | |
Defined in Agda.TypeChecking.Monad.Base |
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 modulesLeaveSection
, leaving the main module.
Constructors
EnterSection !ModuleName !Telescope | |
LeaveSection !ModuleName | |
Decl !Declaration | Never a Section or ScopeDecl |
Pragmas !PragmaOptions |
Instances
Generic TypeCheckAction Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep TypeCheckAction :: Type -> Type Methods from :: TypeCheckAction -> Rep TypeCheckAction x to :: Rep TypeCheckAction x -> TypeCheckAction | |
NFData TypeCheckAction Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: TypeCheckAction -> () | |
type Rep TypeCheckAction Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep TypeCheckAction = D1 ('MetaData "TypeCheckAction" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) ((C1 ('MetaCons "EnterSection" 'PrefixI 'False) (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)))) |
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).
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.
data LoadedFileCache Source #
Constructors
LoadedFileCache | |
Fields |
Instances
Generic LoadedFileCache Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep LoadedFileCache :: Type -> Type Methods from :: LoadedFileCache -> Rep LoadedFileCache x to :: Rep LoadedFileCache x -> LoadedFileCache | |
NFData LoadedFileCache Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: LoadedFileCache -> () | |
type Rep LoadedFileCache Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep LoadedFileCache = D1 ('MetaData "LoadedFileCache" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "LoadedFileCache" 'PrefixI 'True) (S1 ('MetaSel ('Just "lfcCached") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CachedTypeCheckLog) :*: S1 ('MetaSel ('Just "lfcCurrent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CurrentTypeCheckLog))) |
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
|
Instances
Generic PersistentTCState Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep PersistentTCState :: Type -> Type Methods from :: PersistentTCState -> Rep PersistentTCState x to :: Rep PersistentTCState x -> PersistentTCState | |
NFData PersistentTCState Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PersistentTCState -> () | |
LensPersistentVerbosity PersistentTCState Source # | |
Defined in Agda.Interaction.Options.Lenses | |
LensIncludePaths PersistentTCState Source # | |
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 # | |
LensSafeMode PersistentTCState Source # | |
Defined in Agda.Interaction.Options.Lenses Methods getSafeMode :: PersistentTCState -> SafeMode Source # setSafeMode :: SafeMode -> PersistentTCState -> PersistentTCState Source # mapSafeMode :: (SafeMode -> SafeMode) -> PersistentTCState -> PersistentTCState Source # | |
LensCommandLineOptions PersistentTCState Source # | |
Defined in Agda.Interaction.Options.Lenses | |
type Rep PersistentTCState Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep PersistentTCState = D1 ('MetaData "PersistentTCState" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "PersistentTCSt" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stDecodedModules") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DecodedModules) :*: (S1 ('MetaSel ('Just "stPersistentOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CommandLineOptions) :*: S1 ('MetaSel ('Just "stInteractionOutputCallback") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionOutputCallback))) :*: ((S1 ('MetaSel ('Just "stBenchmark") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Benchmark) :*: S1 ('MetaSel ('Just "stAccumStatistics") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics)) :*: (S1 ('MetaSel ('Just "stPersistLoadedFileCache") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe LoadedFileCache)) :*: S1 ('MetaSel ('Just "stPersistBackends") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Backend]))))) |
data MutualBlock Source #
A mutual block of names in the signature.
Constructors
MutualBlock | |
Fields
|
Instances
Eq MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Show MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MutualBlock -> ShowS show :: MutualBlock -> String showList :: [MutualBlock] -> ShowS | |
Generic MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep MutualBlock :: Type -> Type | |
NFData MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MutualBlock -> () | |
Null MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep MutualBlock = D1 ('MetaData "MutualBlock" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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)))) |
data PostScopeState Source #
Constructors
PostScopeState | |
Fields
|
Instances
Generic PostScopeState Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep PostScopeState :: Type -> Type | |
NFData PostScopeState Source # | This instance could be optimised, some things are guaranteed to be forced. |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PostScopeState -> () | |
type Rep PostScopeState Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep PostScopeState = D1 ('MetaData "PostScopeState" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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 "stPostMetaStore") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MetaStore))) :*: ((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 "stPostCurrentModule") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe ModuleName)) :*: S1 ('MetaSel ('Just "stPostInstanceDefs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TempInstanceTable)) :*: (S1 ('MetaSel ('Just "stPostConcreteNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ConcreteNames) :*: S1 ('MetaSel ('Just "stPostUsedNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map RawName [RawName])))))) :*: ((((S1 ('MetaSel ('Just "stPostShadowingNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map Name [RawName])) :*: S1 ('MetaSel ('Just "stPostStatistics") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statistics)) :*: (S1 ('MetaSel ('Just "stPostTCWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [TCWarning]) :*: S1 ('MetaSel ('Just "stPostMutualBlocks") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map MutualId MutualBlock)))) :*: ((S1 ('MetaSel ('Just "stPostLocalBuiltins") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BuiltinThings PrimFun)) :*: S1 ('MetaSel ('Just "stPostFreshMetaId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MetaId)) :*: (S1 ('MetaSel ('Just "stPostFreshMutualId") 'NoSourceUnpackedness 'SourceStrict '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 "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)))))))) |
type ConcreteNames = Map Name [Name] Source #
type DisambiguatedNames = IntMap DisambiguatedName Source #
data DisambiguatedName Source #
Name disambiguation for the sake of highlighting.
Constructors
DisambiguatedName NameKind QName |
Instances
Generic DisambiguatedName Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep DisambiguatedName :: Type -> Type Methods from :: DisambiguatedName -> Rep DisambiguatedName x to :: Rep DisambiguatedName x -> DisambiguatedName | |
NFData DisambiguatedName Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: DisambiguatedName -> () | |
type Rep DisambiguatedName Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep DisambiguatedName = D1 ('MetaData "DisambiguatedName" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" '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))) |
data PreScopeState Source #
Constructors
PreScopeState | |
Fields
|
Instances
Generic PreScopeState Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep PreScopeState :: Type -> Type | |
NFData PreScopeState Source # | This instance could be optimised, some things are guaranteed to be forced. |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: PreScopeState -> () | |
type Rep PreScopeState Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep PreScopeState = D1 ('MetaData "PreScopeState" "Agda.TypeChecking.Monad.Base" "Agda-2.6.2.2-CCUZrXznmr9DtCyaOqbqEd" 'False) (C1 ('MetaCons "PreScopeState" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "stPreTokens") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HighlightingInfo) :*: S1 ('MetaSel ('Just "stPreImports") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Signature)) :*: (S1 ('MetaSel ('Just "stPreImportedModules") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set ModuleName)) :*: (S1 ('MetaSel ('Just "stPreModuleToSource") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ModuleToSource) :*: S1 ('MetaSel ('Just "stPreVisitedModules") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 VisitedModules)))) :*: ((S1 ('MetaSel ('Just "stPreScope") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScopeInfo) :*: S1 ('MetaSel ('Just "stPrePatternSyns") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PatternSynDefns)) :*: (S1 ('MetaSel ('Just "stPrePatternSynImports") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PatternSynDefns) :*: (S1 ('MetaSel ('Just "stPreGeneralizedVars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Set QName))) :*: S1 ('MetaSel ('Just "stPrePragmaOptions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PragmaOptions))))) :*: (((S1 ('MetaSel ('Just "stPreImportedBuiltins") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BuiltinThings PrimFun)) :*: S1 ('MetaSel ('Just "stPreImportedDisplayForms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DisplayForms)) :*: (S1 ('MetaSel ('Just "stPreImportedInstanceDefs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InstanceTable) :*: (S1 ('MetaSel ('Just "stPreForeignCode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map BackendName [ForeignCode])) :*: S1 ('MetaSel ('Just "stPreFreshInteractionId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InteractionId)))) :*: ((S1 ('MetaSel ('Just "stPreImportedUserWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map QName Text)) :*: (S1 ('MetaSel ('Just "stPreLocalUserWarnings") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map QName Text)) :*: S1 ('MetaSel ('Just "stPreWarningOnImport") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "stPreImportedPartialDefs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set QName)) :*: (S1 ('MetaSel ('Just "stPreProjectConfigs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map FilePath ProjectConfig)) :*: S1 ('MetaSel ('Just "stPreAgdaLibFiles") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map FilePath AgdaLibFile)))))))) |
class Monad m => ReadTCState m where Source #
Minimal complete definition
Nothing
Methods
getTCState :: m TCState Source #
default getTCState :: (MonadTrans t, ReadTCState n, t n ~ m) => m TCState Source #
locallyTCState :: Lens' a TCState -> (a -> a) -> m b -> m b Source #
default locallyTCState :: (MonadTransControl t, ReadTCState n, t n ~ m) => Lens' a TCState -> (a -> a) -> m b -> m b Source #
withTCState :: (TCState -> TCState) -> m a -> m a Source #
Instances
initPersistentState :: PersistentTCState Source #
Empty persistent state.
initPreScopeState :: PreScopeState Source #
Empty state of type checker.
stImportedModules :: Lens' (Set ModuleName) TCState Source #
stForeignCode :: Lens' (Map BackendName [ForeignCode]) TCState Source #
getUserWarnings :: ReadTCState m => m (Map QName Text) Source #
stWarningOnImport :: Lens' (Maybe Text) TCState Source #
getPartialDefs :: ReadTCState m => m (Set QName) Source #
stLoadedFileCache :: Lens' (Maybe LoadedFileCache) TCState Source #
stProjectConfigs :: Lens' (Map FilePath ProjectConfig) TCState Source #
stAgdaLibFiles :: Lens' (Map FilePath AgdaLibFile) TCState Source #
stModuleCheckpoints :: Lens' (Map ModuleName CheckpointId) TCState Source #
stCurrentModule :: Lens' (Maybe ModuleName) TCState Source #
stMutualBlocks :: Lens' (Map MutualId MutualBlock) TCState Source #
stFreshInt :: Lens' Int TCState Source #
stAreWeCaching :: Lens' Bool TCState Source #
stPostponeInstanceSearch :: Lens' Bool TCState Source #
stConsideringInstance :: Lens' Bool TCState Source #
stInstantiateBlocking :: Lens' Bool TCState Source #
freshNoName :: MonadFresh NameId m => Range -> m Name Source #
freshNoName_ :: MonadFresh NameId m => m Name Source #
freshRecordName :: MonadFresh NameId m => m Name Source #
sourceToModule :: TCM SourceToModule Source #
Creates a SourceToModule
map based on stModuleToSource
.
O(n log n).
For a single reverse lookup in stModuleToSource
,
rather use lookupModuleFromSourse
.
lookupModuleFromSource :: ReadTCState m => AbsolutePath -> m (Maybe TopLevelModuleName) Source #
Lookup an AbsolutePath
in sourceToModule
.
O(n).
iFullHash :: Interface -> Hash Source #
Combines the source hash and the (full) hashes of the imported modules.
intSignature :: Lens' Signature Interface Source #
A lens for the iSignature
field of the Interface
type.
buildClosure :: (MonadTCEnv m, ReadTCState m) => a -> m (Closure a) Source #
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
getMetaInfo :: MetaVariable -> Closure Range Source #
getMetaScope :: MetaVariable -> ScopeInfo Source #
getMetaEnv :: MetaVariable -> TCEnv Source #
getMetaSig :: MetaVariable -> Signature Source #
defaultDisplayForm :: QName -> [LocalDisplayForm] Source #
By default, we have no display form.
defaultDefn :: ArgInfo -> QName -> Type -> Language -> Defn -> Definition Source #
Create a definition with sensible defaults.
modifySystem :: (System -> System) -> ExtLamInfo -> ExtLamInfo Source #
projDropPars :: Projection -> ProjOrigin -> Term Source #
Building the projection function (which drops the parameters).
projArgInfo :: Projection -> ArgInfo Source #
The info of the principal (record) argument.
setEtaEquality :: EtaEquality -> HasEta -> EtaEquality Source #
Make sure we do not overwrite a user specification.
defaultAxiom :: Defn Source #
recRecursive :: Defn -> Bool Source #
Is the record type recursive?
recEtaEquality :: Defn -> HasEta Source #
emptyFunction :: Defn Source #
A template for creating Function
definitions, with sensible defaults.
isEmptyFunction :: Defn -> Bool Source #
Checking whether we are dealing with a function yet to be defined.
isCopatternLHS :: [Clause] -> Bool Source #
defIsRecord :: Defn -> Bool Source #
defIsDataOrRecord :: Defn -> Bool Source #
defConstructors :: Defn -> [QName] Source #
redBind :: ReduceM (Reduced a a') -> (a -> b) -> (a' -> ReduceM (Reduced b b')) -> ReduceM (Reduced b b') Source #
Conceptually: redBind m f k = either (return . Left . f) k =<< m
notReduced :: a -> MaybeReduced a Source #
allReductions :: AllowedReductions Source #
Not quite all reductions (skip non-terminating reductions)
locallyReduceDefs :: MonadTCEnv m => ReduceDefs -> m a -> m a Source #
locallyReduceAllDefs :: MonadTCEnv m => m a -> m a Source #
shouldReduceDef :: MonadTCEnv m => QName -> m Bool Source #
locallyReconstructed :: MonadTCEnv m => m a -> m a Source #
isReconstructed :: MonadTCEnv m => m Bool Source #
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 #
defCompilerPragmas :: BackendName -> Definition -> [CompilerPragma] Source #
defDelayed :: Definition -> Delayed Source #
Are the clauses of this definition delayed?
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?
defAbstract :: Definition -> IsAbstract Source #
defForced :: Definition -> [IsForced] Source #
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
.
unquoteNormalise :: Lens' Bool UnquoteFlags Source #
eUnquoteNormalise :: Lens' Bool TCEnv Source #
eCurrentPath :: Lens' (Maybe AbsolutePath) TCEnv Source #
eAnonymousModules :: Lens' [(ModuleName, Nat)] TCEnv Source #
eTerminationCheck :: Lens' (TerminationCheck ()) TCEnv Source #
eSolvingConstraints :: Lens' Bool TCEnv Source #
eCheckingWhere :: Lens' Bool TCEnv Source #
eWorkingOnTypes :: Lens' Bool TCEnv Source #
eAssignMetas :: Lens' Bool TCEnv Source #
eSplitOnStrict :: Lens' Bool TCEnv Source #
eDisplayFormsEnabled :: Lens' Bool TCEnv Source #
eReconstructed :: Lens' Bool TCEnv Source #
eInjectivityDepth :: Lens' Int TCEnv Source #
eCompareBlocked :: Lens' Bool TCEnv Source #
ePrintDomainFreePi :: Lens' Bool TCEnv Source #
ePrintMetasBare :: Lens' Bool TCEnv Source #
eInsideDotPattern :: Lens' Bool TCEnv Source #
eInstanceDepth :: Lens' Int TCEnv Source #
eIsDebugPrinting :: Lens' Bool TCEnv Source #
eCallByNeed :: Lens' Bool TCEnv Source #
eCheckpoints :: Lens' (Map CheckpointId Substitution) TCEnv Source #
eGeneralizedVars :: Lens' (Map QName GeneralizedValue) TCEnv Source #
eActiveBackendName :: Lens' (Maybe BackendName) TCEnv Source #
eConflComputingOverlap :: Lens' Bool TCEnv Source #
eCurrentlyElaborating :: Lens' Bool TCEnv Source #
aDefToMode :: IsAbstract -> AbstractMode Source #
aModeToDef :: AbstractMode -> Maybe IsAbstract Source #
isDontExpandLast :: ExpandHidden -> Bool Source #
warningName :: Warning -> WarningName Source #
tcWarningOrigin :: TCWarning -> SrcFile Source #
sizedTypesOption :: HasOptions m => m Bool Source #
guardednessOption :: HasOptions m => m Bool Source #
withoutKOption :: HasOptions m => m Bool Source #
enableCaching :: HasOptions m => m Bool Source #
fmapReduce :: (a -> b) -> ReduceM a -> ReduceM b Source #
runReduceM :: ReduceM a -> TCM a Source #
runReduceF :: (a -> ReduceM b) -> TCM (a -> b) Source #
asksTC :: MonadTCEnv m => (TCEnv -> a) -> m a Source #
locallyTC :: MonadTCEnv m => Lens' a TCEnv -> (a -> a) -> m b -> m b Source #
Modify the lens-indicated part of the TCEnv
in a subcomputation.
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' a TCState -> a -> m () infix 4 Source #
Overwrite the part of the TCState
focused on by the lens.
modifyTCLens :: MonadTCState m => Lens' a TCState -> (a -> a) -> m () Source #
Modify the part of the TCState
focused on by the lens.
modifyTCLensM :: MonadTCState m => Lens' a TCState -> (a -> m a) -> m () Source #
Modify a part of the state monadically.
stateTCLens :: MonadTCState m => Lens' a TCState -> (a -> (r, a)) -> m r Source #
Modify the part of the TCState
focused on by the lens, and return some result.
stateTCLensM :: MonadTCState m => Lens' a TCState -> (a -> m (r, a)) -> m r Source #
Modify a part of the state monadically, and return some result.
runBlocked :: Monad m => BlockT m a -> m (Either Blocker a) Source #
returnTCMT :: Applicative m => a -> TCMT m a 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.
internalError :: (HasCallStack, MonadTCM tcm) => String -> tcm 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' :: MonadTCError m => CallStack -> TypeError -> m a Source #
typeError :: (HasCallStack, MonadTCError m) => TypeError -> m a Source #
typeError'_ :: (MonadTCEnv m, ReadTCState m) => CallStack -> TypeError -> m TCErr Source #
typeError_ :: (HasCallStack, MonadTCEnv m, ReadTCState m) => TypeError -> m TCErr 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 a -> 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
getIncludeDirs :: HasOptions m => m [AbsolutePath] Source #
Gets the include directories.
Precondition: optAbsoluteIncludePaths
must be nonempty (i.e.
setCommandLineOptions
must have run).
class (MonadTCEnv m, ReadTCState m) => MonadInteractionPoints m where Source #
Minimal complete definition
Nothing
Methods
freshInteractionId :: m InteractionId Source #
default freshInteractionId :: (MonadTrans t, MonadInteractionPoints n, t n ~ m) => m InteractionId Source #
modifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> m () Source #
default modifyInteractionPoints :: (MonadTrans t, MonadInteractionPoints n, t n ~ m) => (InteractionPoints -> InteractionPoints) -> m () Source #
Instances
addImport :: ModuleName -> TCM () Source #
addImportCycleCheck :: TopLevelModuleName -> TCM a -> TCM a Source #
getImports :: TCM (Set ModuleName) Source #
isImported :: ModuleName -> TCM Bool Source #
visitModule :: ModuleInfo -> TCM () Source #
setVisitedModules :: VisitedModules -> TCM () Source #
getVisitedModules :: ReadTCState m => m VisitedModules Source #
getPrettyVisitedModules :: ReadTCState m => m Doc Source #
getVisitedModule :: ReadTCState m => TopLevelModuleName -> m (Maybe ModuleInfo) Source #
setDecodedModules :: DecodedModules -> TCM () Source #
getDecodedModule :: TopLevelModuleName -> TCM (Maybe ModuleInfo) Source #
storeDecodedModule :: ModuleInfo -> TCM () Source #
dropDecodedModule :: TopLevelModuleName -> TCM () Source #
withImportPath :: [TopLevelModuleName] -> TCM a -> TCM a Source #
checkForImportCycle :: TCM () Source #
Assumes that the first module in the import path is the module we are worried about.
currentModule :: MonadTCEnv m => m ModuleName Source #
Get the name of the current module, if any.
withCurrentModule :: MonadTCEnv m => ModuleName -> m a -> m a Source #
Set the name of the current module.
getCurrentPath :: MonadTCEnv m => m AbsolutePath Source #
Get the path of the currently checked file
getAnonymousVariables :: MonadTCEnv m => ModuleName -> m Nat Source #
Get the number of variables bound by anonymous modules.
withAnonymousModule :: ModuleName -> Nat -> TCM a -> TCM a Source #
Add variables bound by an anonymous module.
withEnv :: MonadTCEnv m => TCEnv -> m a -> m a Source #
Set the current environment to the given
withHighlightingLevel :: HighlightingLevel -> TCM a -> TCM a Source #
Set highlighting level
doExpandLast :: TCM a -> TCM a Source #
Restore setting for ExpandLast
to default.
dontExpandLast :: TCM a -> TCM a Source #
reallyDontExpandLast :: TCM a -> TCM a Source #
performedSimplification :: MonadTCEnv m => m a -> m a Source #
If the reduced did a proper match (constructor or literal pattern), then record this as simplification step.
performedSimplification' :: MonadTCEnv m => Simplification -> m a -> m a Source #
getSimplification :: MonadTCEnv m => m Simplification Source #
updateAllowedReductions :: (AllowedReductions -> AllowedReductions) -> TCEnv -> TCEnv Source #
Lens for AllowedReductions
.
modifyAllowedReductions :: MonadTCEnv m => (AllowedReductions -> AllowedReductions) -> m a -> m a Source #
putAllowedReductions :: MonadTCEnv m => AllowedReductions -> m a -> m a Source #
onlyReduceProjections :: MonadTCEnv m => m a -> m a Source #
Reduce Def f vs
only if f
is a projection.
allowAllReductions :: MonadTCEnv m => m a -> m a Source #
Allow all reductions except for non-terminating functions (default).
allowNonTerminatingReductions :: MonadTCEnv m => m a -> m a Source #
Allow all reductions including non-terminating functions.
onlyReduceTypes :: MonadTCEnv m => m a -> m a Source #
Allow all reductions when reducing types. Otherwise only allow inlined functions to be unfolded.
typeLevelReductions :: MonadTCEnv m => m a -> m a Source #
Update allowed reductions when working on types
insideDotPattern :: TCM a -> TCM a Source #
isInsideDotPattern :: TCM Bool Source #
callByName :: TCM a -> TCM a Source #
Don't use call-by-need evaluation for the given computation.
class MonadTCEnv m => MonadAddContext m where Source #
Minimal complete definition
Nothing
Methods
addCtx :: Name -> Dom Type -> m a -> m a Source #
addCtx x arg cont
add a variable to the context.
Chooses an unused Name
.
Warning: Does not update module parameter substitution!
default addCtx :: (MonadAddContext n, MonadTransControl t, t n ~ m) => Name -> Dom Type -> m a -> m a Source #
addLetBinding' :: Name -> Term -> Dom Type -> m a -> m a Source #
Add a let bound variable to the context
default addLetBinding' :: (MonadAddContext n, MonadTransControl t, t n ~ m) => Name -> Term -> Dom Type -> m a -> m a Source #
updateContext :: Substitution -> (Context -> Context) -> m a -> m a Source #
Update the context. Requires a substitution that transports things living in the old context to the new.
default updateContext :: (MonadAddContext n, MonadTransControl t, t n ~ m) => Substitution -> (Context -> Context) -> m a -> m a Source #
withFreshName :: Range -> ArgName -> (Name -> m a) -> m a Source #
default withFreshName :: (MonadAddContext n, MonadTransControl t, t n ~ m) => Range -> ArgName -> (Name -> m a) -> m a Source #
Instances
checkpointSubstitution :: MonadTCEnv tcm => CheckpointId -> tcm Substitution Source #
Get the substitution from the context at a given checkpoint to the current context.
class (Functor m, Applicative m, MonadFail m) => HasBuiltins m where Source #
Minimal complete definition
Nothing
Methods
getBuiltinThing :: String -> m (Maybe (Builtin PrimFun)) Source #
default getBuiltinThing :: (MonadTrans t, HasBuiltins n, t n ~ m) => String -> m (Maybe (Builtin PrimFun)) Source #
Instances
Debug print some lines if the verbosity level for the given
VerboseKey
is at least VerboseLevel
.
Note: In the presence of OverloadedStrings
, just
@
traceS key level "Literate string"
gives an
Ambiguous type variable error in
GHC@.
Use the legacy functions traceSLn
and traceSDoc
instead then.
Methods
traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m c -> m c Source #
Instances
TraceS String Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m c -> m c Source # | |
TraceS Doc Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> Doc -> m c -> m c Source # | |
TraceS [String] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> [String] -> m c -> m c Source # | |
TraceS [Doc] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> [Doc] -> m c -> m c Source # | |
TraceS [TCM Doc] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> [TCM Doc] -> m c -> m c Source # | |
TraceS (TCM Doc) Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m c -> m c Source # |
class ReportS a where Source #
Debug print some lines if the verbosity level for the given
VerboseKey
is at least VerboseLevel
.
Note: In the presence of OverloadedStrings
, just
@
reportS key level "Literate string"
gives an
Ambiguous type variable error in
GHC@.
Use the legacy functions reportSLn
and reportSDoc
instead then.
Methods
reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m () Source #
Instances
ReportS String Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m () Source # | |
ReportS Doc Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> Doc -> m () Source # | |
ReportS [String] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> [String] -> m () Source # | |
ReportS [Doc] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> [Doc] -> m () Source # | |
ReportS [TCM Doc] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> [TCM Doc] -> m () Source # | |
ReportS (TCM Doc) Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m () Source # |
defaultGetVerbosity :: HasOptions m => m Verbosity Source #
defaultIsDebugPrinting :: MonadTCEnv m => m Bool Source #
defaultNowDebugPrinting :: MonadTCEnv m => m a -> m a Source #
displayDebugMessage :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m () Source #
Print a debug message if switched on.
catchAndPrintImpossible :: (CatchImpossible m, Monad m) => VerboseKey -> VerboseLevel -> m String -> m String Source #
During printing, catch internal errors of kind Impossible
and print them.
reportSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m () Source #
Conditionally println debug string.
__IMPOSSIBLE_VERBOSE__ :: (HasCallStack, MonadDebug m) => String -> m a Source #
reportSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m () Source #
Conditionally render debug Doc
and print it.
reportResult :: MonadDebug m => VerboseKey -> VerboseLevel -> (a -> TCM Doc) -> m a -> m a Source #
Debug print the result of a computation.
unlessDebugPrinting :: MonadDebug m => m () -> m () Source #
traceSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m a -> m a Source #
traceSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m a -> m a Source #
Conditionally render debug Doc
, print it, and then continue.
openVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m () Source #
closeVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> m () Source #
closeVerboseBracketException :: MonadDebug m => VerboseKey -> VerboseLevel -> m () Source #
parseVerboseKey :: VerboseKey -> [String] Source #
hasVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool Source #
Check whether a certain verbosity level is activated.
Precondition: The level must be non-negative.
hasExactVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool Source #
Check whether a certain verbosity level is activated (exact match).
whenExactVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m () -> m () Source #
Run a computation if a certain verbosity level is activated (exact match).
__CRASH_WHEN__ :: (HasCallStack, MonadTCM m, MonadDebug m) => VerboseKey -> VerboseLevel -> m () Source #
verboseS :: MonadDebug m => VerboseKey -> VerboseLevel -> m () -> m () Source #
Run a computation if a certain verbosity level is activated.
Precondition: The level must be non-negative.
applyWhenVerboseS :: MonadDebug m => VerboseKey -> VerboseLevel -> (m a -> m a) -> m a -> m a Source #
Apply a function if a certain verbosity level is activated.
Precondition: The level must be non-negative.
verbosity :: VerboseKey -> Lens' VerboseLevel TCState Source #
Verbosity lens.
class ReadTCState m => MonadStatistics m where Source #
Minimal complete definition
Nothing
Methods
modifyCounter :: String -> (Integer -> Integer) -> m () Source #
default modifyCounter :: (MonadStatistics n, MonadTrans t, t n ~ m) => String -> (Integer -> Integer) -> m () Source #
Instances
getStatistics :: ReadTCState m => m Statistics Source #
Get the statistics.
modifyStatistics :: (Statistics -> Statistics) -> TCM () Source #
Modify the statistics via given function.
tick :: MonadStatistics m => String -> m () Source #
Increase specified counter by 1
.
tickN :: MonadStatistics m => String -> Integer -> m () Source #
Increase specified counter by n
.
tickMax :: MonadStatistics m => String -> Integer -> m () Source #
Set the specified counter to the maximum of its current value and n
.
printStatistics :: (MonadDebug m, MonadTCEnv m, HasOptions m) => Int -> Maybe TopLevelModuleName -> Statistics -> m () Source #
Print the given statistics if verbosity "profile.ticks" is given.
class (Functor m, Applicative m, MonadFail m, HasOptions m, MonadDebug m, MonadTCEnv m) => HasConstInfo m where Source #
Minimal complete definition
Nothing
Methods
getConstInfo :: QName -> m Definition Source #
Lookup the definition of a name. The result is a closed thing, all free variables have been abstracted over.
getConstInfo' :: QName -> m (Either SigError Definition) Source #
Version that reports exceptions:
default getConstInfo' :: (HasConstInfo n, MonadTrans t, m ~ t n) => QName -> m (Either SigError Definition) Source #
getRewriteRulesFor :: QName -> m RewriteRules Source #
Lookup the rewrite rules with the given head symbol.
default getRewriteRulesFor :: (HasConstInfo n, MonadTrans t, m ~ t n) => QName -> m RewriteRules Source #
Instances
Signature lookup errors.
Constructors
SigUnknown String | The name is not in the signature; default error message. |
SigAbstract | The name is not available, since it is abstract. |
lookupSection :: (Functor m, ReadTCState m) => ModuleName -> m Telescope Source #
Lookup a section telescope.
If it doesn't exist, like in hierarchical top-level modules, the section telescope is empty.
inFreshModuleIfFreeParams :: TCM a -> TCM a Source #
Unless all variables in the context are module parameters, create a fresh module to capture the non-module parameters. Used when unquoting to make sure generated definitions work properly.
class (HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => PureTCM m Source #
Instances
cachingStarts :: (MonadDebug m, MonadTCState m, ReadTCState m) => m () Source #
To be called before any write or restore calls.
areWeCaching :: ReadTCState m => m Bool Source #
writeToCurrentLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => TypeCheckAction -> m () Source #
Writes a TypeCheckAction
to the current log, using the current
PostScopeState
restorePostScopeState :: (MonadDebug m, MonadTCState m) => PostScopeState -> m () Source #
localCache :: (MonadTCState m, ReadTCState m) => m a -> m a Source #
Runs the action and restores the current cache at the end of it.
withoutCache :: (MonadTCState m, ReadTCState m) => m a -> m a Source #
Runs the action without cache and restores the current cache at the end of it.
readFromCachedLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => m (Maybe (TypeCheckAction, PostScopeState)) Source #
Reads the next entry in the cached type check log, if present.
cleanCachedLog :: (MonadDebug m, MonadTCState m) => m () Source #
Empties the "to read" CachedState. To be used when it gets invalid.
activateLoadedFileCache :: (HasOptions m, MonadDebug m, MonadTCState m) => m () Source #
Makes sure that the stLoadedFileCache
is Just
, with a clean
current log. Crashes is stLoadedFileCache
is already active with a
dirty log. Should be called when we start typechecking the current
file.
cacheCurrentLog :: (MonadDebug m, MonadTCState m) => m () Source #
Caches the current type check log. Discardes the old cache. Does nothing if caching is inactive.
data SpeculateResult Source #
Constructors
SpeculateAbort | |
SpeculateCommit |
resetState :: TCM () Source #
Resets the non-persistent part of the type checking state.
resetAllState :: TCM () Source #
Resets all of the type checking state.
Keep only Benchmark
and backend information.
localTCState :: TCM a -> TCM a Source #
Restore TCState
after performing subcomputation.
In contrast to localState
, the Benchmark
info from the subcomputation is saved.
localTCStateSaving :: TCM a -> TCM (a, TCState) Source #
Same as localTCState
but also returns the state in which we were just
before reverting it.
localTCStateSavingWarnings :: TCM a -> TCM a Source #
Same as localTCState
but keep all warnings.
speculateTCState :: TCM (a, SpeculateResult) -> TCM a Source #
Allow rolling back the state changes of a TCM computation.
speculateTCState_ :: TCM SpeculateResult -> TCM () Source #
freshTCM :: TCM a -> TCM (Either TCErr a) Source #
A fresh TCM instance.
The computation is run in a fresh state, with the exception that the persistent state is preserved. If the computation changes the state, then these changes are ignored, except for changes to the persistent state. (Changes to the persistent state are also ignored if errors other than type errors or IO exceptions are encountered.)
updatePersistentState :: (PersistentTCState -> PersistentTCState) -> TCState -> TCState Source #
modifyPersistentState :: (PersistentTCState -> PersistentTCState) -> TCM () Source #
getScope :: ReadTCState m => m ScopeInfo Source #
Get the current scope.
modifyScope_ :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m () Source #
Modify the current scope without updating the inverse maps.
modifyScope :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m () Source #
Modify the current scope.
locallyScope :: ReadTCState m => Lens' a ScopeInfo -> (a -> a) -> m b -> m b Source #
Run a computation in a modified scope.
withScope :: ReadTCState m => ScopeInfo -> m a -> m (a, ScopeInfo) Source #
Run a computation in a local scope.
withScope_ :: ReadTCState m => ScopeInfo -> m a -> m a Source #
Same as withScope
, but discard the scope from the computation.
localScope :: TCM a -> TCM a Source #
Discard any changes to the scope by a computation.
notInScopeError :: QName -> TCM a Source #
Scope error.
notInScopeWarning :: QName -> TCM () Source #
printScope :: String -> Int -> String -> TCM () Source #
Debug print the scope.
modifySignature :: MonadTCState m => (Signature -> Signature) -> m () Source #
modifyImportedSignature :: MonadTCState m => (Signature -> Signature) -> m () Source #
getSignature :: ReadTCState m => m Signature Source #
modifyGlobalDefinition :: MonadTCState m => QName -> (Definition -> Definition) -> m () Source #
Update a possibly imported definition. Warning: changes made to imported definitions (during type checking) will not persist outside the current module. This function is currently used to update the compiled representation of a function during compilation.
setSignature :: MonadTCState m => Signature -> m () Source #
withSignature :: (ReadTCState m, MonadTCState m) => Signature -> m a -> m a Source #
Run some computation in a different signature, restore original signature.
addRewriteRulesFor :: QName -> RewriteRules -> [QName] -> Signature -> Signature Source #
lookupDefinition :: QName -> Signature -> Maybe Definition Source #
updateDefinitions :: (Definitions -> Definitions) -> Signature -> Signature Source #
updateDefinition :: QName -> (Definition -> Definition) -> Signature -> Signature Source #
updateTheDef :: (Defn -> Defn) -> Definition -> Definition Source #
updateDefType :: (Type -> Type) -> Definition -> Definition Source #
updateDefArgOccurrences :: ([Occurrence] -> [Occurrence]) -> Definition -> Definition Source #
updateDefPolarity :: ([Polarity] -> [Polarity]) -> Definition -> Definition Source #
updateDefCompiledRep :: (CompiledRepresentation -> CompiledRepresentation) -> Definition -> Definition Source #
addCompilerPragma :: BackendName -> CompilerPragma -> Definition -> Definition Source #
updateCompiledClauses :: (Maybe CompiledClauses -> Maybe CompiledClauses) -> Defn -> Defn Source #
updateDefCopatternLHS :: (Bool -> Bool) -> Definition -> Definition Source #
updateDefBlocked :: (Blocked_ -> Blocked_) -> Definition -> Definition Source #
setTopLevelModule :: QName -> TCM () Source #
Set the top-level module. This affects the global module id of freshly generated names.
withTopLevelModule :: QName -> TCM a -> TCM a Source #
Use a different top-level module for a computation. Used when generating names for imported modules.
currentModuleNameHash :: ReadTCState m => m ModuleNameHash Source #
addForeignCode :: BackendName -> String -> TCM () Source #
appInteractionOutputCallback :: Response -> TCM () Source #
getPatternSyns :: ReadTCState m => m PatternSynDefns Source #
setPatternSyns :: PatternSynDefns -> TCM () Source #
modifyPatternSyns :: (PatternSynDefns -> PatternSynDefns) -> TCM () Source #
Lens for stPatternSyns
.
getPatternSynImports :: ReadTCState m => m PatternSynDefns Source #
getAllPatternSyns :: ReadTCState m => m PatternSynDefns Source #
Get both local and imported pattern synonyms
addImportedInstances :: Signature -> TCM () Source #
Look through the signature and reconstruct the instance table.
updateInstanceDefs :: (TempInstanceTable -> TempInstanceTable) -> TCState -> TCState Source #
Lens for stInstanceDefs
.
modifyInstanceDefs :: (TempInstanceTable -> TempInstanceTable) -> TCM () Source #
getAnonInstanceDefs :: TCM (Set QName) Source #
clearAnonInstanceDefs :: TCM () Source #
Remove all instances whose type is still unresolved.
addUnknownInstance :: QName -> TCM () Source #
Add an instance whose type is still unresolved.
Add instance to some `class'
.
class (MonadTCEnv m, ReadTCState m) => MonadTrace m where Source #
Minimal complete definition
Methods
traceCall :: Call -> m a -> m a Source #
Record a function call in the trace.
traceCallM :: m Call -> m a -> m a Source #
traceCallCPS :: Call -> ((a -> m b) -> m b) -> (a -> m b) -> m b Source #
Reset envCall
to previous value in the continuation.
Caveat: if the last traceCall
did not set an interestingCall
,
for example, only set the Range
with SetRange
,
we will revert to the last interesting call.
traceClosureCall :: Closure Call -> m a -> m a Source #
printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> m () Source #
Lispify and print the given highlighting information.
default printHighlightingInfo :: (MonadTrans t, MonadTrace n, t n ~ m) => RemoveTokenBasedHighlighting -> HighlightingInfo -> m () Source #
Instances
MonadTrace TCM Source # | |
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 # | |
MonadTrace m => MonadTrace (ReaderT r m) Source # | |
Defined in Agda.TypeChecking.Monad.Trace Methods traceCall :: Call -> ReaderT r m a -> ReaderT r m a Source # traceCallM :: ReaderT r m Call -> ReaderT r m a -> ReaderT r m a Source # traceCallCPS :: Call -> ((a -> ReaderT r m b) -> ReaderT r m b) -> (a -> ReaderT r m b) -> ReaderT r m b Source # traceClosureCall :: Closure Call -> ReaderT r m a -> ReaderT r m a Source # printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> ReaderT r m () Source # | |
MonadTrace m => MonadTrace (StateT s m) Source # | |
Defined in Agda.TypeChecking.Monad.Trace Methods traceCall :: Call -> StateT s m a -> StateT s m a Source # traceCallM :: StateT s m Call -> StateT s m a -> StateT s m a Source # traceCallCPS :: Call -> ((a -> StateT s m b) -> StateT s m b) -> (a -> StateT s m b) -> StateT s m b Source # traceClosureCall :: Closure Call -> StateT s m a -> StateT s m a Source # printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> StateT s m () Source # | |
MonadTrace m => MonadTrace (ExceptT e m) Source # | |
Defined in Agda.TypeChecking.Monad.Trace Methods traceCall :: Call -> ExceptT e m a -> ExceptT e m a Source # traceCallM :: ExceptT e m Call -> ExceptT e m a -> ExceptT e m a Source # traceCallCPS :: Call -> ((a -> ExceptT e m b) -> ExceptT e m b) -> (a -> ExceptT e m b) -> ExceptT e m b Source # traceClosureCall :: Closure Call -> ExceptT e m a -> ExceptT e m a Source # printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> ExceptT e m () Source # | |
MonadTrace m => MonadTrace (IdentityT m) Source # | |
Defined in Agda.TypeChecking.Monad.Trace Methods traceCall :: Call -> IdentityT m a -> IdentityT m a Source # traceCallM :: IdentityT m Call -> IdentityT m a -> IdentityT m a Source # traceCallCPS :: Call -> ((a -> IdentityT m b) -> IdentityT m b) -> (a -> IdentityT m b) -> IdentityT m b Source # traceClosureCall :: Closure Call -> IdentityT m a -> IdentityT m a Source # printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> IdentityT m () Source # | |
(MonadTrace m, Monoid w) => MonadTrace (WriterT w m) Source # | |
Defined in Agda.TypeChecking.Monad.Trace Methods traceCall :: Call -> WriterT w m a -> WriterT w m a Source # traceCallM :: WriterT w m Call -> WriterT w m a -> WriterT w m a Source # traceCallCPS :: Call -> ((a -> WriterT w m b) -> WriterT w m b) -> (a -> WriterT w m b) -> WriterT w m b Source # traceClosureCall :: Closure Call -> WriterT w m a -> WriterT w m a Source # printHighlightingInfo :: RemoveTokenBasedHighlighting -> HighlightingInfo -> WriterT w m () Source # |
interestingCall :: Call -> Bool Source #
getCurrentRange :: MonadTCEnv m => m Range Source #
setCurrentRange :: (MonadTrace m, HasRange x) => x -> m a -> m a Source #
Sets the current range (for error messages etc.) to the range
of the given object, if it has a range (i.e., its range is not noRange
).
highlightAsTypeChecked Source #
Arguments
:: MonadTrace m | |
=> Range | rPre |
-> Range | r |
-> m a | |
-> m a |
highlightAsTypeChecked rPre r m
runs m
and returns its
result. Additionally, some code may be highlighted:
- If
r
is non-empty and not a sub-range ofrPre
(aftercontinuousPerLine
has been applied to both):r
is highlighted as being type-checked whilem
is running (this highlighting is removed ifm
completes successfully). - Otherwise: Highlighting is removed for
rPre - r
beforem
runs, and ifm
completes successfully, thenrPre - r
is highlighted as being type-checked.
noMutualBlock :: TCM a -> TCM a Source #
inMutualBlock :: (MutualId -> TCM a) -> TCM a Source #
Pass the current mutual block id or create a new mutual block if we are not already inside on.
setMutualBlockInfo :: MutualId -> MutualInfo -> TCM () Source #
Set the mutual block info for a block, possibly overwriting the existing one.
insertMutualBlockInfo :: MutualId -> MutualInfo -> TCM () Source #
Set the mutual block info for a block if non-existing.
currentOrFreshMutualBlock :: TCM MutualId Source #
Get the current mutual block, if any, otherwise a fresh mutual block is returned.
enterClosure :: (MonadTCEnv m, ReadTCState m, LensClosure a c) => c -> (a -> m b) -> m b Source #
withClosure :: (MonadTCEnv m, ReadTCState m) => Closure a -> (a -> m b) -> m (Closure b) Source #
mapClosure :: (MonadTCEnv m, ReadTCState m) => (a -> m b) -> Closure a -> m (Closure b) Source #
class (MonadTCEnv m, ReadTCState m, MonadError TCErr m, MonadBlock m, HasOptions m, MonadDebug m) => MonadConstraint m where Source #
Monad service class containing methods for adding and solving constraints
Methods
addConstraint :: Blocker -> Constraint -> m () Source #
Unconditionally add the constraint.
addAwakeConstraint :: Blocker -> Constraint -> m () Source #
Add constraint as awake constraint.
solveConstraint :: Constraint -> m () Source #
solveSomeAwakeConstraints :: (ProblemConstraint -> Bool) -> Bool -> m () Source #
Solve awake constraints matching the predicate. If the second argument is
True solve constraints even if already isSolvingConstraints
.
wakeConstraints :: (ProblemConstraint -> WakeUp) -> m () Source #
stealConstraints :: ProblemId -> m () Source #
modifyAwakeConstraints :: (Constraints -> Constraints) -> m () Source #
modifySleepingConstraints :: (Constraints -> Constraints) -> m () Source #
Instances
data ConstraintStatus Source #
Constructors
AwakeConstraint | |
SleepingConstraint |
Instances
Eq ConstraintStatus Source # | |
Defined in Agda.TypeChecking.Monad.Constraints Methods (==) :: ConstraintStatus -> ConstraintStatus -> Bool (/=) :: ConstraintStatus -> ConstraintStatus -> Bool | |
Show ConstraintStatus Source # | |
Defined in Agda.TypeChecking.Monad.Constraints Methods showsPrec :: Int -> ConstraintStatus -> ShowS show :: ConstraintStatus -> String showList :: [ConstraintStatus] -> ShowS |
solvingProblem :: MonadConstraint m => ProblemId -> m a -> m a Source #
solvingProblems :: MonadConstraint m => Set ProblemId -> m a -> m a Source #
isProblemSolved :: (MonadTCEnv m, ReadTCState m) => ProblemId -> m Bool Source #
getConstraintsForProblem :: ReadTCState m => ProblemId -> m Constraints Source #
getAwakeConstraints :: ReadTCState m => m Constraints Source #
Get the awake constraints
dropConstraints :: MonadConstraint m => (ProblemConstraint -> Bool) -> m () Source #
takeConstraints :: MonadConstraint m => (ProblemConstraint -> Bool) -> m Constraints Source #
Takes out all constraints matching given filter. Danger! The taken constraints need to be solved or put back at some point.
putConstraintsToSleep :: MonadConstraint m => (ProblemConstraint -> Bool) -> m () Source #
putAllConstraintsToSleep :: MonadConstraint m => m () Source #
holdConstraints :: (ConstraintStatus -> ProblemConstraint -> Bool) -> TCM a -> TCM a Source #
Suspend constraints matching the predicate during the execution of the second argument. Caution: held sleeping constraints will not be woken up by events that would normally trigger a wakeup call.
takeAwakeConstraint :: MonadConstraint m => m (Maybe ProblemConstraint) Source #
takeAwakeConstraint' :: MonadConstraint m => (ProblemConstraint -> Bool) -> m (Maybe ProblemConstraint) Source #
getAllConstraints :: ReadTCState m => m Constraints Source #
withConstraint :: MonadConstraint m => (Constraint -> m a) -> ProblemConstraint -> m a Source #
buildProblemConstraint :: (MonadTCEnv m, ReadTCState m) => Set ProblemId -> Blocker -> Constraint -> m ProblemConstraint Source #
buildProblemConstraint_ :: (MonadTCEnv m, ReadTCState m) => Blocker -> Constraint -> m ProblemConstraint Source #
buildConstraint :: Blocker -> Constraint -> TCM ProblemConstraint Source #
addAndUnblocker :: MonadBlock m => Blocker -> m a -> m a Source #
addOrUnblocker :: MonadBlock m => Blocker -> m a -> m a Source #
addConstraint' :: Blocker -> Constraint -> TCM () Source #
Add new a constraint
addAwakeConstraint' :: Blocker -> Constraint -> TCM () Source #
addConstraintTo :: Lens' Constraints TCState -> Blocker -> Constraint -> TCM () Source #
nowSolvingConstraints :: MonadTCEnv m => m a -> m a Source #
Start solving constraints
isSolvingConstraints :: MonadTCEnv m => m Bool Source #
catchConstraint :: MonadConstraint m => Constraint -> m () -> m () Source #
Add constraint if the action raises a pattern violation
mapAwakeConstraints :: (Constraints -> Constraints) -> TCState -> TCState Source #
mapSleepingConstraints :: (Constraints -> Constraints) -> TCState -> TCState Source #
setPragmaOptions :: PragmaOptions -> TCM () Source #
Sets the pragma options.
setCommandLineOptions :: CommandLineOptions -> TCM () Source #
Sets the command line options (both persistent and pragma options are updated).
Relative include directories are made absolute with respect to the
current working directory. If the include directories have changed
(thus, they are Left
now, and were previously
),
then the state is reset (completely, see setIncludeDirs) .Right
something
An empty list of relative include directories (
) is
interpreted as Left
[]["."]
.
setCommandLineOptions' Source #
Arguments
:: AbsolutePath | The base directory of relative paths. |
-> CommandLineOptions | |
-> TCM () |
getAgdaLibFiles :: FilePath -> TCM [AgdaLibFile] Source #
getLibraryOptions :: FilePath -> TCM [OptionsPragma] Source #
Arguments
:: AbsolutePath | The base directory of relative paths. |
-> CommandLineOptions | |
-> TCM CommandLineOptions |
Arguments
:: AbsolutePath | The base directory of relative paths. |
-> CommandLineOptions | |
-> TCM CommandLineOptions |
setOptionsFromPragma :: OptionsPragma -> TCM () Source #
enableDisplayForms :: MonadTCEnv m => m a -> m a Source #
Disable display forms.
disableDisplayForms :: MonadTCEnv m => m a -> m a Source #
Disable display forms.
displayFormsEnabled :: MonadTCEnv m => m Bool Source #
Check if display forms are enabled.
Arguments
:: [FilePath] | New include directories. |
-> AbsolutePath | The base directory of relative paths. |
-> TCM () |
Makes the given directories absolute and stores them as include directories.
If the include directories change, then the state is reset (completely, except for the include directories and some other things).
An empty list is interpreted as ["."]
.
isPropEnabled :: HasOptions m => m Bool Source #
isTwoLevelEnabled :: HasOptions m => m Bool Source #
hasUniversePolymorphism :: HasOptions m => m Bool Source #
showImplicitArguments :: HasOptions m => m Bool Source #
showIrrelevantArguments :: HasOptions m => m Bool Source #
showIdentitySubstitutions :: HasOptions m => m Bool Source #
withShowAllArguments :: ReadTCState m => m a -> m a Source #
Switch on printing of implicit and irrelevant arguments. E.g. for reification in with-function generation.
Restores all PragmaOptions
after completion.
Thus, do not attempt to make persistent PragmaOptions
changes in a withShowAllArguments
bracket.
withShowAllArguments' :: ReadTCState m => Bool -> m a -> m a Source #
withPragmaOptions :: ReadTCState m => (PragmaOptions -> PragmaOptions) -> m a -> m a Source #
Change PragmaOptions
for a computation and restore afterwards.
positivityCheckEnabled :: HasOptions m => m Bool Source #
typeInType :: HasOptions m => m Bool Source #
etaEnabled :: HasOptions m => m Bool Source #
maxInstanceSearchDepth :: HasOptions m => m Int Source #
maxInversionDepth :: HasOptions m => m Int Source #
getLanguage :: HasOptions m => m Language Source #
Returns the Language
currently in effect.
makeOpen :: (ReadTCState m, MonadTCEnv m) => a -> m (Open a) Source #
Create an open term in the current context.
getOpen :: (TermSubst a, MonadTCEnv m) => Open a -> m a Source #
Extract the value from an open term. The checkpoint at which it was created must be in scope.
tryGetOpen :: (TermSubst a, ReadTCState m, MonadTCEnv m) => (Substitution -> a -> Maybe a) -> Open a -> m (Maybe a) Source #
Extract the value from an open term. If the checkpoint is no longer in scope use the provided function to pull the object to the most recent common checkpoint. The function is given the substitution from the common ancestor to the checkpoint of the thing.
Wrapper to tell addContext
not to mark names as
NotInScope
. Used when adding a user-provided, but already type
checked, telescope to the context.
Constructors
KeepNames a |
Instances
AddContext (KeepNames Telescope) Source # | |
Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => KeepNames Telescope -> m a -> m a Source # | |
AddContext (KeepNames String, Dom Type) Source # | |
Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (KeepNames String, Dom Type) -> m a -> m a Source # |
class AddContext b where Source #
Various specializations of addCtx
.
Instances
unsafeModifyContext :: MonadTCEnv tcm => (Context -> Context) -> tcm a -> tcm a Source #
Modify a Context
in a computation. Warning: does not update
the checkpoints. Use updateContext
instead.
modifyContextInfo :: MonadTCEnv tcm => (forall e. Dom e -> Dom e) -> tcm a -> tcm a Source #
Modify the Dom
part of context entries.
inTopContext :: (MonadTCEnv tcm, ReadTCState tcm) => tcm a -> tcm a Source #
Change to top (=empty) context. Resets the checkpoints.
unsafeInTopContext :: (MonadTCEnv m, ReadTCState m) => m a -> m a Source #
Change to top (=empty) context, but don't update the checkpoints. Totally not safe!
unsafeEscapeContext :: MonadTCM tcm => Int -> tcm a -> tcm a Source #
Delete the last n
bindings from the context.
Doesn't update checkpoints! Use escapeContext
or `updateContext
rho (drop n)` instead, for an appropriate substitution rho
.
escapeContext :: MonadAddContext m => Impossible -> Int -> m a -> m a Source #
Delete the last n
bindings from the context. Any occurrences of
these variables are replaced with the given err
.
checkpoint :: (MonadDebug tcm, MonadTCM tcm, MonadFresh CheckpointId tcm, ReadTCState tcm) => Substitution -> tcm a -> tcm a Source #
Add a new checkpoint. Do not use directly!
checkpointSubstitution' :: MonadTCEnv tcm => CheckpointId -> tcm (Maybe Substitution) Source #
Get the substitution from the context at a given checkpoint to the current context.
getModuleParameterSub :: (MonadTCEnv m, ReadTCState m) => ModuleName -> m (Maybe Substitution) Source #
Get substitution Γ ⊢ ρ : Γm
where Γ
is the current context
and Γm
is the module parameter telescope of module m
.
Returns Nothing
in case the we don't have a checkpoint for m
.
defaultAddCtx :: MonadAddContext m => Name -> Dom Type -> m a -> m a Source #
Default implementation of addCtx in terms of updateContext
withFreshName_ :: MonadAddContext m => ArgName -> (Name -> m a) -> m a Source #
withShadowingNameTCM :: Name -> TCM b -> TCM b Source #
Run the given TCM action, and register the given variable as being shadowed by all the names with the same root that are added to the context during this TCM action.
addRecordNameContext :: (MonadAddContext m, MonadFresh NameId m) => Dom Type -> m b -> m b Source #
underAbstraction :: (Subst a, MonadAddContext m) => Dom Type -> Abs a -> (a -> m b) -> m b Source #
Go under an abstraction. Do not extend context in case of NoAbs
.
underAbstraction' :: (Subst a, MonadAddContext m, AddContext (name, Dom Type)) => (String -> name) -> Dom Type -> Abs a -> (a -> m b) -> m b Source #
underAbstractionAbs :: (Subst a, MonadAddContext m) => Dom Type -> Abs a -> (a -> m b) -> m b Source #
underAbstractionAbs' :: (Subst a, MonadAddContext m, AddContext (name, Dom Type)) => (String -> name) -> Dom Type -> Abs a -> (a -> m b) -> m b Source #
underAbstraction_ :: (Subst a, MonadAddContext m) => Abs a -> (a -> m b) -> m b Source #
Go under an abstract without worrying about the type to add to the context.
mapAbstraction :: (Subst a, Subst b, MonadAddContext m) => Dom Type -> (a -> m b) -> Abs a -> m (Abs b) Source #
Map a monadic function on the thing under the abstraction, adding the abstracted variable to the context.
defaultAddLetBinding' :: (ReadTCState m, MonadTCEnv m) => Name -> Term -> Dom Type -> m a -> m a Source #
Add a let bound variable
addLetBinding :: MonadAddContext m => ArgInfo -> Name -> Term -> Type -> m a -> m a Source #
Add a let bound variable
getContext :: MonadTCEnv m => m [Dom (Name, Type)] Source #
Get the current context.
getContextSize :: (Applicative m, MonadTCEnv m) => m Nat Source #
Get the size of the current context.
getContextArgs :: (Applicative m, MonadTCEnv m) => m Args Source #
Generate [var (n - 1), ..., var 0]
for all declarations in the context.
getContextTerms :: (Applicative m, MonadTCEnv m) => m [Term] Source #
Generate [var (n - 1), ..., var 0]
for all declarations in the context.
getContextTelescope :: (Applicative m, MonadTCEnv m) => m Telescope Source #
Get the current context as a Telescope
.
getContextNames :: (Applicative m, MonadTCEnv m) => m [Name] Source #
Get the names of all declarations in the context.
lookupBV' :: MonadTCEnv m => Nat -> m (Maybe (Dom (Name, Type))) Source #
get type of bound variable (i.e. deBruijn index)
getVarInfo :: (MonadFail m, MonadTCEnv m) => Name -> m (Term, Dom Type) Source #
Get the term corresponding to a named variable. If it is a lambda bound variable the deBruijn index is returned and if it is a let bound variable its definition is returned.
Sort primitives.
Constructors
SortKit | |
Fields
|
data CoinductionKit Source #
The coinductive primitives.
Constructors
CoinductionKit | |
Fields
|
litType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => Literal -> m Type Source #
setBuiltinThings :: BuiltinThings PrimFun -> TCM () Source #
bindBuiltinName :: String -> Term -> TCM () Source #
bindPrimitive :: String -> PrimFun -> TCM () Source #
getBuiltin :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => String -> m Term Source #
getBuiltin' :: HasBuiltins m => String -> m (Maybe Term) Source #
getPrimitive' :: HasBuiltins m => String -> m (Maybe PrimFun) Source #
getPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => String -> m PrimFun Source #
getPrimitiveTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => String -> m Term Source #
getPrimitiveTerm' :: HasBuiltins m => String -> m (Maybe Term) Source #
getTerm' :: HasBuiltins m => String -> m (Maybe Term) Source #
getName' :: HasBuiltins m => String -> m (Maybe QName) Source #
getTerm :: HasBuiltins m => String -> String -> m Term Source #
getTerm use name
looks up name
as a primitive or builtin, and
throws an error otherwise.
The use
argument describes how the name is used for the sake of
the error message.
constructorForm :: HasBuiltins m => Term -> m Term Source #
Rewrite a literal to constructor form if possible.
primInteger :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIntegerPos :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIntegerNegSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFloat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primChar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primBool :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSigma :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primUnit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primUnitUnit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primTrue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFalse :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primList :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNil :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primCons :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primMaybe :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNothing :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primJust :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIO :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primId :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primConId :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIdElim :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPath :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPathP :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primInterval :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIMin :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primINeg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPartial :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPartialP :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIsOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primItIsOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primTrans :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primHComp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primEquiv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primEquivFun :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primEquivProof :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primTranspProof :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
prim_glueU :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
prim_unglueU :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primGlue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
prim_glue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
prim_unglue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFaceForall :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIsOne1 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIsOne2 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIsOneEmpty :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSub :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSubIn :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSubOut :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatPlus :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatMinus :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatTimes :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatDivSucAux :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatModSucAux :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatEquality :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primNatLess :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primWord64 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSizeUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSize :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSizeLt :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSizeSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSizeInf :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSizeMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primInf :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSharp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFlat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primEquality :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primRefl :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primRewrite :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primLevel :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primLevelZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primLevelSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primLevelMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primProp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSetOmega :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primLockUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primSSetOmega :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primStrictSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFromNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFromNeg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFromString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primQName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primArg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primArgArg :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAbs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAbsAbs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSort :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primHiding :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primHidden :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primInstance :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primVisible :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primRelevance :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primRelevant :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primIrrelevant :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primQuantity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primQuantity0 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primQuantityω :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primModality :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primModalityConstructor :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAssoc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAssocLeft :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAssocRight :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAssocNon :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPrecedence :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPrecRelated :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primPrecUnrelated :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFixity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primFixityFixity :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primArgInfo :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primArgArgInfo :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSortSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSortLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSortProp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSortPropLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSortInf :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaSortUnsupported :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermVar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermLam :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermExtLam :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermCon :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermPi :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermSort :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermUnsupported :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTermMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaErrorPart :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaErrorPartString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaErrorPartTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaErrorPartName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLiteral :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitWord64 :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitFloat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitChar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitQName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaLitMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPattern :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPatCon :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPatVar :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPatDot :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPatLit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPatProj :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaPatAbsurd :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaClause :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaClauseClause :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaClauseAbsurd :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinitionFunDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinitionDataDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinitionRecordDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinitionDataConstructor :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinitionPostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinitionPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaDefinition :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCM :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMReturn :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMBind :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMUnify :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMTypeError :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMInferType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMCheckType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMNormalise :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMReduce :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMCatchError :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMGetContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMExtendContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMInContext :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMFreshName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMDeclareDef :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMDeclarePostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMDefineFun :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMGetType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMGetDefinition :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMQuoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMQuoteOmegaTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMUnquoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMBlockOnMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMCommit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMIsMacro :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMWithNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMWithReconsParams :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMDebugPrint :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMOnlyReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMDontReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMNoConstraints :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMRunSpeculative :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMExec :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
coinductionKit' :: TCM CoinductionKit Source #
Tries to build a CoinductionKit
.
coinductionKit :: TCM (Maybe CoinductionKit) Source #
sortKit :: HasBuiltins m => m SortKit Source #
getPrimName :: Term -> QName Source #
getBuiltinName' :: HasBuiltins m => String -> m (Maybe QName) Source #
getPrimitiveName' :: HasBuiltins m => String -> m (Maybe QName) Source #
isPrimitive :: HasBuiltins m => String -> QName -> m Bool Source #
intervalView' :: HasBuiltins m => m (Term -> IntervalView) Source #
intervalView :: HasBuiltins m => Term -> m IntervalView Source #
intervalUnview :: HasBuiltins m => IntervalView -> m Term Source #
intervalUnview' :: HasBuiltins m => m (IntervalView -> Term) Source #
pathView :: HasBuiltins m => Type -> m PathView Source #
Check whether the type is actually an path (lhs ≡ rhs) and extract lhs, rhs, and their type.
Precondition: type is reduced.
idViewAsPath :: HasBuiltins m => Type -> m PathView Source #
Non dependent Path
boldPathView :: Type -> PathView Source #
primEqualityName :: TCM QName Source #
Get the name of the equality type.
equalityView :: Type -> TCM EqualityView Source #
Check whether the type is actually an equality (lhs ≡ rhs) and extract lhs, rhs, and their type.
Precondition: type is reduced.
equalityUnview :: EqualityView -> Type Source #
Revert the EqualityView
.
Postcondition: type is reduced.
constrainedPrims :: [String] Source #
Primitives with typechecking constrants.
getNameOfConstrained :: HasBuiltins m => String -> m (Maybe QName) Source #
type SizeMaxView' = [DeepSizeView] Source #
type SizeMaxView = NonEmpty DeepSizeView Source #
data SizeViewComparable a Source #
Constructors
NotComparable | |
YesAbove DeepSizeView a | |
YesBelow DeepSizeView a |
Instances
Functor SizeViewComparable Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods fmap :: (a -> b) -> SizeViewComparable a -> SizeViewComparable b (<$) :: a -> SizeViewComparable b -> SizeViewComparable a # |
data DeepSizeView Source #
A deep view on sizes.
Constructors
DSizeInf | |
DSizeVar ProjectedVar Offset | |
DSizeMeta MetaId Elims Offset | |
DOtherSize Term |
Instances
Show DeepSizeView Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods showsPrec :: Int -> DeepSizeView -> ShowS show :: DeepSizeView -> String showList :: [DeepSizeView] -> ShowS | |
Pretty DeepSizeView Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods pretty :: DeepSizeView -> Doc Source # prettyPrec :: Int -> DeepSizeView -> Doc Source # prettyList :: [DeepSizeView] -> Doc Source # |
data ProjectedVar Source #
A de Bruijn index under some projections.
Constructors
ProjectedVar | |
Fields
|
Instances
Eq ProjectedVar Source # | Ignore |
Defined in Agda.TypeChecking.Monad.SizedTypes | |
Show ProjectedVar Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods showsPrec :: Int -> ProjectedVar -> ShowS show :: ProjectedVar -> String showList :: [ProjectedVar] -> ShowS |
class IsSizeType a where Source #
Check if a type is the primSize
type. The argument should be reduce
d.
Methods
isSizeType :: (HasOptions m, HasBuiltins m) => a -> m (Maybe BoundedSize) Source #
Instances
IsSizeType Term Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => Term -> m (Maybe BoundedSize) Source # | |
IsSizeType CompareAs Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => CompareAs -> m (Maybe BoundedSize) Source # | |
IsSizeType a => IsSizeType (Type' a) Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => Type' a -> m (Maybe BoundedSize) Source # | |
IsSizeType a => IsSizeType (Dom a) Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => Dom a -> m (Maybe BoundedSize) Source # | |
IsSizeType a => IsSizeType (b, a) Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => (b, a) -> m (Maybe BoundedSize) Source # |
data BoundedSize Source #
Result of querying whether size variable i
is bounded by another
size.
Instances
Eq BoundedSize Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes | |
Show BoundedSize Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods showsPrec :: Int -> BoundedSize -> ShowS show :: BoundedSize -> String showList :: [BoundedSize] -> ShowS |
isSizeTypeTest :: (HasOptions m, HasBuiltins m) => m (Term -> Maybe BoundedSize) Source #
getBuiltinDefName :: HasBuiltins m => String -> m (Maybe QName) Source #
getBuiltinSize :: HasBuiltins m => m (Maybe QName, Maybe QName) Source #
isSizeNameTest :: (HasOptions m, HasBuiltins m) => m (QName -> Bool) Source #
isSizeNameTestRaw :: (HasOptions m, HasBuiltins m) => m (QName -> Bool) Source #
haveSizedTypes :: TCM Bool Source #
Test whether OPTIONS --sized-types and whether the size built-ins are defined.
haveSizeLt :: TCM Bool Source #
Test whether the SIZELT builtin is defined.
sizeType :: (HasBuiltins m, MonadTCEnv m, ReadTCState m) => m Type Source #
The built-in type SIZE
.
sizeSucName :: (HasBuiltins m, HasOptions m) => m (Maybe QName) Source #
The name of SIZESUC
.
sizeMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => NonEmpty Term -> m Term Source #
Transform list of terms into a term build from binary maximum.
sizeView :: (HasBuiltins m, MonadTCEnv m, ReadTCState m) => Term -> m SizeView Source #
Expects argument to be reduce
d.
viewProjectedVar :: Term -> Maybe ProjectedVar Source #
sizeViewComparable :: DeepSizeView -> DeepSizeView -> SizeViewComparable () Source #
sizeViewComparable v w
checks whether v >= w
(then Left
)
or v <= w
(then Right
). If uncomparable, it returns NotComparable
.
sizeViewSuc_ :: QName -> DeepSizeView -> DeepSizeView Source #
sizeViewPred :: Nat -> DeepSizeView -> DeepSizeView Source #
sizeViewPred k v
decrements v
by k
(must be possible!).
sizeViewOffset :: DeepSizeView -> Maybe Offset Source #
sizeViewOffset v
returns the number of successors or Nothing when infty.
removeSucs :: (DeepSizeView, DeepSizeView) -> (DeepSizeView, DeepSizeView) Source #
Remove successors common to both sides.
unDeepSizeView :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => DeepSizeView -> m Term Source #
maxViewMax :: SizeMaxView -> SizeMaxView -> SizeMaxView Source #
maxViewCons :: DeepSizeView -> SizeMaxView -> SizeMaxView Source #
maxViewCons v ws = max v ws
. It only adds v
to ws
if it is not
subsumed by an element of ws
.
sizeViewComparableWithMax :: DeepSizeView -> SizeMaxView -> SizeViewComparable SizeMaxView' Source #
sizeViewComparableWithMax v ws
tries to find w
in ws
that compares with v
and singles this out.
Precondition: v /= DSizeInv
.
maxViewSuc_ :: QName -> SizeMaxView -> SizeMaxView Source #
unMaxView :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => SizeMaxView -> m Term Source #
addConstant :: QName -> Definition -> TCM () Source #
Add a constant to the signature. Lifts the definition to top level.
addConstant' :: QName -> ArgInfo -> QName -> Type -> Defn -> TCM () Source #
A combination of addConstant
and defaultDefn
. The Language
does not need to be supplied.
setTerminates :: QName -> Bool -> TCM () Source #
Set termination info of a defined function symbol.
setCompiledClauses :: QName -> CompiledClauses -> TCM () Source #
Set CompiledClauses of a defined function symbol.
modifyFunClauses :: QName -> ([Clause] -> [Clause]) -> TCM () Source #
Modify the clauses of a function.
addClauses :: QName -> [Clause] -> TCM () Source #
Lifts clauses to the top-level and adds them to definition.
Also adjusts the funCopatternLHS
field if necessary.
mkPragma :: String -> TCM CompilerPragma Source #
getUniqueCompilerPragma :: BackendName -> QName -> TCM (Maybe CompilerPragma) Source #
setFunctionFlag :: FunctionFlag -> Bool -> QName -> TCM () Source #
markStatic :: QName -> TCM () Source #
markInline :: Bool -> QName -> TCM () Source #
markInjective :: QName -> TCM () Source #
unionSignatures :: [Signature] -> Signature Source #
addSection :: ModuleName -> TCM () Source #
Add a section to the signature.
The current context will be stored as the cumulative module parameters for this section.
setModuleCheckpoint :: ModuleName -> TCM () Source #
Sets the checkpoint for the given module to the current checkpoint.
getSection :: (Functor m, ReadTCState m) => ModuleName -> m (Maybe Section) Source #
Get a section.
Why Maybe? The reason is that we look up all prefixes of a module to compute number of parameters, and for hierarchical top-level modules, A.B.C say, A and A.B do not exist.
addDisplayForms :: QName -> TCM () Source #
Add display forms for a name f
copied by a module application. Essentially if f
can reduce to
λ xs → A.B.C.f vs
by unfolding module application copies (defCopy
), then we add a display form
A.B.C.f vs ==> f xs
Arguments
:: ModuleName | Name of new module defined by the module macro. |
-> Telescope | Parameters of new module. |
-> ModuleName | Name of old module applied to arguments. |
-> Args | Arguments of module application. |
-> ScopeCopyInfo | Imported names and modules |
-> TCM () |
Module application (followed by module parameter abstraction).
applySection' :: ModuleName -> Telescope -> ModuleName -> Args -> ScopeCopyInfo -> TCM () Source #
addDisplayForm :: QName -> DisplayForm -> TCM () Source #
Add a display form to a definition (could be in this or imported signature).
isLocal :: ReadTCState m => QName -> m Bool Source #
getDisplayForms :: (HasConstInfo m, ReadTCState m) => QName -> m [LocalDisplayForm] Source #
chaseDisplayForms :: QName -> TCM (Set QName) Source #
Find all names used (recursively) by display forms of a given name.
hasLoopingDisplayForm :: QName -> TCM Bool Source #
Check if a display form is looping.
canonicalName :: HasConstInfo m => QName -> m QName Source #
whatInduction :: MonadTCM tcm => QName -> tcm Induction Source #
Can be called on either a (co)datatype, a record type or a (co)constructor.
singleConstructorType :: QName -> TCM Bool Source #
Does the given constructor come from a single-constructor type?
Precondition: The name has to refer to a constructor.
getOriginalConstInfo :: (ReadTCState m, HasConstInfo m) => QName -> m Definition Source #
The computation getConstInfo
sometimes tweaks the returned
Definition
, depending on the current Language
and the
Language
of the Definition
. This variant of getConstInfo
does
not perform any tweaks.
defaultGetRewriteRulesFor :: (ReadTCState m, MonadTCEnv m) => QName -> m RewriteRules Source #
getOriginalProjection :: HasConstInfo m => QName -> m QName Source #
Get the original name of the projection (the current one could be from a module application).
defaultGetConstInfo :: (HasOptions m, MonadDebug m, MonadTCEnv m) => TCState -> TCEnv -> QName -> m (Either SigError Definition) Source #
getConInfo :: HasConstInfo m => ConHead -> m Definition Source #
getPolarity :: HasConstInfo m => QName -> m [Polarity] Source #
Look up the polarity of a definition.
getPolarity' :: HasConstInfo m => Comparison -> QName -> m [Polarity] Source #
Look up polarity of a definition and compose with polarity
represented by Comparison
.
setPolarity :: (MonadTCState m, MonadDebug m) => QName -> [Polarity] -> m () Source #
Set the polarity of a definition.
getForcedArgs :: HasConstInfo m => QName -> m [IsForced] Source #
Look up the forced arguments of a definition.
getArgOccurrence :: QName -> Nat -> TCM Occurrence Source #
Get argument occurrence info for argument i
of definition d
(never fails).
setArgOccurrences :: MonadTCState m => QName -> [Occurrence] -> m () Source #
Sets the defArgOccurrences
for the given identifier (which
should already exist in the signature).
modifyArgOccurrences :: MonadTCState m => QName -> ([Occurrence] -> [Occurrence]) -> m () Source #
getCompiled :: HasConstInfo m => QName -> m (Maybe Compiled) Source #
getErasedConArgs :: HasConstInfo m => QName -> m [Bool] Source #
Returns a list of length conArity
.
If no erasure analysis has been performed yet, this will be a list of False
s.
setErasedConArgs :: QName -> [Bool] -> TCM () Source #
getTreeless :: HasConstInfo m => QName -> m (Maybe TTerm) Source #
getCompiledArgUse :: HasConstInfo m => QName -> m (Maybe [ArgUsage]) Source #
getMutual :: QName -> TCM (Maybe [QName]) Source #
Get the mutually recursive identifiers of a symbol from the signature.
getMutual_ :: Defn -> Maybe [QName] Source #
Get the mutually recursive identifiers from a Definition
.
mutuallyRecursive :: QName -> QName -> TCM Bool Source #
Check whether two definitions are mutually recursive.
definitelyNonRecursive_ :: Defn -> Bool Source #
A functiondatarecord definition is nonRecursive if it is not even mutually recursive with itself.
getCurrentModuleFreeVars :: TCM Nat Source #
Get the number of parameters to the current module.
getDefModule :: HasConstInfo m => QName -> m (Either SigError ModuleName) Source #
getDefFreeVars :: (Functor m, Applicative m, ReadTCState m, MonadTCEnv m) => QName -> m Nat Source #
Compute the number of free variables of a defined name. This is the sum of number of parameters shared with the current module and the number of anonymous variables (if the name comes from a let-bound module).
freeVarsToApply :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => QName -> m Args Source #
getModuleFreeVars :: (Functor m, Applicative m, MonadTCEnv m, ReadTCState m) => ModuleName -> m Nat Source #
moduleParamsToApply :: (Functor m, Applicative m, HasOptions m, MonadTCEnv m, ReadTCState m, MonadDebug m) => ModuleName -> m Args Source #
Compute the context variables to apply a definition to.
We have to insert the module telescope of the common prefix of the current module and the module where the definition comes from. (Properly raised to the current context.)
Example:
module M₁ Γ where
module M₁ Δ where
f = ...
module M₃ Θ where
... M₁.M₂.f [insert Γ raised by Θ]
instantiateDef :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => Definition -> m Definition Source #
Instantiate a closed definition with the correct part of the current context.
instantiateRewriteRule :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => RewriteRule -> m RewriteRule Source #
instantiateRewriteRules :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => RewriteRules -> m RewriteRules Source #
makeAbstract :: Definition -> Maybe Definition Source #
Give the abstract view of a definition.
inAbstractMode :: MonadTCEnv m => m a -> m a Source #
Enter abstract mode. Abstract definition in the current module are transparent.
inConcreteMode :: MonadTCEnv m => m a -> m a Source #
Not in abstract mode. All abstract definitions are opaque.
ignoreAbstractMode :: MonadTCEnv m => m a -> m a Source #
Ignore abstract mode. All abstract definitions are transparent.
inConcreteOrAbstractMode :: (MonadTCEnv m, HasConstInfo m) => QName -> (Definition -> m a) -> m a Source #
Enter concrete or abstract mode depending on whether the given identifier is concrete or abstract.
treatAbstractly :: MonadTCEnv m => QName -> m Bool Source #
Check whether a name might have to be treated abstractly (either if we're
inAbstractMode
or it's not a local name). Returns true for things not
declared abstract as well, but for those makeAbstract
will have no effect.
treatAbstractly' :: QName -> TCEnv -> Bool Source #
Andreas, 2015-07-01:
If the current
module is a weak suffix of the identifier module,
we can see through its abstract definition if we are abstract.
(Then treatAbstractly'
returns False
).
If I am not mistaken, then we cannot see definitions in the where
block of an abstract function from the perspective of the function,
because then the current module is a strict prefix of the module
of the local identifier.
This problem is fixed by removing trailing anonymous module name parts
(underscores) from both names.
typeOfConst :: (HasConstInfo m, ReadTCState m) => QName -> m Type Source #
Get type of a constant, instantiated to the current context.
relOfConst :: HasConstInfo m => QName -> m Relevance Source #
Get relevance of a constant.
modalityOfConst :: HasConstInfo m => QName -> m Modality Source #
Get modality of a constant.
droppedPars :: Definition -> Int Source #
The number of dropped parameters for a definition. 0 except for projection(-like) functions and constructors.
isProjection :: HasConstInfo m => QName -> m (Maybe Projection) Source #
Is it the name of a record projection?
isProjection_ :: Defn -> Maybe Projection Source #
isRelevantProjection :: HasConstInfo m => QName -> m (Maybe Projection) Source #
Is it the name of a non-irrelevant record projection?
isRelevantProjection_ :: Definition -> Maybe Projection Source #
isStaticFun :: Defn -> Bool Source #
Is it a function marked STATIC?
isInlineFun :: Defn -> Bool Source #
Is it a function marked INLINE?
isProperProjection :: Defn -> Bool Source #
Returns True
if we are dealing with a proper projection,
i.e., not a projection-like function nor a record field value
(projection applied to argument).
projectionArgs :: Definition -> Int Source #
Number of dropped initial arguments of a projection(-like) function.
usesCopatterns :: HasConstInfo m => QName -> m Bool Source #
Check whether a definition uses copatterns.
applyDef :: HasConstInfo m => ProjOrigin -> QName -> Arg Term -> m Term Source #
Apply a function f
to its first argument, producing the proper
postfix projection if f
is a projection which is not irrelevant.
class UnFreezeMeta a where Source #
Unfreeze meta and its type if this is a meta again. Does not unfreeze deep occurrences of metas.
Methods
unfreezeMeta :: MonadMetaSolver m => a -> m () Source #
Instances
class IsInstantiatedMeta a where Source #
Check whether all metas are instantiated. Precondition: argument is a meta (in some form) or a list of metas.
Methods
isInstantiatedMeta :: (MonadFail m, ReadTCState m) => a -> m Bool Source #
Instances
class (MonadConstraint m, MonadReduce m, MonadAddContext m, MonadTCEnv m, ReadTCState m, HasBuiltins m, HasConstInfo m, MonadDebug m) => MonadMetaSolver m where Source #
Monad service class for creating, solving and eta-expanding of metavariables.
Methods
newMeta' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaId Source #
Generate a new meta variable with some instantiation given.
For instance, the instantiation could be a PostponedTypeCheckingProblem
.
assignV :: CompareDirection -> MetaId -> Args -> Term -> CompareAs -> m () Source #
Assign to an open metavar which may not be frozen. First check that metavar args are in pattern fragment. Then do extended occurs check on given thing.
Assignment is aborted by throwing a PatternErr
via a call to
patternViolation
. This error is caught by catchConstraint
during equality checking (compareAtom
) and leads to
restoration of the original constraints.
assignTerm' :: MonadMetaSolver m => MetaId -> [Arg ArgName] -> Term -> m () Source #
Directly instantiate the metavariable. Skip pattern check, occurs check and frozen check. Used for eta expanding frozen metas.
etaExpandMeta :: [MetaKind] -> MetaId -> m () Source #
Eta expand a metavariable, if it is of the specified kind. Don't do anything if the metavariable is a blocked term.
updateMetaVar :: MetaId -> (MetaVariable -> MetaVariable) -> m () Source #
Update the status of the metavariable
speculateMetas :: m () -> m KeepMetas -> m () Source #
'speculateMetas fallback m' speculatively runs m
, but if the
result is RollBackMetas
any changes to metavariables are
rolled back and fallback
is run instead.
Instances
Constructors
KeepMetas | |
RollBackMetas |
Various kinds of metavariables.
Constructors
Records | Meta variables of record type. |
SingletonRecords | Meta variables of "hereditarily singleton" record type. |
Levels | Meta variables of level type, if type-in-type is activated. |
Instances
Bounded MetaKind Source # | |
Defined in Agda.TypeChecking.Monad.MetaVars | |
Enum MetaKind Source # | |
Defined in Agda.TypeChecking.Monad.MetaVars | |
Eq MetaKind Source # | |
Show MetaKind Source # | |
allMetaKinds :: [MetaKind] Source #
All possible metavariable kinds.
dontAssignMetas :: (MonadTCEnv m, HasOptions m, MonadDebug m) => m a -> m a Source #
Switch off assignment of metas.
getMetaStore :: ReadTCState m => m MetaStore Source #
Get the meta store.
metasCreatedBy :: ReadTCState m => m a -> m (a, MetaStore) Source #
Run a computation and record which new metas it created.
lookupMeta' :: ReadTCState m => MetaId -> m (Maybe MetaVariable) Source #
Lookup a meta variable.
lookupMeta :: (MonadFail m, ReadTCState m) => MetaId -> m MetaVariable Source #
updateMetaVarTCM :: MetaId -> (MetaVariable -> MetaVariable) -> TCM () Source #
Update the information associated with a meta variable.
insertMetaVar :: MetaId -> MetaVariable -> TCM () Source #
Insert a new meta variable with associated information into the meta store.
getMetaPriority :: (MonadFail m, ReadTCState m) => MetaId -> m MetaPriority Source #
isSortMeta :: (MonadFail m, ReadTCState m) => MetaId -> m Bool Source #
isSortMeta_ :: MetaVariable -> Bool Source #
getMetaType :: (MonadFail m, ReadTCState m) => MetaId -> m Type Source #
getMetaContextArgs :: MonadTCEnv m => MetaVariable -> m Args Source #
Compute the context variables that a meta should be applied to, accounting for pruning.
getMetaTypeInContext :: (MonadFail m, MonadTCEnv m, ReadTCState m, MonadReduce m, HasBuiltins m) => MetaId -> m Type Source #
Given a meta, return the type applied to the current context.
isGeneralizableMeta :: (ReadTCState m, MonadFail m) => MetaId -> m DoGeneralize Source #
Is it a meta that might be generalized?
isInstantiatedMeta' :: (MonadFail m, ReadTCState m) => MetaId -> m (Maybe Term) Source #
constraintMetas :: Constraint -> TCM (Set MetaId) Source #
Returns all metavariables in a constraint. Slightly complicated by the fact that blocked terms are represented by two meta variables. To find the second one we need to look up the meta listeners for the one in the UnBlock constraint. This is used for the purpose of deciding if a metavariable is constrained or if it can be generalized over (see Agda.TypeChecking.Generalize).
createMetaInfo :: (MonadTCEnv m, ReadTCState m) => m MetaInfo Source #
Create MetaInfo
in the current environment.
createMetaInfo' :: (MonadTCEnv m, ReadTCState m) => RunMetaOccursCheck -> m MetaInfo Source #
setValueMetaName :: MonadMetaSolver m => Term -> MetaNameSuggestion -> m () Source #
getMetaNameSuggestion :: (MonadFail m, ReadTCState m) => MetaId -> m MetaNameSuggestion Source #
setMetaNameSuggestion :: MonadMetaSolver m => MetaId -> MetaNameSuggestion -> m () Source #
setMetaGeneralizableArgInfo :: MonadMetaSolver m => MetaId -> ArgInfo -> m () Source #
Change the ArgInfo that will be used when generalizing over this meta.
updateMetaVarRange :: MonadMetaSolver m => MetaId -> Range -> m () Source #
setMetaOccursCheck :: MonadMetaSolver m => MetaId -> RunMetaOccursCheck -> m () Source #
registerInteractionPoint :: forall m. MonadInteractionPoints m => Bool -> Range -> Maybe Nat -> m InteractionId Source #
Register an interaction point during scope checking. If there is no interaction id yet, create one.
findInteractionPoint_ :: Range -> InteractionPoints -> Maybe InteractionId Source #
Find an interaction point by Range
by searching the whole map.
Issue 3000: Don't consider solved interaction points.
O(n): linear in the number of registered interaction points.
connectInteractionPoint :: MonadInteractionPoints m => InteractionId -> MetaId -> m () Source #
Hook up meta variable to interaction point.
removeInteractionPoint :: MonadInteractionPoints m => InteractionId -> m () Source #
Mark an interaction point as solved.
getInteractionPoints :: ReadTCState m => m [InteractionId] Source #
Get a list of interaction ids.
getInteractionMetas :: ReadTCState m => m [MetaId] Source #
Get all metas that correspond to unsolved interaction ids.
getUniqueMetasRanges :: (MonadFail m, ReadTCState m) => [MetaId] -> m [Range] Source #
getUnsolvedMetas :: (MonadFail m, ReadTCState m) => m [Range] Source #
getUnsolvedInteractionMetas :: (MonadFail m, ReadTCState m) => m [Range] Source #
getInteractionIdsAndMetas :: ReadTCState m => m [(InteractionId, MetaId)] Source #
Get all metas that correspond to unsolved interaction ids.
isInteractionMeta :: ReadTCState m => MetaId -> m (Maybe InteractionId) Source #
Does the meta variable correspond to an interaction point?
Time: O(log n)
where n
is the number of interaction metas.
lookupInteractionPoint :: (MonadFail m, ReadTCState m, MonadError TCErr m) => InteractionId -> m InteractionPoint Source #
Get the information associated to an interaction point.
lookupInteractionId :: (MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m) => InteractionId -> m MetaId Source #
Get MetaId
for an interaction point.
Precondition: interaction point is connected.
lookupInteractionMeta :: ReadTCState m => InteractionId -> m (Maybe MetaId) Source #
Check whether an interaction id is already associated with a meta variable.
lookupInteractionMeta_ :: InteractionId -> InteractionPoints -> Maybe MetaId Source #
newMeta :: MonadMetaSolver m => Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaId Source #
Generate new meta variable.
newMetaTCM' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> TCM MetaId Source #
Generate a new meta variable with some instantiation given.
For instance, the instantiation could be a PostponedTypeCheckingProblem
.
getInteractionRange :: (MonadInteractionPoints m, MonadFail m, MonadError TCErr m) => InteractionId -> m Range Source #
Get the Range
for an interaction point.
getMetaRange :: (MonadFail m, ReadTCState m) => MetaId -> m Range Source #
Get the Range
for a meta variable.
getInteractionScope :: (MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m) => InteractionId -> m ScopeInfo Source #
withMetaInfo' :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => MetaVariable -> m a -> m a Source #
withMetaInfo :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => Closure Range -> m a -> m a Source #
withInteractionId :: (MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m, MonadTrace m) => InteractionId -> m a -> m a Source #
withMetaId :: (MonadFail m, MonadTCEnv m, ReadTCState m, MonadTrace m) => MetaId -> m a -> m a Source #
getMetaVariables :: ReadTCState m => (MetaVariable -> Bool) -> m [MetaId] Source #
getOpenMetas :: ReadTCState m => m [MetaId] Source #
isOpenMeta :: MetaInstantiation -> Bool Source #
listenToMeta :: MonadMetaSolver m => Listener -> MetaId -> m () Source #
listenToMeta l m
: register l
as a listener to m
. This is done
when the type of l is blocked by m
.
unlistenToMeta :: MonadMetaSolver m => Listener -> MetaId -> m () Source #
Unregister a listener.
getMetaListeners :: (MonadFail m, ReadTCState m) => MetaId -> m [Listener] Source #
Get the listeners to a meta.
clearMetaListeners :: MonadMetaSolver m => MetaId -> m () Source #
freezeMetas :: MetaStore -> TCM IntSet Source #
Freeze the given meta-variables and return those that were not already frozen.
unfreezeMetas :: TCM () Source #
Thaw all meta variables.
isFrozen :: (MonadFail m, ReadTCState m) => MetaId -> m Bool Source #
data CheckResult where Source #
The result and associated parameters of a type-checked file, when invoked directly via interaction or a backend. Note that the constructor is not exported.
Bundled Patterns
pattern CheckResult :: Interface -> [TCWarning] -> ModuleCheckMode -> Source -> CheckResult | Flattened unidirectional pattern for |
crInterface :: CheckResult -> Interface Source #
crWarnings :: CheckResult -> [TCWarning] Source #
crMode :: CheckResult -> ModuleCheckMode Source #
activeBackendMayEraseType :: QName -> TCM Bool Source #
Ask the active backend whether a type may be erased. See issue #3732.
backendInteraction :: AbsolutePath -> [Backend] -> TCM () -> (AbsolutePath -> TCM CheckResult) -> TCM () Source #
parseBackendOptions :: [Backend] -> [String] -> CommandLineOptions -> OptM ([Backend], CommandLineOptions) Source #
callBackend :: String -> IsMain -> CheckResult -> TCM () Source #
Call the compilerMain
function of the given backend.
lookupBackend :: BackendName -> TCM (Maybe Backend) Source #
Look for a backend of the given name.
activeBackend :: TCM (Maybe Backend) Source #
Get the currently active backend (if any).