Safe Haskell | Safe-Inferred |
---|---|
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 TopLevelModuleName mod -> TCM ()
- preModule :: env -> IsMain -> TopLevelModuleName -> Maybe FilePath -> TCM (Recompile menv mod)
- postModule :: env -> menv -> IsMain -> TopLevelModuleName -> [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
- data Constraint
- = ValueCmp Comparison CompareAs Term Term
- | ValueCmpOnFace Comparison Term Type Term Term
- | ElimCmp [Polarity] [IsForced] Type Term [Elim] [Elim]
- | SortCmp Comparison Sort Sort
- | LevelCmp Comparison Level Level
- | HasBiggerSort Sort
- | HasPTSRule (Dom Type) (Abs Sort)
- | CheckDataSort QName Sort
- | CheckMetaInst MetaId
- | CheckType Type
- | UnBlock MetaId
- | IsEmpty Range Type
- | CheckSizeLtSat Term
- | FindInstance MetaId (Maybe [Candidate])
- | CheckFunDef DefInfo QName [Clause] TCErr
- | UnquoteTactic Term Term Type
- | CheckLockedVars Term Type (Arg Term) Type
- | UsableAtModality WhyCheckModality (Maybe Sort) Modality Term
- 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
- | IllegalHidingInPostfixProjection (NamedArg Expr)
- | WrongNamedArgument (NamedArg Expr) [NamedName]
- | WrongIrrelevanceInLambda
- | WrongQuantityInLambda
- | WrongCohesionInLambda
- | QuantityMismatch Quantity Quantity
- | HidingMismatch Hiding Hiding
- | RelevanceMismatch Relevance Relevance
- | UninstantiatedDotPattern Expr
- | ForcedConstructorNotInstantiated Pattern
- | IllformedProjectionPatternAbstract Pattern
- | IllformedProjectionPatternConcrete 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
- | UnequalFiniteness 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 BuiltinId Expr
- | NoSuchBuiltinName String
- | DuplicateBuiltinBinding BuiltinId Term Term
- | NoBindingForBuiltin BuiltinId
- | NoSuchPrimitiveFunction String
- | DuplicatePrimitiveBinding PrimitiveId QName QName
- | WrongArgInfoForPrimitive PrimitiveId ArgInfo ArgInfo
- | ShadowedModule Name [ModuleName]
- | BuiltinInParameterisedModule BuiltinId
- | IllegalDeclarationInDataDefinition [Declaration]
- | 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
- | ReferencesFutureVariables Term (NonEmpty Int) (Arg Term) Int
- | DoesNotMentionTicks Term Type (Arg Term)
- | MismatchedProjectionsError QName QName
- | AttributeKindNotEnabled String String String
- | 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 AmbiguousNameReason
- | 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
- | GeneralizedVarInLetOpenedModule 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
- | UnboundVariablesInPatternSynonym [Name]
- | NoParseForApplication (List2 Expr)
- | AmbiguousParseForApplication (List2 Expr) (List1 Expr)
- | NoParseForLHS LHSOrPatSyn [Pattern] Pattern
- | AmbiguousParseForLHS LHSOrPatSyn Pattern [Pattern]
- | AmbiguousProjectionError (List1 QName) Doc
- | 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 Comparison
- data ModuleInfo = ModuleInfo {}
- data System = System {
- systemTel :: Telescope
- systemClauses :: [(Face, Term)]
- type TCM = TCMT IO
- data Signature = Sig {}
- type Context = [ContextEntry]
- type Constraints = [ProblemConstraint]
- data Builtin pf
- 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
- newtype ReduceM a = ReduceM {}
- 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
- getProfileOptions :: m ProfileOptions
- isDebugPrinting :: m Bool
- nowDebugPrinting :: m a -> m a
- data HighlightingLevel
- data HighlightingMethod
- data Polarity
- data TCErr
- data Open a = OpenThing {}
- data MetaInfo = MetaInfo {}
- data Warning
- = NicifierIssue DeclarationWarning
- | TerminationIssue [TerminationError]
- | UnreachableClauses QName [Range]
- | CoverageIssue QName [(Telescope, [NamedArg DeBruijnPattern])]
- | CoverageNoExactSplit QName [Clause]
- | InlineNoExactSplit QName Clause
- | NotStrictlyPositive QName (Seq OccursWhere)
- | UnsolvedMetaVariables [Range]
- | UnsolvedInteractionMetas [Range]
- | UnsolvedConstraints Constraints
- | InteractionMetaBoundaries [Range]
- | CantGeneralizeOverSorts [MetaId]
- | AbsurdPatternRequiresNoRHS [NamedArg DeBruijnPattern]
- | OldBuiltin BuiltinId BuiltinId
- | 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
- | OptionWarning OptionWarning
- | ParseWarning ParseWarning
- | LibraryWarning LibWarning
- | DeprecationWarning String String String
- | UserWarning Text
- | DuplicateUsing (List1 ImportedName)
- | FixityInRenamingModule (List1 Range)
- | ModuleDoesntExport QName [Name] [Name] [ImportedName]
- | InfectiveImport Doc
- | CoInfectiveImport Doc
- | RewriteNonConfluent Term Term Term Doc
- | RewriteMaybeNonConfluent Term Term [Doc]
- | RewriteAmbiguousRules Term Term Term
- | RewriteMissingRule Term Term Term
- | PragmaCompileErased BackendName QName
- | NotInScopeW [QName]
- | UnsupportedIndexedMatch Doc
- | AsPatternShadowsConstructorOrPatternSynonym Bool
- | PlentyInHardCompileTimeMode QωOrigin
- | RecordFieldWarning RecordFieldWarning
- | NotAffectedByOpaque
- | UnfoldTransparentName QName
- | UselessOpaque
- data TCWarning = TCWarning {}
- data NamedMeta = NamedMeta {}
- type ModuleToSource = Map TopLevelModuleName AbsolutePath
- type Definitions = HashMap QName Definition
- data IPFace' t = IPFace' {}
- class (Functor m, Applicative m, Monad m) => HasOptions m where
- class Monad m => MonadTCEnv m where
- class (Applicative tcm, MonadIO tcm, MonadTCEnv tcm, MonadTCState tcm, HasOptions tcm) => MonadTCM tcm where
- class Monad m => MonadTCState m where
- class Monad m => ReadTCState m where
- getTCState :: m TCState
- locallyTCState :: Lens' TCState a -> (a -> a) -> m b -> m b
- withTCState :: (TCState -> TCState) -> m a -> m a
- newtype TCMT m a = TCM {}
- data SomeBuiltin
- data LHSOrPatSyn
- class (Functor m, Applicative m, MonadFail m) => HasBuiltins m where
- getBuiltinThing :: SomeBuiltin -> m (Maybe (Builtin PrimFun))
- data DisplayForm = Display {
- dfPatternVars :: Nat
- dfPats :: Elims
- dfRHS :: DisplayTerm
- 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
- | CheckConArgFitsIn QName Bool Type Sort
- | CheckFunDefCall Range QName [Clause] Bool
- | CheckPragma Range Pragma
- | CheckPrimitive Range QName Expr
- | CheckIsEmpty Range Type
- | CheckConfluence QName QName
- | CheckWithFunctionType Type
- | CheckSectionApplication Range Erased ModuleName ModuleApplication
- | CheckNamedWhere ModuleName
- | CheckIApplyConfluence Range QName Term Term Term Type
- | ScopeCheckExpr Expr
- | ScopeCheckDeclaration NiceDeclaration
- | ScopeCheckLHS QName Pattern
- | NoHighlighting
- | ModuleContents
- | SetRange Range
- 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 Closure a = Closure {}
- data BuiltinId
- = BuiltinNat
- | BuiltinSuc
- | BuiltinZero
- | BuiltinNatPlus
- | BuiltinNatMinus
- | BuiltinNatTimes
- | BuiltinNatDivSucAux
- | BuiltinNatModSucAux
- | BuiltinNatEquals
- | BuiltinNatLess
- | BuiltinWord64
- | BuiltinInteger
- | BuiltinIntegerPos
- | BuiltinIntegerNegSuc
- | BuiltinFloat
- | BuiltinChar
- | BuiltinString
- | BuiltinUnit
- | BuiltinUnitUnit
- | BuiltinSigma
- | BuiltinSigmaCon
- | BuiltinBool
- | BuiltinTrue
- | BuiltinFalse
- | BuiltinList
- | BuiltinNil
- | BuiltinCons
- | BuiltinMaybe
- | BuiltinNothing
- | BuiltinJust
- | BuiltinIO
- | BuiltinId
- | BuiltinReflId
- | BuiltinPath
- | BuiltinPathP
- | BuiltinIntervalUniv
- | BuiltinInterval
- | BuiltinIZero
- | BuiltinIOne
- | BuiltinPartial
- | BuiltinPartialP
- | BuiltinIsOne
- | BuiltinItIsOne
- | BuiltinEquiv
- | BuiltinEquivFun
- | BuiltinEquivProof
- | BuiltinTranspProof
- | BuiltinIsOne1
- | BuiltinIsOne2
- | BuiltinIsOneEmpty
- | BuiltinSub
- | BuiltinSubIn
- | BuiltinSizeUniv
- | BuiltinSize
- | BuiltinSizeLt
- | BuiltinSizeSuc
- | BuiltinSizeInf
- | BuiltinSizeMax
- | BuiltinInf
- | BuiltinSharp
- | BuiltinFlat
- | BuiltinEquality
- | BuiltinRefl
- | BuiltinRewrite
- | BuiltinLevelMax
- | BuiltinLevel
- | BuiltinLevelZero
- | BuiltinLevelSuc
- | BuiltinProp
- | BuiltinSet
- | BuiltinStrictSet
- | BuiltinPropOmega
- | BuiltinSetOmega
- | BuiltinSSetOmega
- | BuiltinLevelUniv
- | BuiltinFromNat
- | BuiltinFromNeg
- | BuiltinFromString
- | BuiltinQName
- | BuiltinAgdaSort
- | BuiltinAgdaSortSet
- | BuiltinAgdaSortLit
- | BuiltinAgdaSortProp
- | BuiltinAgdaSortPropLit
- | BuiltinAgdaSortInf
- | BuiltinAgdaSortUnsupported
- | BuiltinHiding
- | BuiltinHidden
- | BuiltinInstance
- | BuiltinVisible
- | BuiltinRelevance
- | BuiltinRelevant
- | BuiltinIrrelevant
- | BuiltinQuantity
- | BuiltinQuantity0
- | BuiltinQuantityω
- | BuiltinModality
- | BuiltinModalityConstructor
- | BuiltinAssoc
- | BuiltinAssocLeft
- | BuiltinAssocRight
- | BuiltinAssocNon
- | BuiltinPrecedence
- | BuiltinPrecRelated
- | BuiltinPrecUnrelated
- | BuiltinFixity
- | BuiltinFixityFixity
- | BuiltinArg
- | BuiltinArgInfo
- | BuiltinArgArgInfo
- | BuiltinArgArg
- | BuiltinAbs
- | BuiltinAbsAbs
- | BuiltinAgdaTerm
- | BuiltinAgdaTermVar
- | BuiltinAgdaTermLam
- | BuiltinAgdaTermExtLam
- | BuiltinAgdaTermDef
- | BuiltinAgdaTermCon
- | BuiltinAgdaTermPi
- | BuiltinAgdaTermSort
- | BuiltinAgdaTermLit
- | BuiltinAgdaTermUnsupported
- | BuiltinAgdaTermMeta
- | BuiltinAgdaErrorPart
- | BuiltinAgdaErrorPartString
- | BuiltinAgdaErrorPartTerm
- | BuiltinAgdaErrorPartPatt
- | BuiltinAgdaErrorPartName
- | BuiltinAgdaLiteral
- | BuiltinAgdaLitNat
- | BuiltinAgdaLitWord64
- | BuiltinAgdaLitFloat
- | BuiltinAgdaLitChar
- | BuiltinAgdaLitString
- | BuiltinAgdaLitQName
- | BuiltinAgdaLitMeta
- | BuiltinAgdaClause
- | BuiltinAgdaClauseClause
- | BuiltinAgdaClauseAbsurd
- | BuiltinAgdaPattern
- | BuiltinAgdaPatVar
- | BuiltinAgdaPatCon
- | BuiltinAgdaPatDot
- | BuiltinAgdaPatLit
- | BuiltinAgdaPatProj
- | BuiltinAgdaPatAbsurd
- | BuiltinAgdaDefinitionFunDef
- | BuiltinAgdaDefinitionDataDef
- | BuiltinAgdaDefinitionRecordDef
- | BuiltinAgdaDefinitionDataConstructor
- | BuiltinAgdaDefinitionPostulate
- | BuiltinAgdaDefinitionPrimitive
- | BuiltinAgdaDefinition
- | BuiltinAgdaMeta
- | BuiltinAgdaTCM
- | BuiltinAgdaTCMReturn
- | BuiltinAgdaTCMBind
- | BuiltinAgdaTCMUnify
- | BuiltinAgdaTCMTypeError
- | BuiltinAgdaTCMInferType
- | BuiltinAgdaTCMCheckType
- | BuiltinAgdaTCMNormalise
- | BuiltinAgdaTCMReduce
- | BuiltinAgdaTCMCatchError
- | BuiltinAgdaTCMGetContext
- | BuiltinAgdaTCMExtendContext
- | BuiltinAgdaTCMInContext
- | BuiltinAgdaTCMFreshName
- | BuiltinAgdaTCMDeclareDef
- | BuiltinAgdaTCMDeclarePostulate
- | BuiltinAgdaTCMDeclareData
- | BuiltinAgdaTCMDefineData
- | BuiltinAgdaTCMDefineFun
- | BuiltinAgdaTCMGetType
- | BuiltinAgdaTCMGetDefinition
- | BuiltinAgdaTCMBlock
- | BuiltinAgdaTCMCommit
- | BuiltinAgdaTCMQuoteTerm
- | BuiltinAgdaTCMUnquoteTerm
- | BuiltinAgdaTCMQuoteOmegaTerm
- | BuiltinAgdaTCMIsMacro
- | BuiltinAgdaTCMWithNormalisation
- | BuiltinAgdaTCMWithReconstructed
- | BuiltinAgdaTCMWithExpandLast
- | BuiltinAgdaTCMWithReduceDefs
- | BuiltinAgdaTCMAskNormalisation
- | BuiltinAgdaTCMAskReconstructed
- | BuiltinAgdaTCMAskExpandLast
- | BuiltinAgdaTCMAskReduceDefs
- | BuiltinAgdaTCMFormatErrorParts
- | BuiltinAgdaTCMDebugPrint
- | BuiltinAgdaTCMNoConstraints
- | BuiltinAgdaTCMRunSpeculative
- | BuiltinAgdaTCMExec
- | BuiltinAgdaTCMGetInstances
- | BuiltinAgdaTCMPragmaForeign
- | BuiltinAgdaTCMPragmaCompile
- | BuiltinAgdaBlocker
- | BuiltinAgdaBlockerAny
- | BuiltinAgdaBlockerAll
- | BuiltinAgdaBlockerMeta
- data PrimitiveId
- = PrimConId
- | PrimIdElim
- | PrimIMin
- | PrimIMax
- | PrimINeg
- | PrimPartial
- | PrimPartialP
- | PrimSubOut
- | PrimGlue
- | Prim_glue
- | Prim_unglue
- | Prim_glueU
- | Prim_unglueU
- | PrimFaceForall
- | PrimComp
- | PrimPOr
- | PrimTrans
- | PrimDepIMin
- | PrimIdFace
- | PrimIdPath
- | PrimHComp
- | PrimShowInteger
- | PrimNatPlus
- | PrimNatMinus
- | PrimNatTimes
- | PrimNatDivSucAux
- | PrimNatModSucAux
- | PrimNatEquality
- | PrimNatLess
- | PrimShowNat
- | PrimWord64FromNat
- | PrimWord64ToNat
- | PrimWord64ToNatInjective
- | PrimLevelZero
- | PrimLevelSuc
- | PrimLevelMax
- | PrimFloatEquality
- | PrimFloatInequality
- | PrimFloatLess
- | PrimFloatIsInfinite
- | PrimFloatIsNaN
- | PrimFloatIsNegativeZero
- | PrimFloatIsSafeInteger
- | PrimFloatToWord64
- | PrimFloatToWord64Injective
- | PrimNatToFloat
- | PrimIntToFloat
- | PrimFloatRound
- | PrimFloatFloor
- | PrimFloatCeiling
- | PrimFloatToRatio
- | PrimRatioToFloat
- | PrimFloatDecode
- | PrimFloatEncode
- | PrimShowFloat
- | PrimFloatPlus
- | PrimFloatMinus
- | PrimFloatTimes
- | PrimFloatNegate
- | PrimFloatDiv
- | PrimFloatPow
- | PrimFloatSqrt
- | PrimFloatExp
- | PrimFloatLog
- | PrimFloatSin
- | PrimFloatCos
- | PrimFloatTan
- | PrimFloatASin
- | PrimFloatACos
- | PrimFloatATan
- | PrimFloatATan2
- | PrimFloatSinh
- | PrimFloatCosh
- | PrimFloatTanh
- | PrimFloatASinh
- | PrimFloatACosh
- | PrimFloatATanh
- | PrimCharEquality
- | PrimIsLower
- | PrimIsDigit
- | PrimIsAlpha
- | PrimIsSpace
- | PrimIsAscii
- | PrimIsLatin1
- | PrimIsPrint
- | PrimIsHexDigit
- | PrimToUpper
- | PrimToLower
- | PrimCharToNat
- | PrimCharToNatInjective
- | PrimNatToChar
- | PrimShowChar
- | PrimStringToList
- | PrimStringToListInjective
- | PrimStringFromList
- | PrimStringFromListInjective
- | PrimStringAppend
- | PrimStringEquality
- | PrimShowString
- | PrimStringUncons
- | PrimErase
- | PrimEraseEquality
- | PrimForce
- | PrimForceLemma
- | PrimQNameEquality
- | PrimQNameLess
- | PrimShowQName
- | PrimQNameFixity
- | PrimQNameToWord64s
- | PrimQNameToWord64sInjective
- | PrimMetaEquality
- | PrimMetaLess
- | PrimShowMeta
- | PrimMetaToNat
- | PrimMetaToNatInjective
- | PrimLockUniv
- type Verbosity = Maybe (Trie VerboseKeyItem VerboseLevel)
- type VerboseKey = String
- type VerboseLevel = Int
- class MonadTCEnv m => MonadAddContext m where
- addCtx :: Name -> Dom Type -> m a -> m a
- addLetBinding' :: Origin -> Name -> Term -> Dom Type -> m a -> m a
- updateContext :: Substitution -> (Context -> Context) -> m a -> m a
- withFreshName :: Range -> ArgName -> (Name -> m a) -> m a
- class (Applicative m, MonadTCEnv m, ReadTCState m, HasOptions m) => MonadReduce m where
- liftReduce :: ReduceM a -> m a
- class ReadTCState m => MonadStatistics m where
- modifyCounter :: String -> (Integer -> Integer) -> m ()
- type Statistics = Map String Integer
- data CompilerPragma = CompilerPragma Range String
- type Offset = Nat
- 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
- envRelevance :: Relevance
- envQuantity :: Quantity
- envHardCompileTimeMode :: Bool
- envSplitOnStrict :: Bool
- envDisplayFormsEnabled :: Bool
- envFoldLetBindings :: Bool
- envRange :: Range
- envHighlightingRange :: Range
- envClause :: IPClause
- envCall :: Maybe (Closure Call)
- envHighlightingLevel :: HighlightingLevel
- envHighlightingMethod :: HighlightingMethod
- envExpandLast :: ExpandHidden
- envAppDef :: Maybe QName
- envSimplification :: Simplification
- envAllowedReductions :: AllowedReductions
- envReduceDefs :: ReduceDefs
- envReconstructed :: Bool
- envInjectivityDepth :: Int
- envCompareBlocked :: Bool
- envPrintDomainFreePi :: Bool
- envPrintMetasBare :: Bool
- envInsideDotPattern :: Bool
- envUnquoteFlags :: UnquoteFlags
- envInstanceDepth :: !Int
- envIsDebugPrinting :: Bool
- envPrintingPatternLambdas :: [QName]
- envCallByNeed :: Bool
- envCurrentCheckpoint :: CheckpointId
- envCheckpoints :: Map CheckpointId Substitution
- envGeneralizeMetas :: DoGeneralize
- envGeneralizedVars :: Map QName GeneralizedValue
- envActiveBackendName :: Maybe BackendName
- envConflComputingOverlap :: Bool
- envCurrentlyElaborating :: Bool
- envSyntacticEqualityFuel :: !(Maybe Int)
- envCurrentOpaqueId :: !(Maybe OpaqueId)
- 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 Interface = Interface {
- iSourceHash :: Hash
- iSource :: Text
- iFileType :: FileType
- iImportedModules :: [(TopLevelModuleName, Hash)]
- iModuleName :: ModuleName
- iTopLevelModuleName :: TopLevelModuleName
- iScope :: Map ModuleName Scope
- iInsideScope :: ScopeInfo
- iSignature :: Signature
- iMetaBindings :: RemoteMetaStore
- iDisplayForms :: DisplayForms
- iUserWarnings :: Map QName Text
- iImportWarning :: Maybe Text
- iBuiltin :: BuiltinThings (PrimitiveId, QName)
- iForeignCode :: Map BackendName ForeignCodeStack
- iHighlighting :: HighlightingInfo
- iDefaultPragmaOptions :: [OptionsPragma]
- iFilePragmaOptions :: [OptionsPragma]
- iOptionsUsed :: PragmaOptions
- iPatternSyns :: PatternSynDefns
- iWarnings :: [TCWarning]
- iPartialDefs :: Set QName
- iOpaqueBlocks :: Map OpaqueId OpaqueBlock
- iOpaqueNames :: Map QName OpaqueId
- type MonadTCError m = (MonadTCEnv m, ReadTCState m, MonadError TCErr m)
- type BackendName = String
- data TCState = TCSt {}
- class (MonadTCEnv m, ReadTCState m) => MonadInteractionPoints m where
- freshInteractionId :: m InteractionId
- modifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> m ()
- class (HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => PureTCM m
- type RewriteRules = [RewriteRule]
- data SigError
- data PrimFun = PrimFun {
- primFunName :: QName
- primFunArity :: Arity
- primFunArgOccurrences :: [Occurrence]
- primFunImplementation :: [Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)
- data RunMetaOccursCheck
- data CompareAs
- data CompareDirection
- data MetaVariable = MetaVar {}
- 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 ()
- class Monad m => MonadBlock m where
- patternViolation :: Blocker -> m a
- catchPatternErr :: (Blocker -> m a) -> m a -> m a
- data Reduced no yes
- = NoReduction no
- | YesReduction Simplification yes
- data ProblemConstraint = PConstr {}
- class IsBuiltin a where
- someBuiltin :: a -> SomeBuiltin
- getBuiltinId :: a -> String
- newtype Fields = Fields [(Name, Type)]
- data ForeignCode = ForeignCode Range String
- data LetBinding = LetBinding {}
- newtype Section = Section {}
- data PreScopeState = PreScopeState {
- stPreTokens :: !HighlightingInfo
- stPreImports :: !Signature
- stPreImportedModules :: !(Set TopLevelModuleName)
- 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 ForeignCodeStack)
- stPreFreshInteractionId :: !InteractionId
- stPreImportedUserWarnings :: !(Map QName Text)
- stPreLocalUserWarnings :: !(Map QName Text)
- stPreWarningOnImport :: !(Maybe Text)
- stPreImportedPartialDefs :: !(Set QName)
- stPreProjectConfigs :: !(Map FilePath ProjectConfig)
- stPreAgdaLibFiles :: !(Map FilePath AgdaLibFile)
- stPreImportedMetaStore :: !RemoteMetaStore
- data PostScopeState = PostScopeState {
- stPostSyntaxInfo :: !HighlightingInfo
- stPostDisambiguatedNames :: !DisambiguatedNames
- stPostOpenMetaStore :: !LocalMetaStore
- stPostSolvedMetaStore :: !LocalMetaStore
- stPostInteractionPoints :: !InteractionPoints
- stPostAwakeConstraints :: !Constraints
- stPostSleepingConstraints :: !Constraints
- stPostDirty :: !Bool
- stPostOccursCheckDefs :: !(Set QName)
- stPostSignature :: !Signature
- stPostModuleCheckpoints :: !(Map ModuleName CheckpointId)
- stPostImportsDisplayForms :: !DisplayForms
- stPostCurrentModule :: !(Maybe (ModuleName, TopLevelModuleName))
- stPostInstanceDefs :: !TempInstanceTable
- stPostConcreteNames :: !ConcreteNames
- stPostUsedNames :: !(Map RawName (DList RawName))
- stPostShadowingNames :: !(Map Name (DList RawName))
- stPostStatistics :: !Statistics
- stPostTCWarnings :: ![TCWarning]
- stPostMutualBlocks :: !(Map MutualId MutualBlock)
- stPostLocalBuiltins :: !(BuiltinThings PrimFun)
- stPostFreshMetaId :: !MetaId
- stPostFreshMutualId :: !MutualId
- stPostFreshProblemId :: !ProblemId
- stPostFreshCheckpointId :: !CheckpointId
- stPostFreshInt :: !Int
- stPostFreshNameId :: !NameId
- stPostFreshOpaqueId :: !OpaqueId
- stPostAreWeCaching :: !Bool
- stPostPostponeInstanceSearch :: !Bool
- stPostConsideringInstance :: !Bool
- stPostInstantiateBlocking :: !Bool
- stPostLocalPartialDefs :: !(Set QName)
- stPostOpaqueBlocks :: Map OpaqueId OpaqueBlock
- stPostOpaqueIds :: Map QName OpaqueId
- data PersistentTCState = PersistentTCSt {
- stDecodedModules :: !DecodedModules
- stPersistentTopLevelModuleNames :: !(BiMap RawTopLevelModuleName ModuleNameHash)
- stPersistentOptions :: CommandLineOptions
- stInteractionOutputCallback :: InteractionOutputCallback
- stBenchmark :: !Benchmark
- stAccumStatistics :: !Statistics
- stPersistLoadedFileCache :: !(Maybe LoadedFileCache)
- stPersistBackends :: [Backend]
- type VisitedModules = Map TopLevelModuleName ModuleInfo
- type BuiltinThings pf = Map SomeBuiltin (Builtin pf)
- type DisplayForms = HashMap QName [LocalDisplayForm]
- type InstanceTable = Map QName (Set QName)
- newtype ForeignCodeStack = ForeignCodeStack {}
- type RemoteMetaStore = HashMap MetaId RemoteMetaVariable
- data DisambiguatedName = DisambiguatedName NameKind QName
- type DisambiguatedNames = IntMap DisambiguatedName
- type ConcreteNames = Map Name [Name]
- type LocalMetaStore = Map MetaId MetaVariable
- type InteractionPoints = BiMap InteractionId InteractionPoint
- newtype CheckpointId = CheckpointId Int
- type TempInstanceTable = (InstanceTable, Set QName)
- newtype MutualId = MutId Int32
- data MutualBlock = MutualBlock {}
- data OpaqueBlock = OpaqueBlock {
- opaqueId :: !OpaqueId
- opaqueUnfolding :: HashSet QName
- opaqueDecls :: HashSet QName
- opaqueParent :: Maybe OpaqueId
- opaqueRange :: Range
- type DecodedModules = Map TopLevelModuleName ModuleInfo
- data LoadedFileCache = LoadedFileCache {}
- type CachedTypeCheckLog = [(TypeCheckAction, PostScopeState)]
- type CurrentTypeCheckLog = [(TypeCheckAction, PostScopeState)]
- data TypeCheckAction
- class Enum i => HasFresh i where
- freshLens :: Lens' TCState i
- nextFresh' :: i -> i
- class Monad m => MonadFresh i m where
- fresh :: m i
- class FreshName a where
- freshName_ :: MonadFresh NameId m => a -> m Name
- class Monad m => MonadStConcreteNames m where
- runStConcreteNames :: StateT ConcreteNames m a -> m a
- useConcreteNames :: m ConcreteNames
- modifyConcreteNames :: (ConcreteNames -> ConcreteNames) -> m ()
- data ModuleCheckMode
- class LensClosure b a | b -> a where
- lensClosure :: Lens' b (Closure a)
- class LensTCEnv a where
- data WhyCheckModality
- data IsForced
- data Candidate = Candidate {}
- data Judgement a
- = HasType {
- jMetaId :: a
- jComparison :: Comparison
- jMetaType :: Type
- | IsSort { }
- = HasType {
- data DoGeneralize
- data GeneralizedValue = GeneralizedValue {}
- newtype MetaPriority = MetaPriority Int
- data MetaInstantiation
- data Listener
- data Frozen
- data Instantiation = Instantiation {}
- 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 RemoteMetaVariable = RemoteMetaVariable {}
- data CheckedTarget
- data PrincipalArgTypeMetas = PrincipalArgTypeMetas {
- patmMetas :: Args
- patmRemainder :: Type
- data ExpandHidden
- data ArgsCheckState a = ACState {}
- type MetaNameSuggestion = String
- data InteractionPoint = InteractionPoint {}
- data IPClause
- = IPClause {
- ipcQName :: QName
- ipcClauseNo :: Int
- ipcType :: Type
- ipcWithSub :: Maybe Substitution
- ipcClause :: SpineClause
- ipcClosure :: Closure ()
- | IPNoClause
- = IPClause {
- type IPBoundary = IPBoundary' Term
- data Overapplied
- newtype IPBoundary' t = IPBoundary {
- getBoundary :: Map (IntMap Bool) t
- type Sections = Map ModuleName Section
- type RewriteRuleMap = HashMap QName RewriteRules
- type LocalDisplayForm = Open DisplayForm
- data DisplayTerm
- data NLPat
- type PElims = [Elim' NLPat]
- data NLPType = NLPType {}
- data NLPSort
- data RewriteRule = RewriteRule {}
- data Defn
- data NumGeneralizableArgs
- type CompiledRepresentation = Map BackendName [CompilerPragma]
- type Face = [(Term, Bool)]
- data ExtLamInfo = ExtLamInfo {
- extLamModule :: ModuleName
- extLamAbsurd :: Bool
- extLamSys :: !(Maybe System)
- data Projection = Projection {}
- newtype ProjLams = ProjLams {
- getProjLams :: [Arg ArgName]
- data EtaEquality
- = Specified {
- theEtaEquality :: !HasEta
- | Inferred {
- theEtaEquality :: !HasEta
- = Specified {
- data FunctionFlag
- data CompKit = CompKit {}
- data AxiomData = AxiomData {}
- data DataOrRecSigData = DataOrRecSigData {
- _datarecPars :: Int
- data FunctionData = FunctionData {
- _funClauses :: [Clause]
- _funCompiled :: Maybe CompiledClauses
- _funSplitTree :: Maybe SplitTree
- _funTreeless :: Maybe Compiled
- _funCovering :: [Clause]
- _funInv :: FunctionInverse
- _funMutual :: Maybe [QName]
- _funAbstr :: IsAbstract
- _funProjection :: Either ProjectionLikenessMissing Projection
- _funErasure :: !Bool
- _funFlags :: Set FunctionFlag
- _funTerminates :: Maybe Bool
- _funExtLam :: Maybe ExtLamInfo
- _funWith :: Maybe QName
- _funIsKanOp :: Maybe QName
- _funOpaque :: IsOpaque
- data DatatypeData = DatatypeData {
- _dataPars :: Nat
- _dataIxs :: Nat
- _dataClause :: Maybe Clause
- _dataCons :: [QName]
- _dataSort :: Sort
- _dataMutual :: Maybe [QName]
- _dataAbstr :: IsAbstract
- _dataPathCons :: [QName]
- _dataTranspIx :: Maybe QName
- _dataTransp :: Maybe QName
- data RecordData = RecordData {
- _recPars :: Nat
- _recClause :: Maybe Clause
- _recConHead :: ConHead
- _recNamedCon :: Bool
- _recFields :: [Dom QName]
- _recTel :: Telescope
- _recMutual :: Maybe [QName]
- _recEtaEquality' :: EtaEquality
- _recPatternMatching :: PatternOrCopattern
- _recInduction :: Maybe Induction
- _recTerminates :: Maybe Bool
- _recAbstr :: IsAbstract
- _recComp :: CompKit
- data ConstructorData = ConstructorData {
- _conPars :: Int
- _conArity :: Int
- _conSrcCon :: ConHead
- _conData :: QName
- _conAbstr :: IsAbstract
- _conComp :: CompKit
- _conProj :: Maybe [QName]
- _conForced :: [IsForced]
- _conErased :: Maybe [Bool]
- _conErasure :: !Bool
- _conInline :: !Bool
- data PrimitiveData = PrimitiveData {}
- data PrimitiveSortData = PrimitiveSortData {}
- data ProjectionLikenessMissing
- type FunctionInverse = FunctionInverse' Clause
- data BuiltinSort
- data FunctionInverse' c
- = NotInjective
- | Inverse (InversionMap c)
- data Simplification
- data IsReduced
- = NotReduced
- | Reduced (Blocked ())
- data MaybeReduced a = MaybeRed {
- isReduced :: IsReduced
- ignoreReduced :: a
- type MaybeReducedArgs = [MaybeReduced (Arg Term)]
- type MaybeReducedElims = [MaybeReduced Elim]
- data AllowedReduction
- type AllowedReductions = SmallSet AllowedReduction
- data ReduceDefs
- = OnlyReduceDefs (Set QName)
- | DontReduceDefs (Set QName)
- data PrimitiveImpl = PrimImpl Type PrimFun
- type InversionMap c = Map TermHead [c]
- data TermHead
- data BuiltinDescriptor
- = BuiltinData (TCM Type) [BuiltinId]
- | BuiltinDataCons (TCM Type)
- | BuiltinPrim PrimitiveId (Term -> TCM ())
- | BuiltinSort BuiltinSort
- | BuiltinPostulate Relevance (TCM Type)
- | BuiltinUnknown (Maybe (TCM Type)) (Term -> Type -> TCM ())
- data BuiltinInfo = BuiltinInfo {}
- type LetBindings = Map Name (Open LetBinding)
- data AbstractMode
- data UnquoteFlags = UnquoteFlags {}
- type ContextEntry = Dom (Name, Type)
- data CandidateKind
- data TerminationError = TerminationError {
- termErrFunctions :: [QName]
- termErrCalls :: [CallInfo]
- data RecordFieldWarning
- = DuplicateFieldsWarning [(Name, Range)]
- | TooManyFieldsWarning QName [Name] [(Name, Range)]
- data CallInfo = CallInfo {}
- data ErasedDatatypeReason
- data SplitError
- = NotADatatype (Closure Type)
- | BlockedType Blocker (Closure Type)
- | ErasedDatatype ErasedDatatypeReason (Closure Type)
- | CoinductiveDatatype (Closure Type)
- | UnificationStuck { }
- | CosplitCatchall
- | CosplitNoTarget
- | CosplitNoRecordType (Closure Type)
- | CannotCreateMissingClause QName (Telescope, [NamedArg DeBruijnPattern]) Doc (Closure (Abs Type))
- | GenericSplitError String
- data UnificationFailure
- data NegativeUnification
- data UnquoteError
- data ReduceEnv = ReduceEnv {}
- newtype BlockT m a = BlockT {}
- class ReportS a where
- reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m ()
- class TraceS a where
- traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> a -> m c -> m c
- newtype BuiltinAccess a = BuiltinAccess {
- unBuiltinAccess :: TCState -> a
- data CoinductionKit = CoinductionKit {
- nameOfInf :: QName
- nameOfSharp :: QName
- nameOfFlat :: QName
- data SortKit = SortKit {
- nameOfUniv :: UnivSize -> Univ -> QName
- isNameOfUniv :: QName -> Maybe (UnivSize, Univ)
- class EqualityUnview a where
- equalityUnview :: a -> Type
- data SpeculateResult
- 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 ()
- class AddContext b where
- addContext :: MonadAddContext m => b -> m a -> m a
- contextSize :: b -> Nat
- newtype KeepNames a = KeepNames a
- data ConstraintStatus
- data BoundedSize
- class IsSizeType a where
- isSizeType :: (HasOptions m, HasBuiltins m) => a -> m (Maybe BoundedSize)
- data SizeView
- data ProjectedVar = ProjectedVar {
- pvIndex :: Int
- prProjs :: [(ProjOrigin, QName)]
- data DeepSizeView
- data SizeViewComparable a
- type SizeMaxView = List1 DeepSizeView
- type SizeMaxView' = [DeepSizeView]
- data MetaKind
- data KeepMetas
- data LocalMetaStores = LocalMetaStores {}
- class IsInstantiatedMeta a where
- isInstantiatedMeta :: (MonadFail m, ReadTCState m) => a -> m Bool
- class UnFreezeMeta a where
- unfreezeMeta :: MonadMetaSolver m => a -> m ()
- pattern Datatype :: Nat -> Nat -> Maybe Clause -> [QName] -> Sort -> Maybe [QName] -> IsAbstract -> [QName] -> Maybe QName -> Maybe QName -> Defn
- pattern Constructor :: Int -> Int -> ConHead -> QName -> IsAbstract -> CompKit -> Maybe [QName] -> [IsForced] -> Maybe [Bool] -> Bool -> Bool -> Defn
- pattern Function :: [Clause] -> Maybe CompiledClauses -> Maybe SplitTree -> Maybe Compiled -> [Clause] -> FunctionInverse -> Maybe [QName] -> IsAbstract -> Either ProjectionLikenessMissing Projection -> Bool -> Set FunctionFlag -> Maybe Bool -> Maybe ExtLamInfo -> Maybe QName -> Maybe QName -> IsOpaque -> Defn
- pattern Primitive :: IsAbstract -> PrimitiveId -> [Clause] -> FunctionInverse -> Maybe CompiledClauses -> IsOpaque -> Defn
- pattern Record :: Nat -> Maybe Clause -> ConHead -> Bool -> [Dom QName] -> Telescope -> Maybe [QName] -> EtaEquality -> PatternOrCopattern -> Maybe Induction -> Maybe Bool -> IsAbstract -> CompKit -> Defn
- pattern Axiom :: Bool -> Defn
- pattern DDot :: Term -> DisplayTerm
- pattern DTerm :: Term -> DisplayTerm
- pattern PType :: NLPat -> NLPSort
- pattern PProp :: NLPat -> NLPSort
- pattern PSSet :: NLPat -> NLPSort
- pattern DataOrRecSig :: Int -> Defn
- pattern PrimitiveSort :: BuiltinSort -> Sort -> Defn
- pattern SortProp :: BuiltinSort
- pattern SortSet :: BuiltinSort
- pattern SortStrictSet :: BuiltinSort
- pattern SortPropOmega :: BuiltinSort
- pattern SortSetOmega :: BuiltinSort
- pattern SortStrictSetOmega :: BuiltinSort
- getEnv :: TCM TCEnv
- typeError :: (HasCallStack, MonadTCError m) => TypeError -> m a
- withCurrentModule :: MonadTCEnv m => ModuleName -> m a -> m a
- getDefFreeVars :: (Functor m, Applicative m, ReadTCState m, MonadTCEnv m) => QName -> m Nat
- ignoreAbstractMode :: MonadTCEnv m => m a -> m a
- getMetaInfo :: MetaVariable -> Closure Range
- lookupMeta :: ReadTCState m => MetaId -> m (Maybe (Either RemoteMetaVariable MetaVariable))
- withMetaInfo :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => Closure Range -> m a -> m a
- lookupInteractionPoint :: (MonadFail m, ReadTCState m, MonadError TCErr m) => InteractionId -> m InteractionPoint
- getContextArgs :: (Applicative m, MonadTCEnv m) => m Args
- getAllConstraints :: ReadTCState m => m Constraints
- constructorForm :: HasBuiltins m => Term -> m Term
- getErasedConArgs :: HasConstInfo m => QName -> m [Bool]
- getTreeless :: HasConstInfo m => QName -> m (Maybe TTerm)
- runReduceM :: ReduceM a -> TCM a
- __IMPOSSIBLE_VERBOSE__ :: (HasCallStack, MonadDebug m) => String -> m a
- inTopContext :: (MonadTCEnv tcm, ReadTCState tcm) => tcm a -> tcm a
- withInteractionId :: (MonadDebug m, MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m, MonadTrace m) => InteractionId -> m a -> m a
- getInteractionRange :: (MonadInteractionPoints m, MonadFail m, MonadError TCErr m) => InteractionId -> m Range
- getMetaRange :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m Range
- withMetaId :: (HasCallStack, MonadDebug m, MonadTCEnv m, MonadTrace m, ReadTCState m) => MetaId -> m a -> m a
- getIncludeDirs :: HasOptions m => m [AbsolutePath]
- libToTCM :: LibM a -> TCM a
- topLevelModuleName :: RawTopLevelModuleName -> TCM TopLevelModuleName
- highlightAsTypeChecked :: MonadTrace m => Range -> Range -> m a -> m a
- initState :: TCState
- setCommandLineOptions :: CommandLineOptions -> TCM ()
- withScope :: ReadTCState m => ScopeInfo -> m a -> m (a, ScopeInfo)
- mapTCMT :: (forall a. m a -> n a) -> TCMT m a -> TCMT n a
- builtinById :: String -> Maybe BuiltinId
- isBuiltinNoDef :: BuiltinId -> Bool
- getScope :: ReadTCState m => m ScopeInfo
- getContext :: MonadTCEnv m => m Context
- getBuiltinName' :: HasBuiltins m => BuiltinId -> m (Maybe QName)
- builtinProp :: BuiltinId
- builtinSet :: BuiltinId
- builtinStrictSet :: BuiltinId
- builtinPropOmega :: BuiltinId
- builtinSetOmega :: BuiltinId
- builtinSSetOmega :: BuiltinId
- getAllPatternSyns :: ReadTCState m => m PatternSynDefns
- setCurrentRange :: (MonadTrace m, HasRange x) => x -> m a -> m a
- registerInteractionPoint :: forall m. MonadInteractionPoints m => Bool -> Range -> Maybe Nat -> m InteractionId
- insideDotPattern :: TCM a -> TCM a
- isInsideDotPattern :: TCM Bool
- getCurrentPath :: MonadTCEnv m => m AbsolutePath
- typeOfConst :: (HasConstInfo m, ReadTCState m) => QName -> m Type
- sizeType :: (HasBuiltins m, MonadTCEnv m, ReadTCState m) => m Type
- isInstanceConstraint :: Constraint -> Bool
- shouldPostponeInstanceSearch :: (ReadTCState m, HasOptions m) => m Bool
- writeToCurrentLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => TypeCheckAction -> m ()
- readFromCachedLog :: (MonadDebug m, MonadTCState m, ReadTCState m) => m (Maybe (TypeCheckAction, PostScopeState))
- cleanCachedLog :: (MonadDebug m, MonadTCState m) => m ()
- cacheCurrentLog :: (MonadDebug m, MonadTCState m) => m ()
- activateLoadedFileCache :: (HasOptions m, MonadDebug m, MonadTCState m) => m ()
- cachingStarts :: (MonadDebug m, MonadTCState m, ReadTCState m) => m ()
- areWeCaching :: ReadTCState m => m Bool
- localCache :: (MonadTCState m, ReadTCState m) => m a -> m a
- withoutCache :: (MonadTCState m, ReadTCState m) => m a -> m a
- restorePostScopeState :: (MonadDebug m, MonadTCState m) => PostScopeState -> m ()
- enterClosure :: (MonadTCEnv m, ReadTCState m, LensClosure c a) => c -> (a -> m b) -> m b
- solvingProblem :: MonadConstraint m => ProblemId -> m a -> m a
- currentModule :: MonadTCEnv m => m ModuleName
- addImport :: TopLevelModuleName -> TCM ()
- addImportCycleCheck :: TopLevelModuleName -> TCM a -> TCM a
- checkForImportCycle :: TCM ()
- dropDecodedModule :: TopLevelModuleName -> TCM ()
- getDecodedModule :: TopLevelModuleName -> TCM (Maybe ModuleInfo)
- getDecodedModules :: TCM DecodedModules
- getImportPath :: TCM [TopLevelModuleName]
- getPrettyVisitedModules :: ReadTCState m => m Doc
- getVisitedModule :: ReadTCState m => TopLevelModuleName -> m (Maybe ModuleInfo)
- getVisitedModules :: ReadTCState m => m VisitedModules
- setDecodedModules :: DecodedModules -> TCM ()
- setVisitedModules :: VisitedModules -> TCM ()
- storeDecodedModule :: ModuleInfo -> TCM ()
- visitModule :: ModuleInfo -> TCM ()
- withImportPath :: [TopLevelModuleName] -> TCM a -> TCM a
- reportSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m ()
- hideAndRelParams :: (LensHiding a, LensRelevance a) => a -> a
- noMutualBlock :: TCM a -> TCM a
- 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
- currentModuleNameHash :: ReadTCState m => m ModuleNameHash
- reportSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m ()
- setPragmaOptions :: PragmaOptions -> TCM ()
- setHardCompileTimeModeIfErased :: Erased -> TCM a -> TCM a
- verboseS :: MonadDebug m => VerboseKey -> VerboseLevel -> m () -> m ()
- resetState :: TCM ()
- tick :: MonadStatistics m => String -> m ()
- tickN :: MonadStatistics m => String -> Integer -> m ()
- tickMax :: MonadStatistics m => String -> Integer -> m ()
- getStatistics :: ReadTCState m => m Statistics
- modifyStatistics :: (Statistics -> Statistics) -> TCM ()
- printStatistics :: (MonadDebug m, MonadTCEnv m, HasOptions m) => Maybe TopLevelModuleName -> Statistics -> m ()
- interestingCall :: Call -> Bool
- getName' :: (HasBuiltins m, IsBuiltin a) => a -> m (Maybe QName)
- builtinHComp :: PrimitiveId
- builtinConId :: PrimitiveId
- localTCState :: TCM a -> TCM a
- askR :: ReduceM ReduceEnv
- applyWhenVerboseS :: MonadDebug m => VerboseKey -> VerboseLevel -> (m a -> m a) -> m a -> m a
- defAbstract :: Definition -> IsAbstract
- metaType :: ReadTCState m => MetaId -> m Type
- applyDef :: HasConstInfo m => ProjOrigin -> QName -> Arg Term -> m Term
- genericError :: (HasCallStack, MonadTCError m) => String -> m a
- getAgdaLibFiles :: AbsolutePath -> TopLevelModuleName -> TCM [AgdaLibFile]
- stModuleToSource :: Lens' TCState ModuleToSource
- useTC :: ReadTCState m => Lens' TCState a -> m a
- checkpointSubstitution :: MonadTCEnv tcm => CheckpointId -> tcm Substitution
- newMeta :: MonadMetaSolver m => Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaId
- modifyBenchmark :: (Benchmark -> Benchmark) -> TCM ()
- builtinsNoDef :: [BuiltinId]
- sizeBuiltins :: [BuiltinId]
- builtinIntervalUniv :: BuiltinId
- builtinId :: BuiltinId
- builtinReflId :: BuiltinId
- builtinInterval :: BuiltinId
- builtinPartial :: BuiltinId
- builtinPartialP :: BuiltinId
- builtinIsOne :: BuiltinId
- builtinSub :: BuiltinId
- builtinIZero :: BuiltinId
- builtinIOne :: BuiltinId
- builtinLevelUniv :: BuiltinId
- builtinSizeUniv :: BuiltinId
- builtinSize :: BuiltinId
- builtinSizeLt :: BuiltinId
- builtinSizeSuc :: BuiltinId
- builtinSizeInf :: BuiltinId
- builtinSizeMax :: BuiltinId
- builtinNat :: BuiltinId
- builtinSuc :: BuiltinId
- builtinZero :: BuiltinId
- builtinNatPlus :: BuiltinId
- builtinNatMinus :: BuiltinId
- builtinNatTimes :: BuiltinId
- builtinNatDivSucAux :: BuiltinId
- builtinNatModSucAux :: BuiltinId
- builtinNatEquals :: BuiltinId
- builtinNatLess :: BuiltinId
- builtinInteger :: BuiltinId
- builtinIntegerPos :: BuiltinId
- builtinIntegerNegSuc :: BuiltinId
- builtinWord64 :: BuiltinId
- builtinFloat :: BuiltinId
- builtinChar :: BuiltinId
- builtinString :: BuiltinId
- builtinUnit :: BuiltinId
- builtinUnitUnit :: BuiltinId
- builtinSigma :: BuiltinId
- builtinBool :: BuiltinId
- builtinTrue :: BuiltinId
- builtinFalse :: BuiltinId
- builtinList :: BuiltinId
- builtinNil :: BuiltinId
- builtinCons :: BuiltinId
- builtinIO :: BuiltinId
- builtinMaybe :: BuiltinId
- builtinNothing :: BuiltinId
- builtinJust :: BuiltinId
- builtinPath :: BuiltinId
- builtinPathP :: BuiltinId
- builtinItIsOne :: BuiltinId
- builtinIsOne1 :: BuiltinId
- builtinIsOne2 :: BuiltinId
- builtinIsOneEmpty :: BuiltinId
- builtinSubIn :: BuiltinId
- builtinEquiv :: BuiltinId
- builtinEquivFun :: BuiltinId
- builtinEquivProof :: BuiltinId
- builtinTranspProof :: BuiltinId
- builtinInf :: BuiltinId
- builtinSharp :: BuiltinId
- builtinFlat :: BuiltinId
- builtinEquality :: BuiltinId
- builtinRefl :: BuiltinId
- builtinRewrite :: BuiltinId
- builtinLevelMax :: BuiltinId
- builtinLevel :: BuiltinId
- builtinLevelZero :: BuiltinId
- builtinLevelSuc :: BuiltinId
- builtinFromNat :: BuiltinId
- builtinFromNeg :: BuiltinId
- builtinFromString :: BuiltinId
- builtinQName :: BuiltinId
- builtinAgdaSort :: BuiltinId
- builtinAgdaSortSet :: BuiltinId
- builtinAgdaSortLit :: BuiltinId
- builtinAgdaSortProp :: BuiltinId
- builtinAgdaSortPropLit :: BuiltinId
- builtinAgdaSortInf :: BuiltinId
- builtinAgdaSortUnsupported :: BuiltinId
- builtinHiding :: BuiltinId
- builtinHidden :: BuiltinId
- builtinInstance :: BuiltinId
- builtinVisible :: BuiltinId
- builtinRelevance :: BuiltinId
- builtinRelevant :: BuiltinId
- builtinIrrelevant :: BuiltinId
- builtinQuantity :: BuiltinId
- builtinQuantity0 :: BuiltinId
- builtinQuantityω :: BuiltinId
- builtinModality :: BuiltinId
- builtinModalityConstructor :: BuiltinId
- builtinAssoc :: BuiltinId
- builtinAssocLeft :: BuiltinId
- builtinAssocRight :: BuiltinId
- builtinAssocNon :: BuiltinId
- builtinPrecedence :: BuiltinId
- builtinPrecRelated :: BuiltinId
- builtinPrecUnrelated :: BuiltinId
- builtinFixity :: BuiltinId
- builtinFixityFixity :: BuiltinId
- builtinArgInfo :: BuiltinId
- builtinArgArgInfo :: BuiltinId
- builtinArg :: BuiltinId
- builtinArgArg :: BuiltinId
- builtinAbs :: BuiltinId
- builtinAbsAbs :: BuiltinId
- builtinAgdaTerm :: BuiltinId
- builtinAgdaTermVar :: BuiltinId
- builtinAgdaTermLam :: BuiltinId
- builtinAgdaTermExtLam :: BuiltinId
- builtinAgdaTermDef :: BuiltinId
- builtinAgdaTermCon :: BuiltinId
- builtinAgdaTermPi :: BuiltinId
- builtinAgdaTermSort :: BuiltinId
- builtinAgdaTermLit :: BuiltinId
- builtinAgdaTermUnsupported :: BuiltinId
- builtinAgdaTermMeta :: BuiltinId
- builtinAgdaErrorPart :: BuiltinId
- builtinAgdaErrorPartString :: BuiltinId
- builtinAgdaErrorPartTerm :: BuiltinId
- builtinAgdaErrorPartPatt :: BuiltinId
- builtinAgdaErrorPartName :: BuiltinId
- builtinAgdaLiteral :: BuiltinId
- builtinAgdaLitNat :: BuiltinId
- builtinAgdaLitWord64 :: BuiltinId
- builtinAgdaLitFloat :: BuiltinId
- builtinAgdaLitChar :: BuiltinId
- builtinAgdaLitString :: BuiltinId
- builtinAgdaLitQName :: BuiltinId
- builtinAgdaLitMeta :: BuiltinId
- builtinAgdaClause :: BuiltinId
- builtinAgdaClauseClause :: BuiltinId
- builtinAgdaClauseAbsurd :: BuiltinId
- builtinAgdaPattern :: BuiltinId
- builtinAgdaPatVar :: BuiltinId
- builtinAgdaPatCon :: BuiltinId
- builtinAgdaPatDot :: BuiltinId
- builtinAgdaPatLit :: BuiltinId
- builtinAgdaPatProj :: BuiltinId
- builtinAgdaPatAbsurd :: BuiltinId
- builtinAgdaDefinitionFunDef :: BuiltinId
- builtinAgdaDefinitionDataDef :: BuiltinId
- builtinAgdaDefinitionRecordDef :: BuiltinId
- builtinAgdaDefinitionDataConstructor :: BuiltinId
- builtinAgdaDefinitionPostulate :: BuiltinId
- builtinAgdaDefinitionPrimitive :: BuiltinId
- builtinAgdaDefinition :: BuiltinId
- builtinAgdaMeta :: BuiltinId
- builtinAgdaTCM :: BuiltinId
- builtinAgdaTCMReturn :: BuiltinId
- builtinAgdaTCMBind :: BuiltinId
- builtinAgdaTCMUnify :: BuiltinId
- builtinAgdaTCMTypeError :: BuiltinId
- builtinAgdaTCMInferType :: BuiltinId
- builtinAgdaTCMCheckType :: BuiltinId
- builtinAgdaTCMNormalise :: BuiltinId
- builtinAgdaTCMReduce :: BuiltinId
- builtinAgdaTCMCatchError :: BuiltinId
- builtinAgdaTCMGetContext :: BuiltinId
- builtinAgdaTCMExtendContext :: BuiltinId
- builtinAgdaTCMInContext :: BuiltinId
- builtinAgdaTCMFreshName :: BuiltinId
- builtinAgdaTCMDeclareDef :: BuiltinId
- builtinAgdaTCMDeclarePostulate :: BuiltinId
- builtinAgdaTCMDeclareData :: BuiltinId
- builtinAgdaTCMDefineData :: BuiltinId
- builtinAgdaTCMDefineFun :: BuiltinId
- builtinAgdaTCMGetType :: BuiltinId
- builtinAgdaTCMGetDefinition :: BuiltinId
- builtinAgdaTCMQuoteTerm :: BuiltinId
- builtinAgdaTCMUnquoteTerm :: BuiltinId
- builtinAgdaTCMQuoteOmegaTerm :: BuiltinId
- builtinAgdaTCMCommit :: BuiltinId
- builtinAgdaTCMIsMacro :: BuiltinId
- builtinAgdaTCMBlock :: BuiltinId
- builtinAgdaBlocker :: BuiltinId
- builtinAgdaBlockerAll :: BuiltinId
- builtinAgdaBlockerAny :: BuiltinId
- builtinAgdaBlockerMeta :: BuiltinId
- builtinAgdaTCMFormatErrorParts :: BuiltinId
- builtinAgdaTCMDebugPrint :: BuiltinId
- builtinAgdaTCMWithNormalisation :: BuiltinId
- builtinAgdaTCMWithReconstructed :: BuiltinId
- builtinAgdaTCMWithExpandLast :: BuiltinId
- builtinAgdaTCMWithReduceDefs :: BuiltinId
- builtinAgdaTCMAskNormalisation :: BuiltinId
- builtinAgdaTCMAskReconstructed :: BuiltinId
- builtinAgdaTCMAskExpandLast :: BuiltinId
- builtinAgdaTCMAskReduceDefs :: BuiltinId
- builtinAgdaTCMNoConstraints :: BuiltinId
- builtinAgdaTCMRunSpeculative :: BuiltinId
- builtinAgdaTCMExec :: BuiltinId
- builtinAgdaTCMGetInstances :: BuiltinId
- builtinAgdaTCMPragmaForeign :: BuiltinId
- builtinAgdaTCMPragmaCompile :: BuiltinId
- builtinIdElim :: PrimitiveId
- builtinSubOut :: PrimitiveId
- builtinIMin :: PrimitiveId
- builtinIMax :: PrimitiveId
- builtinINeg :: PrimitiveId
- builtinGlue :: PrimitiveId
- builtin_glue :: PrimitiveId
- builtin_unglue :: PrimitiveId
- builtin_glueU :: PrimitiveId
- builtin_unglueU :: PrimitiveId
- builtinFaceForall :: PrimitiveId
- builtinComp :: PrimitiveId
- builtinPOr :: PrimitiveId
- builtinTrans :: PrimitiveId
- builtinDepIMin :: PrimitiveId
- builtinIdFace :: PrimitiveId
- builtinIdPath :: PrimitiveId
- builtinLockUniv :: PrimitiveId
- primitiveById :: String -> Maybe PrimitiveId
- primConId :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIdElim :: (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
- primSubOut :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primGlue :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primFaceForall :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primHComp :: (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
- 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
- primLockUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- isLocal :: ReadTCState m => QName -> m Bool
- defOpaque :: Definition -> IsOpaque
- initPersistentState :: PersistentTCState
- initialMetaId :: MetaId
- initPreScopeState :: PreScopeState
- emptySignature :: Signature
- initPostScopeState :: PostScopeState
- stTokens :: Lens' TCState HighlightingInfo
- stImports :: Lens' TCState Signature
- stImportedModules :: Lens' TCState (Set TopLevelModuleName)
- stVisitedModules :: Lens' TCState VisitedModules
- stScope :: Lens' TCState ScopeInfo
- stPatternSyns :: Lens' TCState PatternSynDefns
- stPatternSynImports :: Lens' TCState PatternSynDefns
- stGeneralizedVars :: Lens' TCState (Maybe (Set QName))
- stPragmaOptions :: Lens' TCState PragmaOptions
- stImportedBuiltins :: Lens' TCState (BuiltinThings PrimFun)
- stForeignCode :: Lens' TCState (Map BackendName ForeignCodeStack)
- stFreshInteractionId :: Lens' TCState InteractionId
- stImportedUserWarnings :: Lens' TCState (Map QName Text)
- stLocalUserWarnings :: Lens' TCState (Map QName Text)
- getUserWarnings :: ReadTCState m => m (Map QName Text)
- useR :: ReadTCState m => Lens' TCState a -> m a
- stWarningOnImport :: Lens' TCState (Maybe Text)
- stImportedPartialDefs :: Lens' TCState (Set QName)
- stLocalPartialDefs :: Lens' TCState (Set QName)
- getPartialDefs :: ReadTCState m => m (Set QName)
- stLoadedFileCache :: Lens' TCState (Maybe LoadedFileCache)
- stBackends :: Lens' TCState [Backend]
- stProjectConfigs :: Lens' TCState (Map FilePath ProjectConfig)
- stAgdaLibFiles :: Lens' TCState (Map FilePath AgdaLibFile)
- stTopLevelModuleNames :: Lens' TCState (BiMap RawTopLevelModuleName ModuleNameHash)
- stImportedMetaStore :: Lens' TCState RemoteMetaStore
- stFreshNameId :: Lens' TCState NameId
- stFreshOpaqueId :: Lens' TCState OpaqueId
- stOpaqueBlocks :: Lens' TCState (Map OpaqueId OpaqueBlock)
- stOpaqueIds :: Lens' TCState (Map QName OpaqueId)
- stSyntaxInfo :: Lens' TCState HighlightingInfo
- stDisambiguatedNames :: Lens' TCState DisambiguatedNames
- stOpenMetaStore :: Lens' TCState LocalMetaStore
- stSolvedMetaStore :: Lens' TCState LocalMetaStore
- stInteractionPoints :: Lens' TCState InteractionPoints
- stAwakeConstraints :: Lens' TCState Constraints
- stSleepingConstraints :: Lens' TCState Constraints
- stDirty :: Lens' TCState Bool
- stOccursCheckDefs :: Lens' TCState (Set QName)
- stSignature :: Lens' TCState Signature
- stModuleCheckpoints :: Lens' TCState (Map ModuleName CheckpointId)
- stImportsDisplayForms :: Lens' TCState DisplayForms
- stImportedDisplayForms :: Lens' TCState DisplayForms
- stCurrentModule :: Lens' TCState (Maybe (ModuleName, TopLevelModuleName))
- stImportedInstanceDefs :: Lens' TCState InstanceTable
- stInstanceDefs :: Lens' TCState TempInstanceTable
- stConcreteNames :: Lens' TCState ConcreteNames
- stUsedNames :: Lens' TCState (Map RawName (DList RawName))
- stShadowingNames :: Lens' TCState (Map Name (DList RawName))
- stStatistics :: Lens' TCState Statistics
- stTCWarnings :: Lens' TCState [TCWarning]
- stMutualBlocks :: Lens' TCState (Map MutualId MutualBlock)
- stLocalBuiltins :: Lens' TCState (BuiltinThings PrimFun)
- stFreshMetaId :: Lens' TCState MetaId
- stFreshMutualId :: Lens' TCState MutualId
- stFreshProblemId :: Lens' TCState ProblemId
- stFreshCheckpointId :: Lens' TCState CheckpointId
- stFreshInt :: Lens' TCState Int
- stAreWeCaching :: Lens' TCState Bool
- stPostponeInstanceSearch :: Lens' TCState Bool
- stConsideringInstance :: Lens' TCState Bool
- stInstantiateBlocking :: Lens' TCState Bool
- stBuiltinThings :: TCState -> BuiltinThings PrimFun
- unionBuiltin :: Builtin a -> Builtin a -> Builtin a
- 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
- stateTCLensM :: MonadTCState m => Lens' TCState a -> (a -> m (r, a)) -> m r
- iFullHash :: Interface -> Hash
- intSignature :: Lens' Interface Signature
- buildClosure :: (MonadTCEnv m, ReadTCState m) => a -> m (Closure a)
- fromCmp :: Comparison -> CompareDirection
- flipCmp :: CompareDirection -> CompareDirection
- dirToCmp :: (Comparison -> a -> a -> c) -> CompareDirection -> a -> a -> c
- suffixNameSuggestion :: MetaNameSuggestion -> ArgName -> MetaNameSuggestion
- normalMetaPriority :: MetaPriority
- lowMetaPriority :: MetaPriority
- highMetaPriority :: MetaPriority
- getMetaScope :: MetaVariable -> ScopeInfo
- getMetaEnv :: MetaVariable -> TCEnv
- getMetaSig :: MetaVariable -> Signature
- metaFrozen :: Lens' MetaVariable Frozen
- _mvInfo :: Lens' MetaVariable MetaInfo
- aModeToDef :: AbstractMode -> Maybe IsAbstract
- aDefToMode :: IsAbstract -> AbstractMode
- sigSections :: Lens' Signature Sections
- sigDefinitions :: Lens' Signature Definitions
- sigRewriteRules :: Lens' Signature RewriteRuleMap
- secTelescope :: Lens' Section Telescope
- defaultDisplayForm :: QName -> [LocalDisplayForm]
- lensTheDef :: Lens' Definition Defn
- defaultDefn :: ArgInfo -> QName -> Type -> Language -> Defn -> Definition
- noCompiledRep :: CompiledRepresentation
- jsBackendName :: BackendName
- ghcBackendName :: BackendName
- modifySystem :: (System -> System) -> ExtLamInfo -> ExtLamInfo
- projDropPars :: Projection -> ProjOrigin -> Term
- projArgInfo :: Projection -> ArgInfo
- setEtaEquality :: EtaEquality -> HasEta -> EtaEquality
- emptyCompKit :: CompKit
- defaultAxiom :: Defn
- constTranspAxiom :: Defn
- axiomConstTransp :: Defn -> Bool
- datarecPars :: Defn -> Int
- funClauses :: Defn -> [Clause]
- funCompiled :: Defn -> Maybe CompiledClauses
- funSplitTree :: Defn -> Maybe SplitTree
- funTreeless :: Defn -> Maybe Compiled
- funCovering :: Defn -> [Clause]
- funInv :: Defn -> FunctionInverse
- funMutual :: Defn -> Maybe [QName]
- funAbstr :: Defn -> IsAbstract
- funProjection :: Defn -> Either ProjectionLikenessMissing Projection
- funErasure :: Defn -> Bool
- funFlags :: Defn -> Set FunctionFlag
- funTerminates :: Defn -> Maybe Bool
- funExtLam :: Defn -> Maybe ExtLamInfo
- funWith :: Defn -> Maybe QName
- funIsKanOp :: Defn -> Maybe QName
- funOpaque :: Defn -> IsOpaque
- dataPars :: Defn -> Nat
- dataIxs :: Defn -> Nat
- dataClause :: Defn -> Maybe Clause
- dataCons :: Defn -> [QName]
- dataSort :: Defn -> Sort
- dataMutual :: Defn -> Maybe [QName]
- dataAbstr :: Defn -> IsAbstract
- dataPathCons :: Defn -> [QName]
- dataTranspIx :: Defn -> Maybe QName
- dataTransp :: Defn -> Maybe QName
- recPars :: Defn -> Nat
- recClause :: Defn -> Maybe Clause
- recConHead :: Defn -> ConHead
- recNamedCon :: Defn -> Bool
- recFields :: Defn -> [Dom QName]
- recTel :: Defn -> Telescope
- recMutual :: Defn -> Maybe [QName]
- recEtaEquality' :: Defn -> EtaEquality
- recPatternMatching :: Defn -> PatternOrCopattern
- recInduction :: Defn -> Maybe Induction
- recTerminates :: Defn -> Maybe Bool
- recAbstr :: Defn -> IsAbstract
- recComp :: Defn -> CompKit
- conPars :: Defn -> Int
- conArity :: Defn -> Int
- conSrcCon :: Defn -> ConHead
- conData :: Defn -> QName
- conAbstr :: Defn -> IsAbstract
- conComp :: Defn -> CompKit
- conProj :: Defn -> Maybe [QName]
- conForced :: Defn -> [IsForced]
- conErased :: Defn -> Maybe [Bool]
- conErasure :: Defn -> Bool
- conInline :: Defn -> Bool
- primAbstr :: Defn -> IsAbstract
- primName :: Defn -> PrimitiveId
- primClauses :: Defn -> [Clause]
- primInv :: Defn -> FunctionInverse
- primCompiled :: Defn -> Maybe CompiledClauses
- primOpaque :: Defn -> IsOpaque
- primSortName :: Defn -> BuiltinSort
- primSortSort :: Defn -> Sort
- lensFunction :: Lens' Defn FunctionData
- lensConstructor :: Lens' Defn ConstructorData
- lensRecord :: Lens' Defn RecordData
- lensRecTel :: Lens' RecordData Telescope
- recRecursive :: Defn -> Bool
- recEtaEquality :: Defn -> HasEta
- emptyFunctionData :: HasOptions m => m FunctionData
- emptyFunction :: HasOptions m => m Defn
- funFlag :: FunctionFlag -> Lens' Defn Bool
- funStatic :: Lens' Defn Bool
- funInline :: Lens' Defn Bool
- funMacro :: Lens' Defn Bool
- 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
- locallyTC :: MonadTCEnv m => Lens' TCEnv a -> (a -> a) -> m b -> m b
- eReduceDefs :: Lens' TCEnv ReduceDefs
- locallyReduceAllDefs :: MonadTCEnv m => m a -> m a
- shouldReduceDef :: MonadTCEnv m => QName -> m Bool
- asksTC :: MonadTCEnv m => (TCEnv -> a) -> m a
- toReduceDefs :: (Bool, [QName]) -> ReduceDefs
- fromReduceDefs :: ReduceDefs -> (Bool, [QName])
- locallyReconstructed :: MonadTCEnv m => m a -> m a
- eReconstructed :: Lens' TCEnv Bool
- isReconstructed :: MonadTCEnv m => m Bool
- primFun :: QName -> Arity -> ([Arg Term] -> ReduceM (Reduced MaybeReducedArgs Term)) -> PrimFun
- defClauses :: Definition -> [Clause]
- defCompiled :: Definition -> Maybe CompiledClauses
- defParameters :: Definition -> Maybe Nat
- defInverse :: Definition -> FunctionInverse
- defCompilerPragmas :: BackendName -> Definition -> [CompilerPragma]
- defNonterminating :: Definition -> Bool
- defTerminationUnconfirmed :: Definition -> Bool
- defForced :: Definition -> [IsForced]
- ifTopLevelAndHighlightingLevelIsOr :: MonadTCEnv tcm => HighlightingLevel -> Bool -> tcm () -> tcm ()
- ifTopLevelAndHighlightingLevelIs :: MonadTCEnv tcm => HighlightingLevel -> tcm () -> tcm ()
- initEnv :: TCEnv
- defaultUnquoteFlags :: UnquoteFlags
- unquoteNormalise :: Lens' UnquoteFlags Bool
- eUnquoteNormalise :: Lens' TCEnv Bool
- eUnquoteFlags :: Lens' TCEnv UnquoteFlags
- eContext :: Lens' TCEnv Context
- eLetBindings :: Lens' TCEnv LetBindings
- eCurrentModule :: Lens' TCEnv ModuleName
- eCurrentPath :: Lens' TCEnv (Maybe AbsolutePath)
- eAnonymousModules :: Lens' TCEnv [(ModuleName, Nat)]
- eImportPath :: Lens' TCEnv [TopLevelModuleName]
- eMutualBlock :: Lens' TCEnv (Maybe MutualId)
- eTerminationCheck :: Lens' TCEnv (TerminationCheck ())
- eCoverageCheck :: Lens' TCEnv CoverageCheck
- eMakeCase :: Lens' TCEnv Bool
- eSolvingConstraints :: Lens' TCEnv Bool
- eCheckingWhere :: Lens' TCEnv Bool
- eWorkingOnTypes :: Lens' TCEnv Bool
- eAssignMetas :: Lens' TCEnv Bool
- eActiveProblems :: Lens' TCEnv (Set ProblemId)
- eAbstractMode :: Lens' TCEnv AbstractMode
- eRelevance :: Lens' TCEnv Relevance
- eQuantity :: Lens' TCEnv Quantity
- eHardCompileTimeMode :: Lens' TCEnv Bool
- eSplitOnStrict :: Lens' TCEnv Bool
- eDisplayFormsEnabled :: Lens' TCEnv Bool
- eFoldLetBindings :: Lens' TCEnv Bool
- eRange :: Lens' TCEnv Range
- eHighlightingRange :: Lens' TCEnv Range
- eCall :: Lens' TCEnv (Maybe (Closure Call))
- eHighlightingLevel :: Lens' TCEnv HighlightingLevel
- eHighlightingMethod :: Lens' TCEnv HighlightingMethod
- eExpandLast :: Lens' TCEnv ExpandHidden
- eExpandLastBool :: Lens' TCEnv Bool
- isExpandLast :: ExpandHidden -> Bool
- toExpandLast :: Bool -> ExpandHidden
- eAppDef :: Lens' TCEnv (Maybe QName)
- eSimplification :: Lens' TCEnv Simplification
- eAllowedReductions :: Lens' TCEnv AllowedReductions
- eReduceDefsPair :: Lens' TCEnv (Bool, [QName])
- eInjectivityDepth :: Lens' TCEnv Int
- eCompareBlocked :: Lens' TCEnv Bool
- ePrintDomainFreePi :: Lens' TCEnv Bool
- ePrintMetasBare :: Lens' TCEnv Bool
- eInsideDotPattern :: Lens' TCEnv Bool
- eInstanceDepth :: Lens' TCEnv Int
- eIsDebugPrinting :: Lens' TCEnv Bool
- ePrintingPatternLambdas :: Lens' TCEnv [QName]
- eCallByNeed :: Lens' TCEnv Bool
- eCurrentCheckpoint :: Lens' TCEnv CheckpointId
- eCheckpoints :: Lens' TCEnv (Map CheckpointId Substitution)
- eGeneralizeMetas :: Lens' TCEnv DoGeneralize
- eGeneralizedVars :: Lens' TCEnv (Map QName GeneralizedValue)
- eActiveBackendName :: Lens' TCEnv (Maybe BackendName)
- eConflComputingOverlap :: Lens' TCEnv Bool
- eCurrentlyElaborating :: Lens' TCEnv Bool
- currentModality :: MonadTCEnv m => m Modality
- viewTC :: MonadTCEnv m => Lens' TCEnv a -> m a
- onLetBindingType :: (Dom Type -> Dom Type) -> LetBinding -> LetBinding
- isDontExpandLast :: ExpandHidden -> Bool
- recordFieldWarningToError :: RecordFieldWarning -> TypeError
- warningName :: Warning -> WarningName
- tcWarningOrigin :: TCWarning -> SrcFile
- sizedTypesOption :: HasOptions m => m Bool
- guardednessOption :: HasOptions m => m Bool
- withoutKOption :: HasOptions m => m Bool
- cubicalCompatibleOption :: 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' ReduceEnv TCEnv
- reduceSt :: Lens' ReduceEnv TCState
- 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
- runReduceF :: (a -> ReduceM b) -> TCM (a -> b)
- localR :: (ReduceEnv -> ReduceEnv) -> ReduceM a -> ReduceM a
- getsTC :: ReadTCState m => (TCState -> a) -> m a
- modifyTC' :: MonadTCState m => (TCState -> TCState) -> m ()
- setTCLens :: MonadTCState m => Lens' TCState a -> a -> m ()
- setTCLens' :: MonadTCState m => Lens' TCState a -> a -> m ()
- modifyTCLens :: MonadTCState m => Lens' TCState a -> (a -> a) -> m ()
- modifyTCLens' :: MonadTCState m => Lens' TCState a -> (a -> a) -> m ()
- modifyTCLensM :: MonadTCState m => Lens' TCState a -> (a -> m a) -> m ()
- stateTCLens :: MonadTCState m => Lens' TCState a -> (a -> (r, a)) -> m r
- runBlocked :: Monad m => BlockT m a -> m (Either Blocker 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
- internalError :: (HasCallStack, MonadTCM tcm) => String -> tcm a
- catchError_ :: TCM a -> (TCErr -> TCM a) -> TCM a
- finally_ :: TCM a -> TCM b -> TCM a
- typeError' :: MonadTCError m => CallStack -> TypeError -> m a
- locatedTypeError :: MonadTCError m => (a -> TypeError) -> HasCallStack => a -> m b
- genericDocError :: (HasCallStack, MonadTCError m) => Doc -> m a
- typeError'_ :: (MonadTCEnv m, ReadTCState m) => CallStack -> TypeError -> m TCErr
- typeError_ :: (HasCallStack, MonadTCEnv m, ReadTCState m) => TypeError -> m TCErr
- 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
- doExpandLast :: TCM a -> TCM a
- workOnTypes :: (MonadTCEnv m, HasOptions m, MonadDebug m) => m a -> m a
- isInteractionMeta :: ReadTCState m => MetaId -> m (Maybe InteractionId)
- defaultGetVerbosity :: HasOptions m => m Verbosity
- defaultGetProfileOptions :: HasOptions m => m ProfileOptions
- 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
- hasVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool
- openVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m ()
- closeVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> m ()
- closeVerboseBracketException :: MonadDebug m => VerboseKey -> VerboseLevel -> m ()
- reportResult :: MonadDebug m => VerboseKey -> VerboseLevel -> (a -> TCM Doc) -> m a -> m a
- unlessDebugPrinting :: MonadDebug m => m () -> m ()
- traceSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m a -> m a
- traceSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m a -> m a
- hasExactVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool
- whenExactVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m () -> m ()
- __CRASH_WHEN__ :: (HasCallStack, MonadTCM m, MonadDebug m) => VerboseKey -> VerboseLevel -> m ()
- hasProfileOption :: MonadDebug m => ProfileOption -> m Bool
- whenProfile :: MonadDebug m => ProfileOption -> m () -> m ()
- notSoPrettySigCubicalNotErasure :: QName -> String
- inFreshModuleIfFreeParams :: TCM a -> TCM a
- lookupSection :: (Functor m, ReadTCState m) => ModuleName -> m Telescope
- runBuiltinAccess :: TCState -> BuiltinAccess a -> a
- litType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => Literal -> m Type
- primZero :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSuc :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primNat :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primWord64 :: (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
- primQName :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaMeta :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- setBuiltinThings :: BuiltinThings PrimFun -> TCM ()
- bindBuiltinName :: BuiltinId -> Term -> TCM ()
- bindPrimitive :: PrimitiveId -> PrimFun -> TCM ()
- bindBuiltinRewriteRelation :: QName -> TCM ()
- getBuiltinRewriteRelations :: HasBuiltins m => m (Maybe (Set QName))
- getBuiltin :: (HasBuiltins m, MonadTCError m) => BuiltinId -> m Term
- getBuiltin' :: HasBuiltins m => BuiltinId -> m (Maybe Term)
- getPrimitive' :: HasBuiltins m => PrimitiveId -> m (Maybe PrimFun)
- getPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => PrimitiveId -> m PrimFun
- getPrimitiveTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => PrimitiveId -> m Term
- getPrimitiveTerm' :: HasBuiltins m => PrimitiveId -> m (Maybe Term)
- getPrimitiveName' :: HasBuiltins m => PrimitiveId -> m (Maybe QName)
- getTerm' :: (HasBuiltins m, IsBuiltin a) => a -> m (Maybe Term)
- getTerm :: (HasBuiltins m, IsBuiltin a) => String -> a -> 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
- primUnit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primUnitUnit :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primBool :: (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
- primSigma :: (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
- primIO :: (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
- primPath :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPathP :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primIntervalUniv :: (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
- primIsOne :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primItIsOne :: (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
- primTrans :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primId :: (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_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
- 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
- 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
- primLevel :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primLevelUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primProp :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primStrictSet :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primPropOmega :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSetOmega :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primSSetOmega :: (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
- primArgInfo :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primArgArgInfo :: (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
- 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
- primAgdaErrorPartPatt :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaErrorPartName :: (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
- 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
- primAgdaLitString :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaLitChar :: (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
- primAgdaSort :: (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
- primAgdaDefinition :: (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
- primAgdaDefinitionPostulate :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaDefinitionDataConstructor :: (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
- 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
- primAgdaBlocker :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaBlockerAny :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaBlockerAll :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaBlockerMeta :: (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
- primAgdaTCMDeclareData :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDefineData :: (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
- primAgdaTCMUnquoteTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMQuoteOmegaTerm :: (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
- primAgdaTCMBlock :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMFormatErrorParts :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMDebugPrint :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMWithNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMWithReconstructed :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMWithExpandLast :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMWithReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMAskNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMAskReconstructed :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMAskExpandLast :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMAskReduceDefs :: (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
- primAgdaTCMGetInstances :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMPragmaForeign :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- primAgdaTCMPragmaCompile :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term
- coinductionKit' :: TCM CoinductionKit
- coinductionKit :: TCM (Maybe CoinductionKit)
- mkSortKit :: QName -> QName -> QName -> QName -> QName -> QName -> SortKit
- sortKit :: (HasBuiltins m, MonadTCError m, HasOptions m) => m SortKit
- infallibleSortKit :: HasBuiltins m => m SortKit
- getPrimName :: Term -> QName
- isPrimitive :: HasBuiltins m => PrimitiveId -> QName -> m Bool
- intervalSort :: Sort
- 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
- conidView' :: HasBuiltins m => m (Term -> Term -> Maybe (Arg Term, Arg Term))
- primEqualityName :: TCM QName
- equalityView :: Type -> TCM EqualityView
- constrainedPrims :: [PrimitiveId]
- getNameOfConstrained :: HasBuiltins m => PrimitiveId -> m (Maybe QName)
- getAnonymousVariables :: MonadTCEnv m => ModuleName -> m Nat
- withAnonymousModule :: ModuleName -> Nat -> TCM a -> TCM a
- withEnv :: MonadTCEnv m => TCEnv -> m a -> m a
- withHighlightingLevel :: HighlightingLevel -> 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
- callByName :: TCM a -> TCM a
- dontFoldLetBindings :: MonadTCEnv m => m a -> m a
- removeLetBinding :: MonadTCEnv m => Name -> m a -> m a
- resetAllState :: TCM ()
- updatePersistentState :: (PersistentTCState -> PersistentTCState) -> TCState -> TCState
- 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' TCState PersistentTCState
- modifyPersistentState :: (PersistentTCState -> PersistentTCState) -> TCM ()
- lensAccumStatisticsP :: Lens' PersistentTCState Statistics
- lensAccumStatistics :: Lens' TCState Statistics
- setScope :: ScopeInfo -> TCM ()
- modifyScope :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m ()
- modifyScope_ :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m ()
- useScope :: ReadTCState m => Lens' ScopeInfo a -> m a
- locallyScope :: ReadTCState m => Lens' ScopeInfo a -> (a -> a) -> m b -> m b
- withScope_ :: ReadTCState m => ScopeInfo -> m a -> m a
- localScope :: TCM a -> TCM a
- notInScopeError :: QName -> TCM a
- printScope :: String -> Int -> String -> TCM ()
- notInScopeWarning :: QName -> 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 ()
- updateDefinition :: QName -> (Definition -> Definition) -> Signature -> Signature
- setSignature :: MonadTCState m => Signature -> m ()
- withSignature :: (ReadTCState m, MonadTCState m) => Signature -> m a -> m a
- addRewriteRulesFor :: QName -> RewriteRules -> [QName] -> Signature -> Signature
- updateTheDef :: (Defn -> Defn) -> Definition -> Definition
- setMatchableSymbols :: QName -> [QName] -> Signature -> Signature
- updateDefCopatternLHS :: (Bool -> Bool) -> Definition -> Definition
- lookupDefinition :: QName -> Signature -> Maybe Definition
- updateDefinitions :: (Definitions -> Definitions) -> Signature -> Signature
- 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
- updateDefBlocked :: (Blocked_ -> Blocked_) -> Definition -> Definition
- setTopLevelModule :: TopLevelModuleName -> TCM ()
- currentTopLevelModule :: (MonadTCEnv m, ReadTCState m) => m (Maybe TopLevelModuleName)
- withTopLevelModule :: TopLevelModuleName -> TCM a -> TCM a
- 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
- lookupPatternSyn :: AmbiguousQName -> TCM PatternSynDefn
- lookupSinglePatternSyn :: QName -> TCM PatternSynDefn
- theBenchmark :: TCState -> Benchmark
- updateBenchmark :: (Benchmark -> Benchmark) -> TCState -> TCState
- 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 ()
- getCurrentRange :: MonadTCEnv m => m Range
- unsafeModifyContext :: MonadTCEnv tcm => (Context -> Context) -> tcm a -> tcm a
- modifyContextInfo :: MonadTCEnv tcm => (forall e. Dom e -> Dom e) -> 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
- getContextTelescope :: (Applicative m, MonadTCEnv m) => m Telescope
- 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
- defaultAddLetBinding' :: (ReadTCState m, MonadTCEnv m) => Origin -> Name -> Term -> Dom Type -> m a -> m a
- addRecordNameContext :: (MonadAddContext m, MonadFresh NameId m) => Dom Type -> m b -> m b
- underAbstraction' :: (Subst a, MonadAddContext m, AddContext (name, Dom Type)) => (String -> name) -> Dom Type -> Abs a -> (a -> m b) -> m b
- underAbstraction :: (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
- underAbstractionAbs :: (Subst a, MonadAddContext m) => 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)
- mapAbstraction_ :: (Subst a, Subst b, MonadAddContext m) => (a -> m b) -> Abs a -> m (Abs b)
- getLetBindings :: MonadTCEnv tcm => tcm [(Name, LetBinding)]
- addLetBinding :: MonadAddContext m => ArgInfo -> Origin -> Name -> Term -> Type -> m a -> m a
- removeLetBindingsFrom :: MonadTCEnv m => Name -> m a -> m a
- getContextSize :: (Applicative m, MonadTCEnv m) => m Nat
- getContextTerms :: (Applicative m, MonadTCEnv m) => m [Term]
- getContextNames :: (Applicative m, MonadTCEnv m) => m [Name]
- lookupBV' :: MonadTCEnv m => Nat -> m (Maybe ContextEntry)
- 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)
- workOnTypes' :: MonadTCEnv m => Bool -> m a -> m a
- applyQuantityToJudgement :: (MonadTCEnv tcm, LensQuantity q) => q -> tcm a -> tcm a
- applyRelevanceToContext :: (MonadTCEnv tcm, LensRelevance r) => r -> tcm a -> tcm a
- applyRelevanceToContextOnly :: MonadTCEnv tcm => Relevance -> tcm a -> tcm a
- applyRelevanceToJudgementOnly :: MonadTCEnv tcm => Relevance -> tcm a -> tcm a
- applyRelevanceToContextFunBody :: (MonadTCM tcm, LensRelevance r) => r -> tcm a -> tcm a
- applyCohesionToContext :: (MonadTCEnv tcm, LensCohesion m) => m -> tcm a -> tcm a
- applyCohesionToContextOnly :: MonadTCEnv tcm => Cohesion -> tcm a -> tcm a
- splittableCohesion :: (HasOptions m, LensCohesion a) => a -> m Bool
- applyModalityToContext :: (MonadTCEnv tcm, LensModality m) => m -> tcm a -> tcm a
- applyModalityToContextOnly :: MonadTCEnv tcm => Modality -> tcm a -> tcm a
- applyModalityToJudgementOnly :: MonadTCEnv tcm => Modality -> tcm a -> tcm a
- applyModalityToContextFunBody :: (MonadTCM tcm, LensModality r) => r -> tcm a -> tcm a
- wakeIrrelevantVars :: MonadTCEnv tcm => tcm a -> tcm a
- 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)
- 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)
- 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
- addConstraint' :: Blocker -> Constraint -> TCM ()
- addConstraintTo :: Lens' TCState Constraints -> Blocker -> Constraint -> TCM ()
- addAwakeConstraint' :: Blocker -> Constraint -> TCM ()
- nowSolvingConstraints :: MonadTCEnv m => m a -> m a
- isSolvingConstraints :: MonadTCEnv m => m Bool
- catchConstraint :: MonadConstraint m => Constraint -> m () -> m ()
- wakeConstraints' :: MonadConstraint m => (ProblemConstraint -> WakeUp) -> m ()
- mapAwakeConstraints :: (Constraints -> Constraints) -> TCState -> TCState
- mapSleepingConstraints :: (Constraints -> Constraints) -> TCState -> TCState
- inMutualBlock :: (MutualId -> TCM a) -> TCM a
- setMutualBlockInfo :: MutualId -> MutualInfo -> TCM ()
- insertMutualBlockInfo :: MutualId -> MutualInfo -> TCM ()
- setMutualBlock :: MutualId -> QName -> TCM ()
- currentOrFreshMutualBlock :: TCM MutualId
- lookupMutualBlock :: ReadTCState tcm => MutualId -> tcm MutualBlock
- mutualBlockOf :: QName -> TCM MutualId
- isSizeTypeTest :: (HasOptions m, HasBuiltins m) => m (Term -> Maybe BoundedSize)
- getBuiltinSize :: HasBuiltins m => m (Maybe QName, Maybe QName)
- getBuiltinDefName :: HasBuiltins m => BuiltinId -> m (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 :: BuiltinId -> QName -> Type -> TCM ()
- sizeSort :: Sort
- sizeUniv :: Type
- sizeType_ :: QName -> 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) => List1 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
- setCommandLineOptions' :: AbsolutePath -> CommandLineOptions -> TCM ()
- setLibraryPaths :: AbsolutePath -> CommandLineOptions -> TCM CommandLineOptions
- setIncludeDirs :: [FilePath] -> AbsolutePath -> TCM ()
- getAgdaLibFilesWithoutTopLevelModuleName :: AbsolutePath -> TCM [AgdaLibFile]
- checkLibraryFileNotTooFarDown :: TopLevelModuleName -> AgdaLibFile -> TCM ()
- getLibraryOptions :: AbsolutePath -> TopLevelModuleName -> TCM [OptionsPragma]
- 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
- isPropEnabled :: HasOptions m => m Bool
- isLevelUniverseEnabled :: 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
- setHardCompileTimeModeIfErased' :: LensQuantity q => q -> TCM a -> TCM a
- setRunTimeModeUnlessInHardCompileTimeMode :: TCM a -> TCM a
- setModeUnlessInHardCompileTimeMode :: Erased -> TCM a -> TCM a
- warnForPlentyInHardCompileTimeMode :: Erased -> TCM ()
- addConstant :: QName -> Definition -> TCM ()
- addConstant' :: QName -> ArgInfo -> QName -> Type -> Defn -> TCM ()
- setTerminates :: MonadTCState m => QName -> Bool -> m ()
- setCompiledClauses :: QName -> CompiledClauses -> TCM ()
- setSplitTree :: QName -> SplitTree -> TCM ()
- modifyFunClauses :: QName -> ([Clause] -> [Clause]) -> TCM ()
- addClauses :: (MonadConstraint m, MonadTCState m) => QName -> [Clause] -> m ()
- 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 ()
- getSection :: (Functor m, ReadTCState m) => ModuleName -> m (Maybe Section)
- setModuleCheckpoint :: ModuleName -> TCM ()
- addDisplayForms :: QName -> TCM ()
- projectionArgs :: Definition -> Int
- addDisplayForm :: QName -> DisplayForm -> TCM ()
- applySection :: ModuleName -> Telescope -> ModuleName -> Args -> ScopeCopyInfo -> TCM ()
- applySection' :: ModuleName -> Telescope -> ModuleName -> Args -> ScopeCopyInfo -> TCM ()
- hasLoopingDisplayForm :: QName -> TCM Bool
- getDisplayForms :: (HasConstInfo m, ReadTCState m) => QName -> m [LocalDisplayForm]
- chaseDisplayForms :: QName -> TCM (Set QName)
- canonicalName :: HasConstInfo m => QName -> m QName
- sameDef :: HasConstInfo m => QName -> QName -> m (Maybe QName)
- singleConstructorType :: QName -> TCM Bool
- prettySigCubicalNotErasure :: MonadPretty m => QName -> m Doc
- sigError :: (HasCallStack, MonadDebug m) => m a -> SigError -> m a
- getOriginalConstInfo :: (ReadTCState m, HasConstInfo m) => QName -> m Definition
- defaultGetRewriteRulesFor :: (ReadTCState m, MonadTCEnv m) => QName -> m RewriteRules
- getOriginalProjection :: HasConstInfo m => QName -> m QName
- isProjection :: HasConstInfo m => QName -> m (Maybe Projection)
- defaultGetConstInfo :: (HasOptions m, MonadDebug m, MonadTCEnv m) => TCState -> TCEnv -> QName -> m (Either SigError Definition)
- alwaysMakeAbstract :: Definition -> Maybe 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)
- setErasedConArgs :: QName -> [Bool] -> TCM ()
- 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)
- getModuleFreeVars :: (Functor m, Applicative m, MonadTCEnv m, ReadTCState m) => ModuleName -> m Nat
- freeVarsToApply :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => QName -> m Args
- 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
- inAbstractMode :: MonadTCEnv m => m a -> m a
- inConcreteMode :: MonadTCEnv m => m a -> m a
- underOpaqueId :: MonadTCEnv m => OpaqueId -> m a -> m a
- notUnderOpaque :: MonadTCEnv m => m a -> m a
- inConcreteOrAbstractMode :: (MonadTCEnv m, HasConstInfo m) => QName -> (Definition -> m a) -> m a
- relOfConst :: HasConstInfo m => QName -> m Relevance
- modalityOfConst :: HasConstInfo m => QName -> m Modality
- droppedPars :: Definition -> Int
- isProjection_ :: Defn -> Maybe Projection
- isRelevantProjection :: HasConstInfo m => QName -> m (Maybe Projection)
- isRelevantProjection_ :: Definition -> Maybe Projection
- isStaticFun :: Defn -> Bool
- isInlineFun :: Defn -> Bool
- isProperProjection :: Defn -> Bool
- usesCopatterns :: HasConstInfo m => QName -> m Bool
- allMetaKinds :: [MetaKind]
- dontAssignMetas :: (MonadTCEnv m, HasOptions m, MonadDebug m) => m a -> m a
- isRemoteMeta :: ReadTCState m => m (MetaId -> Bool)
- nextLocalMeta :: ReadTCState m => m MetaId
- metasCreatedBy :: forall m a. ReadTCState m => m a -> m (a, LocalMetaStores)
- lookupLocalMeta' :: ReadTCState m => MetaId -> m (Maybe MetaVariable)
- lookupLocalMeta :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m MetaVariable
- lookupMetaInstantiation :: ReadTCState m => MetaId -> m MetaInstantiation
- lookupMetaJudgement :: ReadTCState m => MetaId -> m (Judgement MetaId)
- lookupMetaModality :: ReadTCState m => MetaId -> m Modality
- updateMetaVarTCM :: HasCallStack => MetaId -> (MetaVariable -> MetaVariable) -> TCM ()
- isOpenMeta :: MetaInstantiation -> Bool
- insertMetaVar :: MetaId -> MetaVariable -> TCM ()
- getMetaPriority :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m MetaPriority
- isSortMeta :: ReadTCState m => MetaId -> m Bool
- isSortJudgement :: Judgement a -> Bool
- isSortMeta_ :: MetaVariable -> Bool
- getMetaType :: ReadTCState m => MetaId -> m Type
- getMetaContextArgs :: MonadTCEnv m => MetaVariable -> m Args
- getMetaTypeInContext :: (HasBuiltins m, HasCallStack, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => MetaId -> m Type
- isGeneralizableMeta :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m DoGeneralize
- isInstantiatedMeta' :: (MonadFail m, ReadTCState m) => MetaId -> m (Maybe Term)
- constraintMetas :: Constraint -> TCM (Set MetaId)
- getMetaListeners :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m [Listener]
- createMetaInfo :: (MonadTCEnv m, ReadTCState m) => m MetaInfo
- createMetaInfo' :: (MonadTCEnv m, ReadTCState m) => RunMetaOccursCheck -> m MetaInfo
- setValueMetaName :: MonadMetaSolver m => Term -> MetaNameSuggestion -> m ()
- setMetaNameSuggestion :: MonadMetaSolver m => MetaId -> MetaNameSuggestion -> m ()
- getMetaNameSuggestion :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m MetaNameSuggestion
- setMetaGeneralizableArgInfo :: MonadMetaSolver m => MetaId -> ArgInfo -> m ()
- updateMetaVarRange :: MonadMetaSolver m => MetaId -> Range -> m ()
- setMetaOccursCheck :: MonadMetaSolver m => MetaId -> RunMetaOccursCheck -> m ()
- 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 :: (HasCallStack, MonadDebug m, ReadTCState m) => [MetaId] -> m [Range]
- getUnsolvedMetas :: (HasCallStack, MonadDebug m, ReadTCState m) => m [Range]
- getOpenMetas :: ReadTCState m => m [MetaId]
- getUnsolvedInteractionMetas :: (HasCallStack, MonadDebug m, ReadTCState m) => m [Range]
- getInteractionIdsAndMetas :: ReadTCState m => m [(InteractionId, MetaId)]
- 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
- newMetaTCM' :: MetaInstantiation -> Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> TCM MetaId
- getInteractionScope :: (MonadDebug m, MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m) => InteractionId -> m ScopeInfo
- withMetaInfo' :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => MetaVariable -> m a -> m a
- listenToMeta :: MonadMetaSolver m => Listener -> MetaId -> m ()
- unlistenToMeta :: MonadMetaSolver m => Listener -> MetaId -> m ()
- clearMetaListeners :: MonadMetaSolver m => MetaId -> m ()
- etaExpandMetaSafe :: MonadMetaSolver m => MetaId -> m ()
- etaExpandListeners :: MonadMetaSolver m => MetaId -> m ()
- wakeupListener :: MonadMetaSolver m => Listener -> m ()
- solveAwakeConstraints :: MonadConstraint m => m ()
- solveAwakeConstraints' :: MonadConstraint m => Bool -> m ()
- freezeMetas :: MonadTCState m => LocalMetaStore -> m (Set MetaId)
- unfreezeMetas :: TCM ()
- isFrozen :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m Bool
- withFrozenMetas :: (MonadMetaSolver m, MonadTCState m) => m a -> m a
- 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
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
data Constraint Source #
Constructors
ValueCmp Comparison CompareAs Term Term | |
ValueCmpOnFace Comparison Term Type Term Term | |
ElimCmp [Polarity] [IsForced] Type Term [Elim] [Elim] | |
SortCmp Comparison Sort Sort | |
LevelCmp Comparison Level Level | |
HasBiggerSort Sort | |
HasPTSRule (Dom Type) (Abs Sort) | |
CheckDataSort QName Sort | Check that the sort |
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 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 WhyCheckModality (Maybe Sort) Modality Term | Is the term usable at the given modality?
This check should run if the |
Instances
Constructors
Instances
data Comparison Source #
Instances
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 # | |
EmbPrj Comparison Source # | |
Generic Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Comparison :: Type -> Type # | |
Show Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Comparison -> ShowS # show :: Comparison -> String # showList :: [Comparison] -> ShowS # | |
NFData Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Comparison -> () # | |
Eq Comparison Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep Comparison 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.3.20230805-inplace" '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)))) |
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
NamesIn System Source # | |
Defined in Agda.Syntax.Internal.Names | |
KillRange System Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
InstantiateFull System Source # | |
Defined in Agda.TypeChecking.Reduce | |
EmbPrj System Source # | |
Abstract System Source # | |
Apply System Source # | |
Generic System Source # | |
Show System Source # | |
NFData System Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
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.3.20230805-inplace" '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 |
Constructors
Sig | |
Fields
|
Instances
KillRange Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
InstantiateFull Signature Source # | |
Defined in Agda.TypeChecking.Reduce | |
EmbPrj Signature Source # | |
Generic Signature Source # | |
Show Signature Source # | |
NFData Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep Signature Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep Signature = D1 ('MetaData "Signature" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" '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)))) |
type Context = [ContextEntry] Source #
The Context
is a stack of ContextEntry
s.
type Constraints = [ProblemConstraint] Source #
Constructors
Builtin Term | |
Prim pf | |
BuiltinRewriteRelations (Set QName) |
|
Instances
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
Instances
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 #
getProfileOptions :: m ProfileOptions Source #
default getProfileOptions :: (MonadTrans t, MonadDebug n, m ~ t n) => m ProfileOptions 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
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
data HighlightingMethod Source #
How should highlighting be sent to the user interface?
Instances
Polarity for equality and subtype checking.
Constructors
Covariant | monotone |
Contravariant | antitone |
Invariant | no information (mixed variance) |
Nonvariant | constant |
Instances
Pretty Polarity Source # | |
KillRange Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
PrettyTCM Polarity Source # | |
Defined in Agda.TypeChecking.Pretty | |
EmbPrj Polarity Source # | |
Generic Polarity Source # | |
Show Polarity Source # | |
NFData Polarity Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq Polarity Source # | |
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.3.20230805-inplace" '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))) |
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
EncodeTCM TCErr Source # | |
HasRange TCErr Source # | |
PrettyTCM TCErr Source # | |
Defined in Agda.TypeChecking.Errors | |
Exception TCErr Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods toException :: TCErr -> SomeException # fromException :: SomeException -> Maybe TCErr # displayException :: TCErr -> String # | |
Show TCErr Source # | |
NFData TCErr Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadError TCErr IM Source # | |
Defined in Agda.Interaction.Monad | |
MonadError TCErr TerM Source # | |
Defined in Agda.Termination.Monad | |
MonadError TCErr TCM Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Monad m => MonadError TCErr (PureConversionT m) Source # | |
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 # | |
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 | |
Instances
MetaInfo
is cloned from one meta to the next during pruning.
Constructors
MetaInfo | |
Fields
|
Instances
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] | |
InlineNoExactSplit 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 |
InteractionMetaBoundaries [Range] | Do not use directly with |
CantGeneralizeOverSorts [MetaId] | |
AbsurdPatternRequiresNoRHS [NamedArg DeBruijnPattern] | |
OldBuiltin BuiltinId BuiltinId | 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. |
OptionWarning OptionWarning | |
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 Doc | Importing a file using an infective option into one which doesn't |
CoInfectiveImport Doc | Importing a file not using a coinfective option from one which does |
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 |
UnsupportedIndexedMatch Doc | Was not able to compute a full equivalence when splitting. |
AsPatternShadowsConstructorOrPatternSynonym Bool | The as-name in an as-pattern may not shadow a constructor ( |
PlentyInHardCompileTimeMode QωOrigin | Explicit use of @ |
RecordFieldWarning RecordFieldWarning | |
NotAffectedByOpaque | |
UnfoldTransparentName QName | |
UselessOpaque |
Instances
Constructors
TCWarning | |
Fields
|
Instances
For printing, we couple a meta with its name suggestion.
Constructors
NamedMeta | |
Fields |
type ModuleToSource = Map TopLevelModuleName AbsolutePath Source #
Maps top-level module names to the corresponding source file names.
type Definitions = HashMap QName Definition Source #
Datatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ⊢ t = ?n es
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
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 IM Source # | |
MonadTCEnv AbsToCon Source # | |
MonadTCEnv TerM Source # | |
MonadTCEnv ReduceM Source # | |
MonadTCEnv NLM 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 (BlockT m) Source # | |
MonadIO m => MonadTCEnv (TCMT m) Source # | |
MonadTCEnv m => MonadTCEnv (NamesT m) Source # | |
MonadTCEnv m => MonadTCEnv (ListT m) Source # | |
MonadTCEnv m => MonadTCEnv (ChangeT m) Source # | |
MonadTCEnv m => MonadTCEnv (MaybeT m) Source # | |
MonadTCEnv m => MonadTCEnv (ExceptT err m) Source # | |
MonadTCEnv m => MonadTCEnv (IdentityT m) Source # | |
MonadTCEnv m => MonadTCEnv (ReaderT r m) Source # | |
MonadTCEnv m => MonadTCEnv (StateT s m) Source # | |
(Monoid w, MonadTCEnv m) => MonadTCEnv (WriterT w m) Source # | |
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 IM Source # | |
MonadTCM TerM Source # | |
MonadTCM m => MonadTCM (BlockT m) Source # | |
MonadIO m => MonadTCM (TCMT m) Source # | |
MonadTCM m => MonadTCM (NamesT m) Source # | |
MonadTCM tcm => MonadTCM (ListT tcm) Source # | |
MonadTCM tcm => MonadTCM (ChangeT tcm) Source # | |
MonadTCM tcm => MonadTCM (MaybeT tcm) Source # | |
MonadTCM tcm => MonadTCM (ExceptT err tcm) Source # | |
MonadTCM tcm => MonadTCM (IdentityT tcm) Source # | |
MonadTCM tcm => MonadTCM (ReaderT r tcm) Source # | |
MonadTCM tcm => MonadTCM (StateT s tcm) Source # | |
(Monoid w, MonadTCM tcm) => MonadTCM (WriterT w tcm) Source # | |
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 #
modifyTC :: (TCState -> TCState) -> m () Source #
default modifyTC :: (MonadTrans t, MonadTCState n, t n ~ m) => (TCState -> TCState) -> m () Source #
Instances
MonadTCState IM Source # | |
MonadTCState TerM Source # | |
MonadTCState m => MonadTCState (BlockT m) Source # | |
MonadIO m => MonadTCState (TCMT m) Source # | |
MonadTCState m => MonadTCState (NamesT m) Source # | |
MonadTCState m => MonadTCState (ListT m) Source # | |
MonadTCState m => MonadTCState (ChangeT m) Source # | |
MonadTCState m => MonadTCState (MaybeT m) Source # | |
MonadTCState m => MonadTCState (ExceptT err m) Source # | |
MonadTCState m => MonadTCState (IdentityT m) Source # | |
MonadTCState m => MonadTCState (ReaderT r m) Source # | |
MonadTCState m => MonadTCState (StateT s m) Source # | |
(Monoid w, MonadTCState m) => MonadTCState (WriterT w m) Source # | |
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' TCState a -> (a -> a) -> m b -> m b Source #
default locallyTCState :: (MonadTransControl t, ReadTCState n, t n ~ m) => Lens' TCState a -> (a -> a) -> m b -> m b Source #
withTCState :: (TCState -> TCState) -> m a -> m a Source #
Instances
Instances
data SomeBuiltin Source #
Either a BuiltinId
or PrimitiveId
, used for some lookups.
Constructors
BuiltinName !BuiltinId | |
PrimitiveName !PrimitiveId |
Instances
data LHSOrPatSyn Source #
Distinguish error message when parsing lhs or pattern synonym, resp.
Instances
Generic LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep LHSOrPatSyn :: Type -> Type # | |
Show LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> LHSOrPatSyn -> ShowS # show :: LHSOrPatSyn -> String # showList :: [LHSOrPatSyn] -> ShowS # | |
NFData LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: LHSOrPatSyn -> () # | |
Eq LHSOrPatSyn Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep LHSOrPatSyn Source # | |
class (Functor m, Applicative m, MonadFail m) => HasBuiltins m where Source #
Minimal complete definition
Nothing
Methods
getBuiltinThing :: SomeBuiltin -> m (Maybe (Builtin PrimFun)) Source #
default getBuiltinThing :: (MonadTrans t, HasBuiltins n, t n ~ m) => SomeBuiltin -> m (Maybe (Builtin PrimFun)) Source #
Instances
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
Constructors
Instances
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
Constructors
Closure | |
Fields
|
Instances
A builtin name, defined by the BUILTIN
pragma.
Constructors
Instances
IsBuiltin BuiltinId Source # | |
Defined in Agda.Syntax.Builtin | |
Pretty BuiltinId Source # | |
KillRange BuiltinId Source # | |
Defined in Agda.Syntax.Builtin Methods | |
EmbPrj BuiltinId Source # | |
Bounded BuiltinId Source # | |
Enum BuiltinId Source # | |
Defined in Agda.Syntax.Builtin Methods succ :: BuiltinId -> BuiltinId # pred :: BuiltinId -> BuiltinId # fromEnum :: BuiltinId -> Int # enumFrom :: BuiltinId -> [BuiltinId] # enumFromThen :: BuiltinId -> BuiltinId -> [BuiltinId] # enumFromTo :: BuiltinId -> BuiltinId -> [BuiltinId] # enumFromThenTo :: BuiltinId -> BuiltinId -> BuiltinId -> [BuiltinId] # | |
Generic BuiltinId Source # | |
Show BuiltinId Source # | |
NFData BuiltinId Source # | |
Defined in Agda.Syntax.Builtin | |
Eq BuiltinId Source # | |
Ord BuiltinId Source # | |
Hashable BuiltinId Source # | |
Defined in Agda.Syntax.Builtin | |
type Rep BuiltinId Source # | |
Defined in Agda.Syntax.Builtin type Rep BuiltinId = D1 ('MetaData "BuiltinId" "Agda.Syntax.Builtin" "Agda-2.6.3.20230805-inplace" 'False) (((((((C1 ('MetaCons "BuiltinNat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinSuc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinZero" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinNatPlus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinNatMinus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinNatTimes" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinNatDivSucAux" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinNatModSucAux" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinNatEquals" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinNatLess" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinWord64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinInteger" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinIntegerPos" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinIntegerNegSuc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinFloat" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinChar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinString" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinUnit" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinUnitUnit" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinSigma" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinSigmaCon" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinBool" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinTrue" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinFalse" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinList" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "BuiltinNil" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinCons" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinMaybe" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinNothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinJust" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinIO" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinId" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinReflId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinPath" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinPathP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinIntervalUniv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinInterval" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinIZero" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinIOne" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinPartial" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinPartialP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinIsOne" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinItIsOne" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinEquiv" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinEquivFun" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinEquivProof" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinTranspProof" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinIsOne1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinIsOne2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinIsOneEmpty" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "BuiltinSub" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinSubIn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinSizeUniv" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinSize" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinSizeLt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinSizeSuc" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinSizeInf" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinSizeMax" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinInf" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinSharp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinFlat" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinEquality" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinRefl" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinRewrite" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinLevelMax" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinLevel" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinLevelZero" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinLevelSuc" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinProp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinSet" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinStrictSet" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinPropOmega" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinSetOmega" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinSSetOmega" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinLevelUniv" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "BuiltinFromNat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinFromNeg" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinFromString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinQName" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaSort" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaSortSet" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaSortLit" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaSortProp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaSortPropLit" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinAgdaSortInf" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaSortUnsupported" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinHiding" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinHidden" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinInstance" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinVisible" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinRelevance" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinRelevant" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinIrrelevant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinQuantity" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinQuantity0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinQuantity\969" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinModality" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinModalityConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAssoc" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinAssocLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAssocRight" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "BuiltinAssocNon" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinPrecedence" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinPrecRelated" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinPrecUnrelated" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinFixity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinFixityFixity" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinArg" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinArgInfo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinArgArgInfo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinArgArg" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAbs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAbsAbs" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinAgdaTerm" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTermVar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTermLam" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaTermExtLam" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTermDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTermCon" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaTermPi" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTermSort" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTermLit" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinAgdaTermUnsupported" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTermMeta" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinAgdaErrorPart" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaErrorPartString" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "BuiltinAgdaErrorPartTerm" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaErrorPartPatt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaErrorPartName" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaLiteral" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaLitNat" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaLitWord64" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaLitFloat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaLitChar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaLitString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaLitQName" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaLitMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaClause" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinAgdaClauseClause" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaClauseAbsurd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaPattern" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaPatVar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaPatCon" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaPatDot" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaPatLit" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaPatProj" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaPatAbsurd" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinAgdaDefinitionFunDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaDefinitionDataDef" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinAgdaDefinitionRecordDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaDefinitionDataConstructor" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "BuiltinAgdaDefinitionPostulate" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaDefinitionPrimitive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaDefinition" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMReturn" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaTCMBind" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMUnify" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMTypeError" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaTCMInferType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMCheckType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMNormalise" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinAgdaTCMReduce" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMCatchError" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMGetContext" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaTCMExtendContext" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMInContext" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMFreshName" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaTCMDeclareDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMDeclarePostulate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMDeclareData" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinAgdaTCMDefineData" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMDefineFun" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinAgdaTCMGetType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMGetDefinition" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "BuiltinAgdaTCMBlock" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMCommit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMQuoteTerm" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaTCMUnquoteTerm" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMQuoteOmegaTerm" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMIsMacro" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaTCMWithNormalisation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMWithReconstructed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMWithExpandLast" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinAgdaTCMWithReduceDefs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMAskNormalisation" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinAgdaTCMAskReconstructed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMAskExpandLast" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BuiltinAgdaTCMAskReduceDefs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMFormatErrorParts" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMDebugPrint" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BuiltinAgdaTCMNoConstraints" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMRunSpeculative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMExec" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BuiltinAgdaTCMGetInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BuiltinAgdaTCMPragmaForeign" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaTCMPragmaCompile" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BuiltinAgdaBlocker" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaBlockerAny" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BuiltinAgdaBlockerAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BuiltinAgdaBlockerMeta" 'PrefixI 'False) (U1 :: Type -> Type))))))))) |
data PrimitiveId Source #
A primitive name, defined by the primitive
block.
Constructors
Instances
type Verbosity = Maybe (Trie VerboseKeyItem VerboseLevel) Source #
Nothing
is used if no verbosity options have been given,
thus making it possible to handle the default case relatively
quickly. Note that Nothing
corresponds to a trie with
verbosity level 1 for the empty path.
type VerboseKey = String Source #
type VerboseLevel = Int Source #
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' :: Origin -> 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) => Origin -> 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
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
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
MonadStatistics TerM Source # | |
Defined in Agda.Termination.Monad | |
MonadStatistics TCM Source # | |
Defined in Agda.TypeChecking.Monad.Statistics | |
ReadTCState m => MonadStatistics (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods modifyCounter :: String -> (Integer -> Integer) -> PureConversionT m () Source # | |
MonadStatistics m => MonadStatistics (MaybeT m) Source # | |
Defined in Agda.TypeChecking.Monad.Statistics | |
MonadStatistics m => MonadStatistics (ExceptT e m) Source # | |
Defined in Agda.TypeChecking.Monad.Statistics | |
MonadStatistics m => MonadStatistics (ReaderT r m) Source # | |
Defined in Agda.TypeChecking.Monad.Statistics | |
MonadStatistics m => MonadStatistics (StateT s m) Source # | |
Defined in Agda.TypeChecking.Monad.Statistics | |
(MonadStatistics m, Monoid w) => MonadStatistics (WriterT w m) Source # | |
Defined in Agda.TypeChecking.Monad.Statistics |
data CompilerPragma Source #
The backends are responsible for parsing their own pragmas.
Constructors
CompilerPragma Range String |
Instances
Constructors
TCEnv | |
Fields
|
Instances
data Definition Source #
Constructors
Defn | |
Fields
|
Instances
Constructors
Interface | |
Fields
|
Instances
type MonadTCError m = (MonadTCEnv m, ReadTCState m, MonadError TCErr m) Source #
The constraints needed for typeError
and similar.
type BackendName = String Source #
Constructors
TCSt | |
Fields
|
Instances
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
class (HasBuiltins m, HasConstInfo m, MonadAddContext m, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => PureTCM m Source #
Instances
type RewriteRules = [RewriteRule] Source #
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. |
SigCubicalNotErasure | The name is not available because it was defined in Cubical
Agda, but the current language is Erased Cubical Agda, and
|
Constructors
PrimFun | |
Fields
|
Instances
NamesIn PrimFun Source # | Note that the |
Defined in Agda.Syntax.Internal.Names | |
Abstract PrimFun Source # | |
Apply PrimFun Source # | |
Generic PrimFun Source # | |
NFData PrimFun Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep PrimFun Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep PrimFun = D1 ('MetaData "PrimFun" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" 'False) (C1 ('MetaCons "PrimFun" 'PrefixI 'True) ((S1 ('MetaSel ('Just "primFunName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just "primFunArity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Arity)) :*: (S1 ('MetaSel ('Just "primFunArgOccurrences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Occurrence]) :*: S1 ('MetaSel ('Just "primFunImplementation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ([Arg Term] -> Int -> ReduceM (Reduced MaybeReducedArgs Term)))))) |
data RunMetaOccursCheck Source #
Constructors
RunMetaOccursCheck | |
DontRunMetaOccursCheck |
Instances
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 CompareDirection Source #
An extension of Comparison
to >=
.
Instances
Pretty CompareDirection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: CompareDirection -> Doc Source # prettyPrec :: Int -> CompareDirection -> Doc Source # prettyList :: [CompareDirection] -> Doc Source # | |
Show CompareDirection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> CompareDirection -> ShowS # show :: CompareDirection -> String # showList :: [CompareDirection] -> ShowS # | |
Eq CompareDirection Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods (==) :: CompareDirection -> CompareDirection -> Bool # (/=) :: CompareDirection -> CompareDirection -> Bool # |
data MetaVariable Source #
Information about local meta-variables.
Constructors
MetaVar | |
Fields
|
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 local meta-variable, if it is of the specified kind. Don't do anything if the meta-variable 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
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
MonadBlock TCM Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadBlock NLM Source # | |
Defined in Agda.TypeChecking.Rewriting.NonLinMatch | |
Monad m => MonadBlock (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods patternViolation :: Blocker -> PureConversionT m a Source # catchPatternErr :: (Blocker -> PureConversionT m a) -> PureConversionT m a -> PureConversionT m a Source # | |
Monad m => MonadBlock (BlockT m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadBlock m => MonadBlock (MaybeT m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Monad m => MonadBlock (ExceptT TCErr m) Source # | |
MonadBlock m => MonadBlock (ReaderT e m) Source # | |
Defined in Agda.TypeChecking.Monad.Base |
Constructors
NoReduction no | |
YesReduction Simplification yes |
data ProblemConstraint Source #
Constructors
PConstr | |
Fields |
Instances
class IsBuiltin a where Source #
The class of types which can be converted to SomeBuiltin
.
Methods
someBuiltin :: a -> SomeBuiltin Source #
Convert this value to a builtin.
getBuiltinId :: a -> String Source #
Get the identifier for this builtin, generally used for error messages.
Instances
IsBuiltin BuiltinId Source # | |
Defined in Agda.Syntax.Builtin | |
IsBuiltin PrimitiveId Source # | |
Defined in Agda.Syntax.Builtin Methods someBuiltin :: PrimitiveId -> SomeBuiltin Source # getBuiltinId :: PrimitiveId -> String Source # | |
IsBuiltin SomeBuiltin Source # | |
Defined in Agda.Syntax.Builtin Methods someBuiltin :: SomeBuiltin -> SomeBuiltin Source # getBuiltinId :: SomeBuiltin -> String Source # |
data ForeignCode Source #
Constructors
ForeignCode Range String |
Instances
EmbPrj ForeignCode Source # | |
Generic ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ForeignCode :: Type -> Type # | |
Show ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ForeignCode -> ShowS # show :: ForeignCode -> String # showList :: [ForeignCode] -> ShowS # | |
NFData ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ForeignCode -> () # | |
type Rep ForeignCode Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ForeignCode = D1 ('MetaData "ForeignCode" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" '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))) |
data LetBinding Source #
Instances
Constructors
Section | |
Fields |
Instances
Pretty Section Source # | |
NamesIn Section Source # | |
Defined in Agda.Syntax.Internal.Names | |
KillRange Section Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
KillRange Sections Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
InstantiateFull Section Source # | |
Defined in Agda.TypeChecking.Reduce | |
EmbPrj Section Source # | |
Show Section Source # | |
NFData Section Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq Section Source # | |
data PreScopeState Source #
Constructors
PreScopeState | |
Fields
|
Instances
data PostScopeState Source #
Constructors
PostScopeState | |
Fields
|
Instances
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
type BuiltinThings pf = Map SomeBuiltin (Builtin pf) Source #
type DisplayForms = HashMap QName [LocalDisplayForm] Source #
type InstanceTable = Map QName (Set QName) Source #
The instance table is a Map
associating to every name of
recorddata typepostulate its list of instances
newtype ForeignCodeStack Source #
Foreign code fragments are stored in reversed order to support efficient appending: head points to the latest pragma in module.
Constructors
ForeignCodeStack | |
Fields |
Instances
EmbPrj ForeignCodeStack Source # | |
Generic ForeignCodeStack Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ForeignCodeStack :: Type -> Type # Methods from :: ForeignCodeStack -> Rep ForeignCodeStack x # to :: Rep ForeignCodeStack x -> ForeignCodeStack # | |
Show ForeignCodeStack Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> ForeignCodeStack -> ShowS # show :: ForeignCodeStack -> String # showList :: [ForeignCodeStack] -> ShowS # | |
NFData ForeignCodeStack Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: ForeignCodeStack -> () # | |
type Rep ForeignCodeStack Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ForeignCodeStack = D1 ('MetaData "ForeignCodeStack" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" 'True) (C1 ('MetaCons "ForeignCodeStack" 'PrefixI 'True) (S1 ('MetaSel ('Just "getForeignCodeStack") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ForeignCode]))) |
type RemoteMetaStore = HashMap MetaId RemoteMetaVariable Source #
Used for meta-variables from other modules (and in Interface
s).
data DisambiguatedName Source #
Name disambiguation for the sake of highlighting.
Constructors
DisambiguatedName NameKind QName |
Instances
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.3.20230805-inplace" 'False) (C1 ('MetaCons "DisambiguatedName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameKind) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) |
type LocalMetaStore = Map MetaId MetaVariable Source #
Used for meta-variables from the current module.
type InteractionPoints = BiMap InteractionId InteractionPoint Source #
Data structure managing the interaction points.
We never remove interaction points from this map, only set their
ipSolved
to True
. (Issue #2368)
newtype CheckpointId Source #
Constructors
CheckpointId Int |
Instances
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.
Instances
KillRange MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
HasFresh MutualId Source # | |
EmbPrj MutualId Source # | |
Enum MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Num MutualId Source # | |
Show MutualId Source # | |
NFData MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq MutualId Source # | |
Ord MutualId Source # | |
Defined in Agda.TypeChecking.Monad.Base |
data MutualBlock Source #
A mutual block of names in the signature.
Constructors
MutualBlock | |
Fields
|
Instances
Null MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Generic MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep MutualBlock :: Type -> Type # | |
Show MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> MutualBlock -> ShowS # show :: MutualBlock -> String # showList :: [MutualBlock] -> ShowS # | |
NFData MutualBlock Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: MutualBlock -> () # | |
Eq 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.3.20230805-inplace" '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 OpaqueBlock Source #
A block of opaque definitions.
Constructors
OpaqueBlock | |
Fields
|
Instances
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.3.20230805-inplace" 'False) (C1 ('MetaCons "LoadedFileCache" 'PrefixI 'True) (S1 ('MetaSel ('Just "lfcCached") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CachedTypeCheckLog) :*: S1 ('MetaSel ('Just "lfcCurrent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CurrentTypeCheckLog))) |
type CachedTypeCheckLog = [(TypeCheckAction, PostScopeState)] Source #
A log of what the type checker does and states after the action is completed. The cached version is stored first executed action first.
type CurrentTypeCheckLog = [(TypeCheckAction, PostScopeState)] Source #
Like CachedTypeCheckLog
, but storing the log for an ongoing type
checking of a module. Stored in reverse order (last performed action
first).
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 !Erased !ModuleName !Telescope | |
LeaveSection !ModuleName | |
Decl !Declaration | Never a Section or ScopeDecl |
Pragmas !PragmaOptions |
Instances
class Enum i => HasFresh i where Source #
Minimal complete definition
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
MonadFresh NameId AbsToCon Source # | |
HasFresh i => MonadFresh i TCM Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Monad m => MonadFresh NameId (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m NameId Source # | |
Monad m => MonadFresh ProblemId (PureConversionT m) Source # | |
Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m ProblemId Source # | |
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 | |
MonadFresh i m => MonadFresh i (IdentityT m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadFresh i m => MonadFresh i (ReaderT r m) Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
MonadFresh i m => MonadFresh i (StateT s m) Source # | |
Defined in Agda.TypeChecking.Monad.Base |
class FreshName a where Source #
Create a fresh name from a
.
Methods
freshName_ :: MonadFresh NameId m => a -> m Name Source #
Instances
FreshName Range Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => Range -> m Name Source # | |
FreshName String Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => String -> m Name Source # | |
FreshName () Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => () -> m Name Source # | |
FreshName (Range, String) Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods freshName_ :: MonadFresh NameId m => (Range, String) -> m Name Source # |
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
data ModuleCheckMode Source #
Distinguishes between type-checked and scope-checked interfaces
when stored in the map of VisitedModules
.
Constructors
ModuleScopeChecked | |
ModuleTypeChecked |
Instances
class LensClosure b a | b -> a where Source #
Methods
lensClosure :: Lens' b (Closure a) Source #
Instances
LensClosure MetaInfo Range Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
LensClosure MetaVariable Range Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
LensClosure (Closure a) a Source # | |
Defined in Agda.TypeChecking.Monad.Base |
data WhyCheckModality Source #
Why are we performing a modality check?
Constructors
ConstructorType | Because --without-K is enabled, so the types of data constructors must be usable at the context's modality. |
IndexedClause | Because --without-K is enabled, so the result type of clauses must be usable at the context's modality. |
IndexedClauseArg Name Name | Because --without-K is enabled, so any argument (second name) which mentions a dotted argument (first name) must have a type which is usable at the context's modality. |
GeneratedClause | Because we double-check the --cubical-compatible clauses. This is an internal error! |
Instances
Information about whether an argument is forced by the type of a function.
Instances
KillRange IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
PrettyTCM IsForced Source # | |
Defined in Agda.TypeChecking.Pretty | |
ChooseFlex IsForced Source # | |
Defined in Agda.TypeChecking.Rules.LHS.Problem Methods chooseFlex :: IsForced -> IsForced -> FlexChoice Source # | |
EmbPrj IsForced Source # | |
Generic IsForced Source # | |
Show IsForced Source # | |
NFData IsForced Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq IsForced Source # | |
type Rep IsForced Source # | |
A candidate solution for an instance meta is a term with its type. It may be the case that the candidate is not fully applied yet or of the wrong type, hence the need for the type.
Constructors
Candidate | |
Fields |
Instances
Parametrized since it is used without MetaId when creating a new meta.
Constructors
HasType | |
Fields
| |
IsSort | |
Instances
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
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
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
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 -> () # | |
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 # |
data MetaInstantiation Source #
Constructors
InstV Instantiation | solved |
Open | unsolved |
OpenInstance | open, to be instantiated by instance search |
BlockedConst Term | solution blocked by unsolved constraints |
PostponedTypeCheckingProblem (Closure TypeCheckingProblem) |
Instances
Constructors
EtaExpand MetaId | |
CheckConstraint Nat ProblemConstraint |
Instances
Generic Listener Source # | |
NFData Listener Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq Listener Source # | |
Ord 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.3.20230805-inplace" '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))) |
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 |
data Instantiation Source #
Meta-variable instantiations.
Constructors
Instantiation | |
Instances
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
data RemoteMetaVariable Source #
Information about remote meta-variables.
Remote meta-variables are meta-variables originating in other modules. These meta-variables are always instantiated. We do not retain all the information about a local meta-variable when creating an interface:
- The
mvPriority
field is not needed, because the meta-variable cannot be instantiated. - The
mvFrozen
field is not needed, because there is no point in freezing instantiated meta-variables. - The
mvListeners
field is not needed, because no meta-variable should be listening to this one. - The
mvTwin
field is not needed, because the meta-variable has already been instantiated. - The
mvPermutation
is currently removed, but could be retained if it turns out to be useful for something. - The only part of the
mvInfo
field that is kept is themiModality
field. ThemiMetaOccursCheck
andmiGeneralizable
fields are omitted, because the meta-variable has already been instantiated. TheRange'
that is part of themiClosRange
field and themiNameSuggestion
field are omitted because instantiated meta-variables are typically not presented to users. Finally theClosure
part of themiClosRange
field is omitted because it can be large (at least if we ignore potential sharing).
Constructors
RemoteMetaVariable | |
Fields |
Instances
data CheckedTarget Source #
Solving a CheckArgs
constraint may or may not check the target type. If
it did, it returns a handle to any unsolved constraints.
Constructors
CheckedTarget (Maybe ProblemId) | |
NotCheckedTarget |
data PrincipalArgTypeMetas Source #
Constructors
PrincipalArgTypeMetas | |
Fields
|
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.3.20230805-inplace" 'False) (C1 ('MetaCons "PrincipalArgTypeMetas" 'PrefixI 'True) (S1 ('MetaSel ('Just "patmMetas") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Args) :*: S1 ('MetaSel ('Just "patmRemainder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) |
data ExpandHidden Source #
Constructors
ExpandLast | Add implicit arguments in the end until type is no longer hidden |
DontExpandLast | Do not append implicit arguments. |
ReallyDontExpandLast | Makes |
Instances
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 -> () # | |
Eq ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep ExpandHidden Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep ExpandHidden = D1 ('MetaData "ExpandHidden" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" 'False) (C1 ('MetaCons "ExpandLast" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DontExpandLast" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ReallyDontExpandLast" 'PrefixI 'False) (U1 :: Type -> Type))) |
data ArgsCheckState a Source #
Constructors
ACState | |
Fields
|
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 # |
type MetaNameSuggestion = String Source #
Name suggestion for meta variable. Empty string means no suggestion.
data InteractionPoint Source #
Interaction points are created by the scope checker who sets the range. The meta variable is created by the type checker and then hooked up to the interaction point.
Constructors
InteractionPoint | |
Fields
|
Instances
Which clause is an interaction point located in?
Constructors
IPClause | |
Fields
| |
IPNoClause | The interaction point is not in the rhs of a clause. |
Instances
type IPBoundary = IPBoundary' Term Source #
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
Generic Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep Overapplied :: Type -> Type # | |
Show Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> Overapplied -> ShowS # show :: Overapplied -> String # showList :: [Overapplied] -> ShowS # | |
NFData Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Overapplied -> () # | |
Eq Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep Overapplied Source # | |
Defined in Agda.TypeChecking.Monad.Base |
newtype IPBoundary' t Source #
Constructors
IPBoundary | |
Fields
|
Instances
type RewriteRuleMap = HashMap QName RewriteRules Source #
type LocalDisplayForm = Open DisplayForm Source #
data DisplayTerm Source #
Constructors
DWithApp DisplayTerm [DisplayTerm] Elims |
|
DCon ConHead ConInfo [Arg DisplayTerm] |
|
DDef QName [Elim' DisplayTerm] |
|
DDot' Term Elims |
|
DTerm' Term Elims |
|
Instances
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
Constructors
NLPType | |
Fields
|
Instances
Constructors
PUniv Univ NLPat | |
PInf Univ Integer | |
PSizeUniv | |
PLockUniv | |
PLevelUniv | |
PIntervalUniv |
Instances
data RewriteRule Source #
Rewrite rules can be added independently from function clauses.
Constructors
RewriteRule | |
Fields
|
Instances
Constructors
AxiomDefn AxiomData | Postulate. |
DataOrRecSigDefn DataOrRecSigData | Data or record type signature that doesn't yet have a definition. |
GeneralizableVar | Generalizable variable (introduced in |
AbstractDefn Defn | Returned by |
FunctionDefn FunctionData | |
DatatypeDefn DatatypeData | |
RecordDefn RecordData | |
ConstructorDefn ConstructorData | |
PrimitiveDefn PrimitiveData | Primitive or builtin functions. |
PrimitiveSortDefn PrimitiveSortData |
Instances
data NumGeneralizableArgs Source #
Constructors
NoGeneralizableArgs | |
SomeGeneralizableArgs !Int | When lambda-lifting new args are generalizable if
|
Instances
KillRange NumGeneralizableArgs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj NumGeneralizableArgs Source # | |
Abstract NumGeneralizableArgs Source # | |
Defined in Agda.TypeChecking.Substitute Methods abstract :: Telescope -> NumGeneralizableArgs -> NumGeneralizableArgs Source # | |
Apply NumGeneralizableArgs Source # | |
Defined in Agda.TypeChecking.Substitute Methods apply :: NumGeneralizableArgs -> Args -> NumGeneralizableArgs Source # applyE :: NumGeneralizableArgs -> Elims -> NumGeneralizableArgs Source # | |
Show NumGeneralizableArgs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> NumGeneralizableArgs -> ShowS # show :: NumGeneralizableArgs -> String # showList :: [NumGeneralizableArgs] -> ShowS # | |
NFData NumGeneralizableArgs Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: NumGeneralizableArgs -> () # |
data ExtLamInfo Source #
Additional information for extended lambdas.
Constructors
ExtLamInfo | |
Fields
|
Instances
data Projection Source #
Additional information for projection Function
s.
Constructors
Projection | |
Fields
|
Instances
Abstractions to build projection function (dropping parameters).
Constructors
ProjLams | |
Fields
|
Instances
Pretty ProjLams Source # | |
KillRange ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj ProjLams Source # | |
Abstract ProjLams Source # | |
Apply ProjLams Source # | |
Null ProjLams Source # | |
Generic ProjLams Source # | |
Show ProjLams Source # | |
NFData ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep ProjLams Source # | |
Defined in Agda.TypeChecking.Monad.Base |
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
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
Constructors
CompKit | |
Fields
|
Instances
NamesIn CompKit Source # | |
Defined in Agda.Syntax.Internal.Names | |
KillRange CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods | |
EmbPrj CompKit Source # | |
Generic CompKit Source # | |
Show CompKit Source # | |
NFData CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
Eq CompKit Source # | |
Ord CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep CompKit Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CompKit = D1 ('MetaData "CompKit" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" 'False) (C1 ('MetaCons "CompKit" 'PrefixI 'True) (S1 ('MetaSel ('Just "nameOfHComp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)) :*: S1 ('MetaSel ('Just "nameOfTransp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe QName)))) |
Constructors
AxiomData | |
Fields
|
data DataOrRecSigData Source #
Constructors
DataOrRecSigData | |
Fields
|
Instances
data FunctionData Source #
Constructors
FunctionData | |
Fields
|
Instances
data DatatypeData Source #
Constructors
DatatypeData | |
Fields
|
Instances
data RecordData Source #
Constructors
RecordData | |
Fields
|
Instances
data ConstructorData Source #
Constructors
ConstructorData | |
Fields
|
Instances
data PrimitiveData Source #
Constructors
PrimitiveData | |
Fields
|
Instances
data PrimitiveSortData Source #
Constructors
PrimitiveSortData | |
Fields |
Instances
data ProjectionLikenessMissing Source #
Indicates the reason behind a function having not been marked projection-like.
Constructors
MaybeProjection | Projection-likeness analysis has not run on this function yet. It may do so in the future. |
NeverProjection | The user has requested that this function be not be marked projection-like. The analysis may already have run on this function, but the results have been discarded, and it will not be run again. |
Instances
type FunctionInverse = FunctionInverse' Clause Source #
data BuiltinSort Source #
Constructors
SortUniv Univ | |
SortOmega Univ | |
SortIntervalUniv | |
SortLevelUniv |
Instances
data FunctionInverse' c Source #
Constructors
NotInjective | |
Inverse (InversionMap c) |
Instances
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
Three cases: 1. not reduced, 2. reduced, but blocked, 3. reduced, not blocked.
Constructors
NotReduced | |
Reduced (Blocked ()) |
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 # |
type MaybeReducedArgs = [MaybeReduced (Arg Term)] Source #
type MaybeReducedElims = [MaybeReduced Elim] Source #
data AllowedReduction Source #
Controlling reduce
.
Constructors
ProjectionReductions | (Projection and) projection-like functions may be reduced. |
InlineReductions | Functions marked INLINE may be reduced. |
CopatternReductions | Copattern definitions may be reduced. |
FunctionReductions | Non-recursive functions and primitives may be reduced. |
RecursiveReductions | Even recursive functions may be reduced. |
LevelReductions | Reduce |
TypeLevelReductions | Allow |
UnconfirmedReductions | Functions whose termination has not (yet) been confirmed. |
NonTerminatingReductions | Functions that have failed termination checking. |
Instances
data ReduceDefs Source #
Constructors
OnlyReduceDefs (Set QName) | |
DontReduceDefs (Set QName) |
Instances
Generic ReduceDefs Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep ReduceDefs :: Type -> Type # | |
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.3.20230805-inplace" '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)))) |
type InversionMap c = Map TermHead [c] Source #
Instances
data BuiltinDescriptor Source #
Constructors
BuiltinData (TCM Type) [BuiltinId] | |
BuiltinDataCons (TCM Type) | |
BuiltinPrim PrimitiveId (Term -> TCM ()) | |
BuiltinSort BuiltinSort | |
BuiltinPostulate Relevance (TCM Type) | |
BuiltinUnknown (Maybe (TCM Type)) (Term -> Type -> TCM ()) | Builtin of any kind.
Type can be checked ( |
data BuiltinInfo Source #
Constructors
BuiltinInfo | |
Fields |
type LetBindings = Map Name (Open LetBinding) Source #
data AbstractMode Source #
Constructors
AbstractMode | Abstract things in the current module can be accessed. |
ConcreteMode | No abstract things can be accessed. |
IgnoreAbstractMode | All abstract things can be accessed. |
Instances
Generic AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Associated Types type Rep AbstractMode :: Type -> Type # | |
Show AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods showsPrec :: Int -> AbstractMode -> ShowS # show :: AbstractMode -> String # showList :: [AbstractMode] -> ShowS # | |
NFData AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: AbstractMode -> () # | |
Eq AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep AbstractMode Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep AbstractMode = D1 ('MetaData "AbstractMode" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" 'False) (C1 ('MetaCons "AbstractMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ConcreteMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IgnoreAbstractMode" 'PrefixI 'False) (U1 :: Type -> Type))) |
data UnquoteFlags Source #
Constructors
UnquoteFlags | |
Fields |
Instances
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.3.20230805-inplace" 'False) (C1 ('MetaCons "UnquoteFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unquoteNormalise") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) |
data CandidateKind Source #
Constructors
LocalCandidate | |
GlobalCandidate QName |
Instances
data TerminationError Source #
Information about a mutual block which did not pass the termination checker.
Constructors
TerminationError | |
Fields
|
Instances
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
Information about a call.
Constructors
CallInfo | |
Fields
|
Instances
Pretty CallInfo Source # | We only |
HasRange CallInfo Source # | |
PrettyTCM CallInfo Source # | |
Defined in Agda.TypeChecking.Pretty.Call | |
Generic CallInfo Source # | |
Show CallInfo Source # | |
NFData CallInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base | |
type Rep CallInfo Source # | |
Defined in Agda.TypeChecking.Monad.Base type Rep CallInfo = D1 ('MetaData "CallInfo" "Agda.TypeChecking.Monad.Base" "Agda-2.6.3.20230805-inplace" 'False) (C1 ('MetaCons "CallInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "callInfoTarget") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just "callInfoCall") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Closure Term)))) |
data ErasedDatatypeReason Source #
The reason for an ErasedDatatype
error.
Constructors
SeveralConstructors | There are several constructors. |
NoErasedMatches | The flag |
NoK | The K rule is not activated. |
Instances
data SplitError Source #
Error when splitting a pattern variable into possible constructor patterns.
Constructors
NotADatatype (Closure Type) | Neither data type nor record. |
BlockedType Blocker (Closure Type) | Type could not be sufficiently reduced. |
ErasedDatatype ErasedDatatypeReason (Closure Type) | Data type, but in erased position. |
CoinductiveDatatype (Closure Type) | Split on codata not allowed. UNUSED, but keep! -- | NoRecordConstructor Type -- ^ record type, but no constructor |
UnificationStuck | |
Fields
| |
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
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
data NegativeUnification Source #
Constructors
UnifyConflict Telescope Term Term | |
UnifyCycle Telescope Int Term |
Instances
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
Environment of the reduce monad.
Constructors
ReduceEnv | |
Instances
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 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 (TCM Doc) Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> 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 [String] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods reportS :: MonadDebug m => VerboseKey -> VerboseLevel -> [String] -> m () Source # |
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 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 (TCM Doc) Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> 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 [String] Source # | |
Defined in Agda.TypeChecking.Monad.Debug Methods traceS :: MonadDebug m => VerboseKey -> VerboseLevel -> [String] -> m c -> m c Source # |
newtype BuiltinAccess a Source #
The trivial implementation of HasBuiltins
, using a constant TCState
.
This may be used instead of TCMT
/ReduceM
where builtins must be accessed
in a pure context.
Constructors
BuiltinAccess | |
Fields
|
Instances
data CoinductionKit Source #
The coinductive primitives.
Constructors
CoinductionKit | |
Fields
|
Sort primitives.
Constructors
SortKit | |
Fields
|
class EqualityUnview a where Source #
Revert the EqualityView
.
Postcondition: type is reduced.
Methods
equalityUnview :: a -> Type Source #
Instances
EqualityUnview EqualityTypeData Source # | |
Defined in Agda.TypeChecking.Monad.Builtin Methods | |
EqualityUnview EqualityView Source # | |
Defined in Agda.TypeChecking.Monad.Builtin Methods equalityUnview :: EqualityView -> Type Source # |
data SpeculateResult Source #
Constructors
SpeculateAbort | |
SpeculateCommit |
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 Call
,
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
class AddContext b where Source #
Various specializations of addCtx
.
Instances
Wrapper to tell addContext
not to mark names as
TypeError
. 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 |
data ConstraintStatus Source #
Constructors
AwakeConstraint | |
SleepingConstraint |
Instances
Show ConstraintStatus Source # | |
Defined in Agda.TypeChecking.Monad.Constraints Methods showsPrec :: Int -> ConstraintStatus -> ShowS # show :: ConstraintStatus -> String # showList :: [ConstraintStatus] -> ShowS # | |
Eq ConstraintStatus Source # | |
Defined in Agda.TypeChecking.Monad.Constraints Methods (==) :: ConstraintStatus -> ConstraintStatus -> Bool # (/=) :: ConstraintStatus -> ConstraintStatus -> Bool # |
data BoundedSize Source #
Result of querying whether size variable i
is bounded by another
size.
Instances
Show BoundedSize Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods showsPrec :: Int -> BoundedSize -> ShowS # show :: BoundedSize -> String # showList :: [BoundedSize] -> ShowS # | |
Eq BoundedSize Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes |
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 (Dom a) Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => Dom a -> 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 (b, a) Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods isSizeType :: (HasOptions m, HasBuiltins m) => (b, a) -> m (Maybe BoundedSize) Source # |
data ProjectedVar Source #
A de Bruijn index under some projections.
Constructors
ProjectedVar | |
Fields
|
Instances
Show ProjectedVar Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods showsPrec :: Int -> ProjectedVar -> ShowS # show :: ProjectedVar -> String # showList :: [ProjectedVar] -> ShowS # | |
Eq ProjectedVar Source # | Ignore |
Defined in Agda.TypeChecking.Monad.SizedTypes |
data DeepSizeView Source #
A deep view on sizes.
Constructors
DSizeInf | |
DSizeVar ProjectedVar Offset | |
DSizeMeta MetaId Elims Offset | |
DOtherSize Term |
Instances
Pretty DeepSizeView Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods pretty :: DeepSizeView -> Doc Source # prettyPrec :: Int -> DeepSizeView -> Doc Source # prettyList :: [DeepSizeView] -> Doc Source # | |
Show DeepSizeView Source # | |
Defined in Agda.TypeChecking.Monad.SizedTypes Methods showsPrec :: Int -> DeepSizeView -> ShowS # show :: DeepSizeView -> String # showList :: [DeepSizeView] -> ShowS # |
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 # |
type SizeMaxView = List1 DeepSizeView Source #
type SizeMaxView' = [DeepSizeView] Source #
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 # | |
Enum MetaKind Source # | |
Defined in Agda.TypeChecking.Monad.MetaVars | |
Show MetaKind Source # | |
Eq MetaKind Source # | |
Constructors
KeepMetas | |
RollBackMetas |
data LocalMetaStores Source #
Pairs of local meta-stores.
Constructors
LocalMetaStores | |
Fields
|
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 UnFreezeMeta a where Source #
Unfreeze a meta and its type if this is a meta again. Does not unfreeze deep occurrences of meta-variables or remote meta-variables.
Methods
unfreezeMeta :: MonadMetaSolver m => a -> m () Source #
Instances
pattern Datatype :: Nat -> Nat -> Maybe Clause -> [QName] -> Sort -> Maybe [QName] -> IsAbstract -> [QName] -> Maybe QName -> Maybe QName -> Defn Source #
pattern Constructor :: Int -> Int -> ConHead -> QName -> IsAbstract -> CompKit -> Maybe [QName] -> [IsForced] -> Maybe [Bool] -> Bool -> Bool -> Defn Source #
pattern Function :: [Clause] -> Maybe CompiledClauses -> Maybe SplitTree -> Maybe Compiled -> [Clause] -> FunctionInverse -> Maybe [QName] -> IsAbstract -> Either ProjectionLikenessMissing Projection -> Bool -> Set FunctionFlag -> Maybe Bool -> Maybe ExtLamInfo -> Maybe QName -> Maybe QName -> IsOpaque -> Defn Source #
pattern Primitive :: IsAbstract -> PrimitiveId -> [Clause] -> FunctionInverse -> Maybe CompiledClauses -> IsOpaque -> Defn Source #
pattern Record :: Nat -> Maybe Clause -> ConHead -> Bool -> [Dom QName] -> Telescope -> Maybe [QName] -> EtaEquality -> PatternOrCopattern -> Maybe Induction -> Maybe Bool -> IsAbstract -> CompKit -> Defn Source #
pattern DDot :: Term -> DisplayTerm Source #
pattern DTerm :: Term -> DisplayTerm Source #
pattern DataOrRecSig :: Int -> Defn Source #
pattern PrimitiveSort :: BuiltinSort -> Sort -> Defn Source #
pattern SortProp :: BuiltinSort Source #
pattern SortSet :: BuiltinSort Source #
pattern SortStrictSet :: BuiltinSort Source #
pattern SortPropOmega :: BuiltinSort Source #
pattern SortSetOmega :: BuiltinSort Source #
pattern SortStrictSetOmega :: BuiltinSort Source #
typeError :: (HasCallStack, MonadTCError m) => TypeError -> m a Source #
withCurrentModule :: MonadTCEnv m => ModuleName -> m a -> m a Source #
Set the name of the current module.
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).
ignoreAbstractMode :: MonadTCEnv m => m a -> m a Source #
Ignore abstract mode. All abstract definitions are transparent.
getMetaInfo :: MetaVariable -> Closure Range Source #
lookupMeta :: ReadTCState m => MetaId -> m (Maybe (Either RemoteMetaVariable MetaVariable)) Source #
Find information about the (local or remote) meta-variable, if any.
If no meta-variable is found, then the reason could be that the
dead-code elimination
(eliminateDeadCode
) failed to find the
meta-variable, perhaps because some NamesIn
instance is
incorrectly defined.
withMetaInfo :: (MonadTCEnv m, ReadTCState m, MonadTrace m) => Closure Range -> m a -> m a Source #
lookupInteractionPoint :: (MonadFail m, ReadTCState m, MonadError TCErr m) => InteractionId -> m InteractionPoint Source #
Get the information associated to an interaction point.
getContextArgs :: (Applicative m, MonadTCEnv m) => m Args Source #
Generate [var (n - 1), ..., var 0]
for all declarations in the context.
getAllConstraints :: ReadTCState m => m Constraints Source #
constructorForm :: HasBuiltins m => Term -> m Term Source #
Rewrite a literal to constructor form if possible.
getErasedConArgs :: HasConstInfo m => QName -> m [Bool] Source #
getTreeless :: HasConstInfo m => QName -> m (Maybe TTerm) Source #
runReduceM :: ReduceM a -> TCM a Source #
__IMPOSSIBLE_VERBOSE__ :: (HasCallStack, MonadDebug m) => String -> m a Source #
inTopContext :: (MonadTCEnv tcm, ReadTCState tcm) => tcm a -> tcm a Source #
Change to top (=empty) context. Resets the checkpoints.
withInteractionId :: (MonadDebug m, MonadFail m, ReadTCState m, MonadError TCErr m, MonadTCEnv m, MonadTrace m) => InteractionId -> m a -> m a Source #
getInteractionRange :: (MonadInteractionPoints m, MonadFail m, MonadError TCErr m) => InteractionId -> m Range Source #
Get the Range'
for an interaction point.
getMetaRange :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m Range Source #
Get the Range'
for a local meta-variable.
withMetaId :: (HasCallStack, MonadDebug m, MonadTCEnv m, MonadTrace m, ReadTCState m) => MetaId -> m a -> m a Source #
getIncludeDirs :: HasOptions m => m [AbsolutePath] Source #
Gets the include directories.
Precondition: optAbsoluteIncludePaths
must be nonempty (i.e.
setCommandLineOptions
must have run).
topLevelModuleName :: RawTopLevelModuleName -> TCM TopLevelModuleName Source #
Tries to convert a raw top-level module name to a top-level module name.
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.
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
then the state is reset (partly, see setIncludeDirs
).
An empty list of relative include directories (
) is
interpreted as Left
[]["."]
.
withScope :: ReadTCState m => ScopeInfo -> m a -> m (a, ScopeInfo) Source #
Run a computation in a local scope.
builtinById :: String -> Maybe BuiltinId Source #
Lookup a builtin by the string used in the BUILTIN
pragma.
isBuiltinNoDef :: BuiltinId -> 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.
getScope :: ReadTCState m => m ScopeInfo Source #
Get the current scope.
getContext :: MonadTCEnv m => m Context Source #
Get the current context.
getBuiltinName' :: HasBuiltins m => BuiltinId -> m (Maybe QName) Source #
getAllPatternSyns :: ReadTCState m => m PatternSynDefns Source #
Get both local and imported pattern synonyms
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
).
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.
insideDotPattern :: TCM a -> TCM a Source #
getCurrentPath :: MonadTCEnv m => m AbsolutePath Source #
Get the path of the currently checked file
typeOfConst :: (HasConstInfo m, ReadTCState m) => QName -> m Type Source #
Get type of a constant, instantiated to the current context.
sizeType :: (HasBuiltins m, MonadTCEnv m, ReadTCState m) => m Type Source #
The built-in type SIZE
.
shouldPostponeInstanceSearch :: (ReadTCState m, HasOptions 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
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.
cacheCurrentLog :: (MonadDebug m, MonadTCState m) => m () Source #
Caches the current type check log. Discardes the old cache. Does nothing if caching is inactive.
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.
cachingStarts :: (MonadDebug m, MonadTCState m, ReadTCState m) => m () Source #
To be called before any write or restore calls.
areWeCaching :: ReadTCState m => m Bool 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.
restorePostScopeState :: (MonadDebug m, MonadTCState m) => PostScopeState -> m () Source #
enterClosure :: (MonadTCEnv m, ReadTCState m, LensClosure c a) => c -> (a -> m b) -> m b Source #
solvingProblem :: MonadConstraint m => ProblemId -> m a -> m a Source #
currentModule :: MonadTCEnv m => m ModuleName Source #
Get the name of the current module, if any.
addImport :: TopLevelModuleName -> TCM () Source #
addImportCycleCheck :: 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.
dropDecodedModule :: TopLevelModuleName -> TCM () Source #
getPrettyVisitedModules :: ReadTCState m => m Doc Source #
getVisitedModule :: ReadTCState m => TopLevelModuleName -> m (Maybe ModuleInfo) Source #
getVisitedModules :: ReadTCState m => m VisitedModules Source #
setDecodedModules :: DecodedModules -> TCM () Source #
setVisitedModules :: VisitedModules -> TCM () Source #
storeDecodedModule :: ModuleInfo -> TCM () Source #
visitModule :: ModuleInfo -> TCM () Source #
withImportPath :: [TopLevelModuleName] -> TCM a -> TCM a Source #
reportSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m () Source #
Conditionally println debug string.
hideAndRelParams :: (LensHiding a, LensRelevance a) => a -> a Source #
Prepare parts of a parameter telescope for abstraction in constructors and projections.
noMutualBlock :: TCM a -> TCM a Source #
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.
currentModuleNameHash :: ReadTCState m => m ModuleNameHash Source #
reportSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m () Source #
Conditionally render debug Doc
and print it.
setPragmaOptions :: PragmaOptions -> TCM () Source #
Sets the pragma options. Checks for unsafe combinations.
setHardCompileTimeModeIfErased Source #
If the first argument is
, then hard
compile-time mode is enabled when the continuation is run.Erased
something
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.
resetState :: TCM () Source #
Resets the non-persistent part of the type checking state.
tick :: MonadStatistics m => String -> m () Source #
Increase specified counter by 1
.
tickMax :: MonadStatistics m => String -> Integer -> m () Source #
Set the specified counter to the maximum of its current value and n
.
getStatistics :: ReadTCState m => m Statistics Source #
Get the statistics.
modifyStatistics :: (Statistics -> Statistics) -> TCM () Source #
Modify the statistics via given function.
printStatistics :: (MonadDebug m, MonadTCEnv m, HasOptions m) => Maybe TopLevelModuleName -> Statistics -> m () Source #
Print the given statistics.
interestingCall :: Call -> Bool Source #
localTCState :: TCM a -> TCM a Source #
Restore TCState
after performing subcomputation.
In contrast to localState
, the Benchmark
info from the subcomputation is saved.
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.
defAbstract :: Definition -> IsAbstract Source #
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.
genericError :: (HasCallStack, MonadTCError m) => String -> m a Source #
Arguments
:: AbsolutePath | The file name. |
-> TopLevelModuleName | The top-level module name. |
-> TCM [AgdaLibFile] |
Returns the library files for a given file.
Nothing is returned if optUseLibs
is False
.
An error is raised if optUseLibs
is True
and a library file is
located too far down the directory hierarchy (see
checkLibraryFileNotTooFarDown
).
checkpointSubstitution :: MonadTCEnv tcm => CheckpointId -> tcm Substitution Source #
Get the substitution from the context at a given checkpoint to the current context.
newMeta :: MonadMetaSolver m => Frozen -> MetaInfo -> MetaPriority -> Permutation -> Judgement a -> m MetaId Source #
Generate new meta variable.
builtinsNoDef :: [BuiltinId] Source #
sizeBuiltins :: [BuiltinId] Source #
primitiveById :: String -> Maybe PrimitiveId Source #
Lookup a primitive by its identifier.
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 #
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 #
primSubOut :: (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 #
primFaceForall :: (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 #
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 #
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 #
primLockUniv :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
defOpaque :: Definition -> IsOpaque Source #
initPersistentState :: PersistentTCState Source #
Empty persistent state.
initialMetaId :: MetaId Source #
An initial MetaId
.
initPreScopeState :: PreScopeState Source #
Empty state of type checker.
getUserWarnings :: ReadTCState m => m (Map QName Text) Source #
getPartialDefs :: ReadTCState m => m (Set QName) Source #
stCurrentModule :: Lens' TCState (Maybe (ModuleName, TopLevelModuleName)) Source #
Note that the lens is "strict".
unionBuiltin :: Builtin a -> Builtin a -> Builtin a Source #
Union two Builtin
s. Only defined for BuiltinRewriteRelations
.
freshNoName :: MonadFresh NameId m => Range -> m Name Source #
freshNoName_ :: MonadFresh NameId m => m Name Source #
freshRecordName :: MonadFresh NameId m => m Name Source #
stateTCLensM :: MonadTCState m => Lens' TCState a -> (a -> m (r, a)) -> m r Source #
Modify a part of the state monadically, and return some result.
iFullHash :: Interface -> Hash Source #
Combines the source hash and the (full) hashes of the imported modules.
intSignature :: Lens' Interface Signature Source #
A lens for the iSignature
field of the Interface
type.
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
suffixNameSuggestion :: MetaNameSuggestion -> ArgName -> MetaNameSuggestion Source #
Append an ArgName
to a MetaNameSuggestion
, for computing the
name suggestions of eta-expansion metas. If the MetaNameSuggestion
is empty or an underscore, the field name is taken as the suggestion.
getMetaScope :: MetaVariable -> ScopeInfo Source #
getMetaEnv :: MetaVariable -> TCEnv Source #
getMetaSig :: MetaVariable -> Signature Source #
aModeToDef :: AbstractMode -> Maybe IsAbstract Source #
aDefToMode :: IsAbstract -> AbstractMode 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 #
axiomConstTransp :: Defn -> Bool Source #
datarecPars :: Defn -> Int Source #
funClauses :: Defn -> [Clause] Source #
funCompiled :: Defn -> Maybe CompiledClauses Source #
funCovering :: Defn -> [Clause] Source #
funInv :: Defn -> FunctionInverse Source #
funAbstr :: Defn -> IsAbstract Source #
funErasure :: Defn -> Bool Source #
dataAbstr :: Defn -> IsAbstract Source #
dataPathCons :: Defn -> [QName] Source #
recConHead :: Defn -> ConHead Source #
recNamedCon :: Defn -> Bool Source #
recEtaEquality' :: Defn -> EtaEquality Source #
recAbstr :: Defn -> IsAbstract Source #
conAbstr :: Defn -> IsAbstract Source #
conErasure :: Defn -> Bool Source #
primAbstr :: Defn -> IsAbstract Source #
primName :: Defn -> PrimitiveId Source #
primClauses :: Defn -> [Clause] Source #
primInv :: Defn -> FunctionInverse Source #
primCompiled :: Defn -> Maybe CompiledClauses Source #
primOpaque :: Defn -> IsOpaque Source #
primSortName :: Defn -> BuiltinSort Source #
primSortSort :: Defn -> Sort Source #
recRecursive :: Defn -> Bool Source #
Is the record type recursive?
recEtaEquality :: Defn -> HasEta Source #
emptyFunctionData :: HasOptions m => m FunctionData Source #
A template for creating Function
definitions, with sensible
defaults.
emptyFunction :: HasOptions m => m Defn Source #
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 #
locallyTC :: MonadTCEnv m => Lens' TCEnv a -> (a -> a) -> m b -> m b Source #
Modify the lens-indicated part of the TCEnv
in a subcomputation.
locallyReduceAllDefs :: MonadTCEnv m => m a -> m a Source #
shouldReduceDef :: MonadTCEnv m => QName -> m Bool Source #
asksTC :: MonadTCEnv m => (TCEnv -> a) -> m a Source #
toReduceDefs :: (Bool, [QName]) -> ReduceDefs Source #
fromReduceDefs :: ReduceDefs -> (Bool, [QName]) Source #
locallyReconstructed :: MonadTCEnv m => m a -> m a Source #
isReconstructed :: MonadTCEnv m => m Bool Source #
primFun :: QName -> Arity -> ([Arg Term] -> ReduceM (Reduced MaybeReducedArgs Term)) -> PrimFun Source #
defClauses :: Definition -> [Clause] Source #
defParameters :: Definition -> Maybe Nat Source #
defCompilerPragmas :: BackendName -> Definition -> [CompilerPragma] Source #
defNonterminating :: Definition -> Bool Source #
Has the definition failed the termination checker?
defTerminationUnconfirmed :: Definition -> Bool Source #
Has the definition not termination checked or did the check fail?
defForced :: Definition -> [IsForced] Source #
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
.
eAnonymousModules :: Lens' TCEnv [(ModuleName, Nat)] Source #
eTerminationCheck :: Lens' TCEnv (TerminationCheck ()) Source #
eQuantity :: Lens' TCEnv Quantity Source #
Note that this lens does not satisfy all lens laws: If hard
compile-time mode is enabled, then quantities other than zero are
replaced by __IMPOSSIBLE__
.
isExpandLast :: ExpandHidden -> Bool Source #
toExpandLast :: Bool -> ExpandHidden Source #
currentModality :: MonadTCEnv m => m Modality Source #
The current modality.
Note that the returned cohesion component is always unitCohesion
.
onLetBindingType :: (Dom Type -> Dom Type) -> LetBinding -> LetBinding 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 #
cubicalCompatibleOption :: HasOptions m => m Bool Source #
enableCaching :: HasOptions m => m Bool Source #
fmapReduce :: (a -> b) -> ReduceM a -> ReduceM b Source #
runReduceF :: (a -> ReduceM b) -> TCM (a -> b) Source #
getsTC :: ReadTCState m => (TCState -> a) -> m a Source #
modifyTC' :: MonadTCState m => (TCState -> TCState) -> m () Source #
A variant of modifyTC
in which the computation is strict in the
new state.
setTCLens :: MonadTCState m => Lens' TCState a -> a -> m () infix 4 Source #
Overwrite the part of the TCState
focused on by the lens.
setTCLens' :: MonadTCState m => Lens' TCState a -> a -> m () Source #
Overwrite the part of the TCState
focused on by the lens
(strictly).
modifyTCLens :: MonadTCState m => Lens' TCState a -> (a -> a) -> m () Source #
Modify the part of the TCState
focused on by the lens.
modifyTCLens' :: MonadTCState m => Lens' TCState a -> (a -> a) -> m () Source #
Modify the part of the TCState
focused on by the lens
(strictly).
modifyTCLensM :: MonadTCState m => Lens' TCState a -> (a -> m a) -> m () Source #
Modify a part of the state monadically.
stateTCLens :: MonadTCState m => Lens' TCState a -> (a -> (r, a)) -> m r Source #
Modify the part of the TCState
focused on by the lens, and return some result.
returnTCMT :: Applicative m => a -> TCMT m a Source #
internalError :: (HasCallStack, MonadTCM tcm) => String -> tcm 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.
typeError' :: MonadTCError m => CallStack -> TypeError -> m a Source #
locatedTypeError :: MonadTCError m => (a -> TypeError) -> HasCallStack => a -> m b Source #
Utility function for 1-arg constructed type errors.
Note that the HasCallStack
constraint is on the *resulting* function.
genericDocError :: (HasCallStack, MonadTCError m) => Doc -> m a Source #
typeError'_ :: (MonadTCEnv m, ReadTCState m) => CallStack -> TypeError -> m TCErr Source #
typeError_ :: (HasCallStack, MonadTCEnv m, ReadTCState m) => TypeError -> m TCErr Source #
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 TCMT
action (a TCMT
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
doExpandLast :: TCM a -> TCM a Source #
Restore setting for ExpandLast
to default.
workOnTypes :: (MonadTCEnv m, HasOptions m, MonadDebug m) => m a -> m a Source #
Modify the context whenever going from the l.h.s. (term side) of the typing judgement to the r.h.s. (type side).
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.
defaultGetVerbosity :: HasOptions m => m Verbosity Source #
defaultGetProfileOptions :: HasOptions m => m ProfileOptions 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.
hasVerbosity :: MonadDebug m => VerboseKey -> VerboseLevel -> m Bool Source #
Check whether a certain verbosity level is activated.
Precondition: The level must be non-negative.
openVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m () Source #
closeVerboseBracket :: MonadDebug m => VerboseKey -> VerboseLevel -> m () Source #
closeVerboseBracketException :: MonadDebug m => VerboseKey -> VerboseLevel -> m () Source #
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 #
traceSDoc :: MonadDebug m => VerboseKey -> VerboseLevel -> TCM Doc -> m a -> m a Source #
Conditionally render debug Doc
, print it, and then continue.
traceSLn :: MonadDebug m => VerboseKey -> VerboseLevel -> String -> m a -> m a Source #
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 #
hasProfileOption :: MonadDebug m => ProfileOption -> m Bool Source #
Check whether a certain profile option is activated.
whenProfile :: MonadDebug m => ProfileOption -> m () -> m () Source #
Run some code when the given profiling option is active.
notSoPrettySigCubicalNotErasure :: QName -> String Source #
Generates an error message corresponding to
SigCubicalNotErasure
for a given QName
.
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.
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.
runBuiltinAccess :: TCState -> BuiltinAccess a -> a Source #
Run a BuiltinAccess
monad.
litType :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => Literal -> m Type Source #
primZero :: (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 #
primNat :: (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 #
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 #
primQName :: (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 #
setBuiltinThings :: BuiltinThings PrimFun -> TCM () Source #
bindPrimitive :: PrimitiveId -> PrimFun -> TCM () Source #
bindBuiltinRewriteRelation :: QName -> TCM () Source #
Add one (more) relation symbol to the rewrite relations.
getBuiltinRewriteRelations :: HasBuiltins m => m (Maybe (Set QName)) Source #
Get the currently registered rewrite relation symbols.
getBuiltin :: (HasBuiltins m, MonadTCError m) => BuiltinId -> m Term Source #
getBuiltin' :: HasBuiltins m => BuiltinId -> m (Maybe Term) Source #
getPrimitive' :: HasBuiltins m => PrimitiveId -> m (Maybe PrimFun) Source #
getPrimitive :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => PrimitiveId -> m PrimFun Source #
getPrimitiveTerm :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => PrimitiveId -> m Term Source #
getPrimitiveTerm' :: HasBuiltins m => PrimitiveId -> m (Maybe Term) Source #
getPrimitiveName' :: HasBuiltins m => PrimitiveId -> m (Maybe QName) Source #
getTerm :: (HasBuiltins m, IsBuiltin a) => String -> a -> 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' :: Applicative m => m Term -> m Term -> Term -> m Term Source #
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 #
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 #
primBool :: (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 #
primSigma :: (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 #
primIO :: (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 #
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 #
primIntervalUniv :: (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 #
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 #
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 #
primTrans :: (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 #
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_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 #
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 #
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 #
primLevel :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primLevelUniv :: (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 #
primSet :: (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 #
primPropOmega :: (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 #
primSSetOmega :: (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 #
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 #
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 #
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 #
primAgdaErrorPartPatt :: (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 #
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 #
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 #
primAgdaLitString :: (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 #
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 #
primAgdaSort :: (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 #
primAgdaDefinition :: (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 #
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 #
primAgdaDefinitionDataConstructor :: (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 #
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 #
primAgdaBlocker :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaBlockerAny :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaBlockerAll :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaBlockerMeta :: (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 #
primAgdaTCMDeclareData :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMDefineData :: (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 #
primAgdaTCMUnquoteTerm :: (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 #
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 #
primAgdaTCMBlock :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMFormatErrorParts :: (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 #
primAgdaTCMWithNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMWithReconstructed :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMWithExpandLast :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMWithReduceDefs :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMAskNormalisation :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMAskReconstructed :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMAskExpandLast :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMAskReduceDefs :: (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 #
primAgdaTCMGetInstances :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMPragmaForeign :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
primAgdaTCMPragmaCompile :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => m Term Source #
coinductionKit' :: TCM CoinductionKit Source #
Tries to build a CoinductionKit
.
sortKit :: (HasBuiltins m, MonadTCError m, HasOptions m) => m SortKit Source #
infallibleSortKit :: HasBuiltins m => m SortKit Source #
Compute a SortKit
in contexts that do not support failure (e.g.
Reify
). This should only be used when we are sure that the
primitive sorts have been bound, i.e. because it is "after" type
checking.
getPrimName :: Term -> QName Source #
isPrimitive :: HasBuiltins m => PrimitiveId -> QName -> m Bool Source #
intervalSort :: Sort 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.
constrainedPrims :: [PrimitiveId] Source #
Primitives with typechecking constrants.
getNameOfConstrained :: HasBuiltins m => PrimitiveId -> m (Maybe QName) Source #
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
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
callByName :: TCM a -> TCM a Source #
Don't use call-by-need evaluation for the given computation.
dontFoldLetBindings :: MonadTCEnv m => m a -> m a Source #
Don't fold let bindings when printing. This is a bit crude since it disables any folding of let
bindings at all. In many cases it's better to use removeLetBinding
before printing to drop
the let bindings that should not be folded.
removeLetBinding :: MonadTCEnv m => Name -> m a -> m a Source #
Remove a let bound variable.
resetAllState :: TCM () Source #
Resets all of the type checking state.
Keep only Benchmark
and backend information.
updatePersistentState :: (PersistentTCState -> PersistentTCState) -> TCState -> TCState Source #
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.)
modifyPersistentState :: (PersistentTCState -> PersistentTCState) -> TCM () Source #
modifyScope :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m () Source #
Modify the current scope.
modifyScope_ :: MonadTCState m => (ScopeInfo -> ScopeInfo) -> m () Source #
Modify the current scope without updating the inverse maps.
locallyScope :: ReadTCState m => Lens' ScopeInfo a -> (a -> a) -> m b -> m b Source #
Run a computation in a modified 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 #
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.
updateDefinition :: QName -> (Definition -> Definition) -> Signature -> Signature Source #
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 #
updateTheDef :: (Defn -> Defn) -> Definition -> Definition Source #
updateDefCopatternLHS :: (Bool -> Bool) -> Definition -> Definition Source #
lookupDefinition :: QName -> Signature -> Maybe Definition Source #
updateDefinitions :: (Definitions -> Definitions) -> Signature -> Signature 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 #
updateDefBlocked :: (Blocked_ -> Blocked_) -> Definition -> Definition Source #
setTopLevelModule :: TopLevelModuleName -> TCM () Source #
Set the top-level module. This affects the global module id of freshly generated names.
currentTopLevelModule :: (MonadTCEnv m, ReadTCState m) => m (Maybe TopLevelModuleName) Source #
The name of the current top-level module, if any.
withTopLevelModule :: TopLevelModuleName -> TCM a -> TCM a Source #
Use a different top-level module for a computation. Used when generating names for imported modules.
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 #
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 #
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'
.
getCurrentRange :: MonadTCEnv m => m Range Source #
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.
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!
getContextTelescope :: (Applicative m, MonadTCEnv m) => m Telescope Source #
Get the current context as a Telescope
.
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.
defaultAddLetBinding' :: (ReadTCState m, MonadTCEnv m) => Origin -> Name -> Term -> Dom Type -> m a -> m a Source #
Add a let bound variable
addRecordNameContext :: (MonadAddContext m, MonadFresh NameId m) => Dom Type -> m b -> m b Source #
underAbstraction' :: (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) => Dom Type -> Abs a -> (a -> m b) -> m b Source #
Go under an abstraction. Do not extend context in case of NoAbs
.
underAbstractionAbs' :: (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 #
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.
mapAbstraction_ :: (Subst a, Subst b, MonadAddContext m) => (a -> m b) -> Abs a -> m (Abs b) Source #
getLetBindings :: MonadTCEnv tcm => tcm [(Name, LetBinding)] Source #
addLetBinding :: MonadAddContext m => ArgInfo -> Origin -> Name -> Term -> Type -> m a -> m a Source #
Add a let bound variable
removeLetBindingsFrom :: MonadTCEnv m => Name -> m a -> m a Source #
Remove a let bound variable and all let bindings introduced after it. For instance before printing its body to avoid folding the binding itself, or using bindings defined later. Relies on the invariant that names introduced later are sorted after earlier names.
getContextSize :: (Applicative m, MonadTCEnv m) => m Nat Source #
Get the size of the current context.
getContextTerms :: (Applicative m, MonadTCEnv m) => m [Term] Source #
Generate [var (n - 1), ..., var 0]
for all declarations in the context.
getContextNames :: (Applicative m, MonadTCEnv m) => m [Name] Source #
Get the names of all declarations in the context.
lookupBV' :: MonadTCEnv m => Nat -> m (Maybe ContextEntry) Source #
get type of bound variable (i.e. deBruijn index)
domOfBV :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m (Dom Type) Source #
typeOfBV :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m Type Source #
nameOfBV' :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m (Maybe Name) Source #
nameOfBV :: (Applicative m, MonadFail m, MonadTCEnv m) => Nat -> m Name Source #
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.
workOnTypes' :: MonadTCEnv m => Bool -> m a -> m a Source #
Internal workhorse, expects value of --experimental-irrelevance flag as argument.
applyQuantityToJudgement :: (MonadTCEnv tcm, LensQuantity q) => q -> tcm a -> tcm a Source #
Apply the quantity to the quantity annotation of the (typing/equality) judgement.
Precondition: The quantity must not be
.Quantity1
something
applyRelevanceToContext :: (MonadTCEnv tcm, LensRelevance r) => r -> tcm a -> tcm a Source #
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
Also allow the use of irrelevant definitions.
applyRelevanceToContextOnly :: MonadTCEnv tcm => Relevance -> tcm a -> tcm a Source #
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
Precondition: Relevance /= Relevant
applyRelevanceToJudgementOnly :: MonadTCEnv tcm => Relevance -> tcm a -> tcm a Source #
Apply relevance rel
the the relevance annotation of the (typing/equality)
judgement. This is part of the work done when going into a rel
-context.
Precondition: Relevance /= Relevant
applyRelevanceToContextFunBody :: (MonadTCM tcm, LensRelevance r) => r -> tcm a -> tcm a Source #
Like applyRelevanceToContext
, but only act on context if
--irrelevant-projections
.
See issue #2170.
applyCohesionToContext :: (MonadTCEnv tcm, LensCohesion m) => m -> tcm a -> tcm a Source #
Apply inverse composition with the given cohesion to the typing context.
applyCohesionToContextOnly :: MonadTCEnv tcm => Cohesion -> tcm a -> tcm a Source #
splittableCohesion :: (HasOptions m, LensCohesion a) => a -> m Bool Source #
Can we split on arguments of the given cohesion?
applyModalityToContext :: (MonadTCEnv tcm, LensModality m) => m -> tcm a -> tcm a Source #
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
Also allow the use of irrelevant definitions.
This function might also do something for other modalities.
applyModalityToContextOnly :: MonadTCEnv tcm => Modality -> tcm a -> tcm a Source #
(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.
This function might also do something for other modalities, but not for quantities.
Precondition: Modality /= Relevant
applyModalityToJudgementOnly :: MonadTCEnv tcm => Modality -> tcm a -> tcm a Source #
Apply the relevance and quantity components of the modality to the modality annotation of the (typing/equality) judgement.
Precondition: The relevance component must not be Relevant
.
applyModalityToContextFunBody :: (MonadTCM tcm, LensModality r) => r -> tcm a -> tcm a Source #
Like applyModalityToContext
, but only act on context (for Relevance) if
--irrelevant-projections
.
See issue #2170.
wakeIrrelevantVars :: MonadTCEnv tcm => tcm a -> tcm a Source #
Wake up irrelevant variables and make them relevant. This is used
when type checking terms in a hole, in which case you want to be able to
(for instance) infer the type of an irrelevant variable. In the course
of type checking an irrelevant function argument applyRelevanceToContext
is used instead, which also sets the context relevance to Irrelevant
.
This is not the right thing to do when type checking interactively in a
hole since it also marks all metas created during type checking as
irrelevant (issue #2568).
Also set the current quantity to 0.
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 #
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 #
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 #
addConstraint' :: Blocker -> Constraint -> TCM () Source #
Add new a constraint
addConstraintTo :: Lens' TCState Constraints -> Blocker -> Constraint -> TCM () Source #
addAwakeConstraint' :: 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
wakeConstraints' :: MonadConstraint m => (ProblemConstraint -> WakeUp) -> m () Source #
Wake constraints matching the given predicate (and aren't instance
constraints if shouldPostponeInstanceSearch
).
mapAwakeConstraints :: (Constraints -> Constraints) -> TCState -> TCState Source #
mapSleepingConstraints :: (Constraints -> Constraints) -> TCState -> TCState 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.
lookupMutualBlock :: ReadTCState tcm => MutualId -> tcm MutualBlock Source #
isSizeTypeTest :: (HasOptions m, HasBuiltins m) => m (Term -> Maybe BoundedSize) Source #
getBuiltinSize :: HasBuiltins m => m (Maybe QName, Maybe QName) Source #
getBuiltinDefName :: HasBuiltins m => BuiltinId -> m (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.
builtinSizeHook :: BuiltinId -> QName -> Type -> TCM () Source #
Add polarity info to a SIZE builtin.
sizeSucName :: (HasBuiltins m, HasOptions m) => m (Maybe QName) Source #
The name of SIZESUC
.
sizeMax :: (HasBuiltins m, MonadError TCErr m, MonadTCEnv m, ReadTCState m) => List1 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 #
setCommandLineOptions' Source #
Arguments
:: AbsolutePath | The base directory of relative paths. |
-> CommandLineOptions | |
-> TCM () |
Arguments
:: AbsolutePath | The base directory of relative paths. |
-> CommandLineOptions | |
-> TCM CommandLineOptions |
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 ["."]
.
getAgdaLibFilesWithoutTopLevelModuleName Source #
Arguments
:: AbsolutePath | The file. |
-> TCM [AgdaLibFile] |
Returns potential library files for a file without a known top-level module name.
Once the top-level module name is known one can use
checkLibraryFileNotTooFarDown
to check that the potential library
files were not located too far down the directory hierarchy.
Nothing is returned if optUseLibs
is False
.
checkLibraryFileNotTooFarDown :: TopLevelModuleName -> AgdaLibFile -> TCM () Source #
Checks that a library file for the module A.B.C
(say) in the
directory dirAB
is located at least two directories above the
file (not in dir/A
or dirAB
).
Arguments
:: AbsolutePath | The file name. |
-> TopLevelModuleName | The top-level module name. |
-> TCM [OptionsPragma] |
Returns the library options for a given file.
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.
isPropEnabled :: HasOptions m => m Bool Source #
isLevelUniverseEnabled :: 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.
setHardCompileTimeModeIfErased' Source #
Arguments
:: LensQuantity q | |
=> q | The quantity. |
-> TCM a | Continuation. |
-> TCM a |
If the quantity is "erased", then hard compile-time mode is enabled when the continuation is run.
Precondition: The quantity must not be
.Quantity1
something
setRunTimeModeUnlessInHardCompileTimeMode Source #
Use run-time mode in the continuation unless the current mode is the hard compile-time mode.
warnForPlentyInHardCompileTimeMode :: Erased -> TCM () Source #
Warn if the user explicitly wrote @ω
or @plenty
but the
current mode is the hard compile-time mode.
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 :: MonadTCState m => QName -> Bool -> m () 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 :: (MonadConstraint m, MonadTCState m) => QName -> [Clause] -> m () Source #
Lifts clauses to the top-level and adds them to definition.
Also adjusts the funCopatternLHS
field if necessary.
getUniqueCompilerPragma :: BackendName -> QName -> TCM (Maybe CompilerPragma) Source #
setFunctionFlag :: FunctionFlag -> Bool -> QName -> TCM () Source #
markStatic :: 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.
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.
setModuleCheckpoint :: ModuleName -> TCM () Source #
Sets the checkpoint for the given module to the current checkpoint.
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
projectionArgs :: Definition -> Int Source #
Number of dropped initial arguments of a projection(-like) function.
addDisplayForm :: QName -> DisplayForm -> TCM () Source #
Add a display form to a definition (could be in this or imported signature).
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 #
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.
canonicalName :: HasConstInfo m => QName -> m QName Source #
singleConstructorType :: QName -> TCM Bool Source #
Does the given constructor come from a single-constructor type?
Precondition: The name has to refer to a constructor.
prettySigCubicalNotErasure :: MonadPretty m => QName -> m Doc Source #
Generates an error message corresponding to
SigCubicalNotErasure
for a given QName
.
sigError :: (HasCallStack, MonadDebug m) => m a -> SigError -> m a Source #
An eliminator for SigError
. All constructors except for
SigAbstract
are assumed to be impossible.
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).
isProjection :: HasConstInfo m => QName -> m (Maybe Projection) Source #
Is it the name of a record projection?
defaultGetConstInfo :: (HasOptions m, MonadDebug m, MonadTCEnv m) => TCState -> TCEnv -> QName -> m (Either SigError Definition) Source #
alwaysMakeAbstract :: Definition -> Maybe Definition Source #
Return the abstract view of a definition, regardless of whether the definition would be treated abstractly.
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 #
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 #
getModuleFreeVars :: (Functor m, Applicative m, MonadTCEnv m, ReadTCState m) => ModuleName -> m Nat Source #
freeVarsToApply :: (Functor m, HasConstInfo m, HasOptions m, ReadTCState m, MonadTCEnv m, MonadDebug m) => QName -> m Args 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 #
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.
underOpaqueId :: MonadTCEnv m => OpaqueId -> m a -> m a Source #
Go under the given opaque block. The unfolding set will turn opaque definitions transparent.
notUnderOpaque :: MonadTCEnv m => m a -> m a Source #
Outside of any opaque blocks.
inConcreteOrAbstractMode :: (MonadTCEnv m, HasConstInfo m) => QName -> (Definition -> m a) -> m a Source #
Enter the reducibility environment associated with a definition: The environment will have the same concreteness as the name, and we will be in the opaque block enclosing the name, if any.
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_ :: Defn -> Maybe Projection Source #
isRelevantProjection :: HasConstInfo m => QName -> m (Maybe Projection) Source #
Is it the name of a non-irrelevant record projection?
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).
usesCopatterns :: HasConstInfo m => QName -> m Bool Source #
Check whether a definition uses copatterns.
allMetaKinds :: [MetaKind] Source #
All possible metavariable kinds.
dontAssignMetas :: (MonadTCEnv m, HasOptions m, MonadDebug m) => m a -> m a Source #
Switch off assignment of metas.
isRemoteMeta :: ReadTCState m => m (MetaId -> Bool) Source #
Is the meta-variable from another top-level module?
nextLocalMeta :: ReadTCState m => m MetaId Source #
If another meta-variable is created, then it will get this
MetaId
(unless the state is changed too much, for instance by
setTopLevelModule
).
metasCreatedBy :: forall m a. ReadTCState m => m a -> m (a, LocalMetaStores) Source #
Run a computation and record which new metas it created.
lookupLocalMeta' :: ReadTCState m => MetaId -> m (Maybe MetaVariable) Source #
Find information about the given local meta-variable, if any.
lookupLocalMeta :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m MetaVariable Source #
Find information about the given local meta-variable.
lookupMetaInstantiation :: ReadTCState m => MetaId -> m MetaInstantiation Source #
Find the meta-variable's instantiation.
lookupMetaJudgement :: ReadTCState m => MetaId -> m (Judgement MetaId) Source #
Find the meta-variable's judgement.
lookupMetaModality :: ReadTCState m => MetaId -> m Modality Source #
Find the meta-variable's modality.
updateMetaVarTCM :: HasCallStack => MetaId -> (MetaVariable -> MetaVariable) -> TCM () Source #
Update the information associated with a local meta-variable.
isOpenMeta :: MetaInstantiation -> Bool Source #
insertMetaVar :: MetaId -> MetaVariable -> TCM () Source #
Insert a new meta-variable with associated information into the local meta store.
getMetaPriority :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m MetaPriority Source #
Returns the MetaPriority
of the given local meta-variable.
isSortMeta :: ReadTCState m => MetaId -> m Bool Source #
isSortJudgement :: Judgement a -> Bool Source #
isSortMeta_ :: MetaVariable -> Bool Source #
getMetaType :: ReadTCState m => MetaId -> m Type Source #
getMetaContextArgs :: MonadTCEnv m => MetaVariable -> m Args Source #
Compute the context variables that a local meta-variable should be applied to, accounting for pruning.
getMetaTypeInContext :: (HasBuiltins m, HasCallStack, MonadDebug m, MonadReduce m, MonadTCEnv m, ReadTCState m) => MetaId -> m Type Source #
Given a local meta-variable, return the type applied to the current context.
isGeneralizableMeta :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m DoGeneralize Source #
Is it a local meta-variable 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).
getMetaListeners :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m [Listener] Source #
Get the listeners for a local meta-variable.
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 #
setMetaNameSuggestion :: MonadMetaSolver m => MetaId -> MetaNameSuggestion -> m () Source #
getMetaNameSuggestion :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m MetaNameSuggestion Source #
setMetaGeneralizableArgInfo :: MonadMetaSolver m => MetaId -> ArgInfo -> m () Source #
Change the ArgInfo that will be used when generalizing over this local meta-variable.
updateMetaVarRange :: MonadMetaSolver m => MetaId -> Range -> m () Source #
setMetaOccursCheck :: MonadMetaSolver m => MetaId -> RunMetaOccursCheck -> m () Source #
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 a local meta-variable to an 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 :: (HasCallStack, MonadDebug m, ReadTCState m) => [MetaId] -> m [Range] Source #
getUnsolvedMetas :: (HasCallStack, MonadDebug m, ReadTCState m) => m [Range] Source #
getOpenMetas :: ReadTCState m => m [MetaId] Source #
getUnsolvedInteractionMetas :: (HasCallStack, MonadDebug m, ReadTCState m) => m [Range] Source #
getInteractionIdsAndMetas :: ReadTCState m => m [(InteractionId, MetaId)] Source #
Get all metas that correspond to unsolved interaction ids.
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.
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
.
getInteractionScope :: (MonadDebug m, 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 #
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.
clearMetaListeners :: MonadMetaSolver m => MetaId -> m () Source #
etaExpandMetaSafe :: MonadMetaSolver m => MetaId -> m () Source #
Do safe eta-expansions for meta (SingletonRecords,Levels
).
etaExpandListeners :: MonadMetaSolver m => MetaId -> m () Source #
Eta expand metavariables listening on the current meta.
wakeupListener :: MonadMetaSolver m => Listener -> m () Source #
Wake up a meta listener and let it do its thing
solveAwakeConstraints :: MonadConstraint m => m () Source #
solveAwakeConstraints' :: MonadConstraint m => Bool -> m () Source #
freezeMetas :: MonadTCState m => LocalMetaStore -> m (Set MetaId) Source #
Freeze the given meta-variables (but only if they are open) and return those that were not already frozen.
unfreezeMetas :: TCM () Source #
Thaw all open meta variables.
isFrozen :: (HasCallStack, MonadDebug m, ReadTCState m) => MetaId -> m Bool Source #
withFrozenMetas :: (MonadMetaSolver m, MonadTCState m) => m a -> m a 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.