Safe Haskell | None |
---|---|
Language | Haskell2010 |
Agda.TypeChecking.Monad.Base.Types
Description
Data structures for the type checker.
Part of Agda.TypeChecking.Monad.Base, extracted to avoid import cycles.
Synopsis
- lensFileDictBuiltinModuleIds :: Lens' FileDictWithBuiltins BuiltinModuleIds
- lensFileDictFileDictBuilder :: Lens' FileDictWithBuiltins FileDictBuilder
- lensFileDictPrimitiveLibDir :: Lens' FileDictWithBuiltins PrimitiveLibDir
- lensPairModuleToSource :: Lens' (FileDictWithBuiltins, ModuleToSourceId) ModuleToSource
- type BuiltinModuleIds = EnumMap FileId IsBuiltinModule
- data Comparison
- type Context = [ContextEntry]
- data ContextEntry = CtxVar {}
- data FileDictWithBuiltins = FileDictWithBuiltins {}
- data HighlightingLevel
- data HighlightingMethod
- data IPFace' t = IPFace' {}
- data IsBuiltinModule
- data ModuleToSource = ModuleToSource {}
- type ModuleToSourceId = Map TopLevelModuleName SourceFile
- data NamedMeta = NamedMeta {}
- data Polarity
- type PrimitiveLibDir = AbsolutePath
- newtype SourceFile = SourceFile {}
- type TopLevelModuleName = TopLevelModuleName' Range
- data FileDictBuilder
- data FileId
- data AbsolutePath
Documentation
type BuiltinModuleIds = EnumMap FileId IsBuiltinModule Source #
Collection of FileId
s of primitive modules.
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 # | |||||
NFData Comparison Source # | |||||
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: Comparison -> () # | |||||
Generic Comparison Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
| |||||
Show Comparison Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods showsPrec :: Int -> Comparison -> ShowS # show :: Comparison -> String # showList :: [Comparison] -> ShowS # | |||||
Eq Comparison Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types | |||||
type Rep Comparison Source # | |||||
type Context = [ContextEntry] Source #
The Context
is a stack of ContextEntry
s.
data ContextEntry Source #
Instances
data FileDictWithBuiltins Source #
Translation between AbsolutePath
and FileId
that also knows about Agda's builtin modules.
Constructors
FileDictWithBuiltins | |
Fields
|
Instances
GetFileId FileDictWithBuiltins Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
GetIdFile FileDictWithBuiltins Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
NFData FileDictWithBuiltins Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods rnf :: FileDictWithBuiltins -> () # | |||||
Generic FileDictWithBuiltins Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
Methods from :: FileDictWithBuiltins -> Rep FileDictWithBuiltins x # to :: Rep FileDictWithBuiltins x -> FileDictWithBuiltins # | |||||
type Rep FileDictWithBuiltins Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types type Rep FileDictWithBuiltins = D1 ('MetaData "FileDictWithBuiltins" "Agda.TypeChecking.Monad.Base.Types" "Agda-2.8.0-inplace" 'False) (C1 ('MetaCons "FileDictWithBuiltins" 'PrefixI 'True) (S1 ('MetaSel ('Just "fileDictBuilder") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FileDictBuilder) :*: (S1 ('MetaSel ('Just "builtinModuleIds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BuiltinModuleIds) :*: S1 ('MetaSel ('Just "primitiveLibDir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PrimitiveLibDir)))) |
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
NFData HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: HighlightingLevel -> () # | |||||
Generic HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
Methods from :: HighlightingLevel -> Rep HighlightingLevel x # to :: Rep HighlightingLevel x -> HighlightingLevel # | |||||
Read HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods readsPrec :: Int -> ReadS HighlightingLevel # readList :: ReadS [HighlightingLevel] # | |||||
Show HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods showsPrec :: Int -> HighlightingLevel -> ShowS # show :: HighlightingLevel -> String # showList :: [HighlightingLevel] -> ShowS # | |||||
Eq HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods (==) :: HighlightingLevel -> HighlightingLevel -> Bool # (/=) :: HighlightingLevel -> HighlightingLevel -> Bool # | |||||
Ord HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods compare :: HighlightingLevel -> HighlightingLevel -> Ordering # (<) :: HighlightingLevel -> HighlightingLevel -> Bool # (<=) :: HighlightingLevel -> HighlightingLevel -> Bool # (>) :: HighlightingLevel -> HighlightingLevel -> Bool # (>=) :: HighlightingLevel -> HighlightingLevel -> Bool # max :: HighlightingLevel -> HighlightingLevel -> HighlightingLevel # min :: HighlightingLevel -> HighlightingLevel -> HighlightingLevel # | |||||
type Rep HighlightingLevel Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types type Rep HighlightingLevel = D1 ('MetaData "HighlightingLevel" "Agda.TypeChecking.Monad.Base.Types" "Agda-2.8.0-inplace" 'False) (C1 ('MetaCons "None" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NonInteractive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Interactive" 'PrefixI 'False) (U1 :: Type -> Type))) |
data HighlightingMethod Source #
How should highlighting be sent to the user interface?
Instances
NFData HighlightingMethod Source # | |||||
Defined in Agda.TypeChecking.Monad.Base Methods rnf :: HighlightingMethod -> () # | |||||
Generic HighlightingMethod Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
Methods from :: HighlightingMethod -> Rep HighlightingMethod x # to :: Rep HighlightingMethod x -> HighlightingMethod # | |||||
Read HighlightingMethod Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods readsPrec :: Int -> ReadS HighlightingMethod # readList :: ReadS [HighlightingMethod] # | |||||
Show HighlightingMethod Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods showsPrec :: Int -> HighlightingMethod -> ShowS # show :: HighlightingMethod -> String # showList :: [HighlightingMethod] -> ShowS # | |||||
Eq HighlightingMethod Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods (==) :: HighlightingMethod -> HighlightingMethod -> Bool # (/=) :: HighlightingMethod -> HighlightingMethod -> Bool # | |||||
type Rep HighlightingMethod Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types |
Datatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ⊢ t = ?n es
data IsBuiltinModule Source #
Discern Agda's primitive modules from other file modules.
@IsPrimitiveModule implies
IsBuiltinModuleWithSafePostulate implies
isBuiltinModule.
Constructors
IsPrimitiveModule | Very magical module, e.g. |
IsBuiltinModuleWithSafePostulates | Safe module, e.g. |
IsBuiltinModule | Any builtin module. |
Instances
NFData IsBuiltinModule Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods rnf :: IsBuiltinModule -> () # | |||||
Generic IsBuiltinModule Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
Methods from :: IsBuiltinModule -> Rep IsBuiltinModule x # to :: Rep IsBuiltinModule x -> IsBuiltinModule # | |||||
Show IsBuiltinModule Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods showsPrec :: Int -> IsBuiltinModule -> ShowS # show :: IsBuiltinModule -> String # showList :: [IsBuiltinModule] -> ShowS # | |||||
Eq IsBuiltinModule Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods (==) :: IsBuiltinModule -> IsBuiltinModule -> Bool # (/=) :: IsBuiltinModule -> IsBuiltinModule -> Bool # | |||||
Ord IsBuiltinModule Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods compare :: IsBuiltinModule -> IsBuiltinModule -> Ordering # (<) :: IsBuiltinModule -> IsBuiltinModule -> Bool # (<=) :: IsBuiltinModule -> IsBuiltinModule -> Bool # (>) :: IsBuiltinModule -> IsBuiltinModule -> Bool # (>=) :: IsBuiltinModule -> IsBuiltinModule -> Bool # max :: IsBuiltinModule -> IsBuiltinModule -> IsBuiltinModule # min :: IsBuiltinModule -> IsBuiltinModule -> IsBuiltinModule # | |||||
type Rep IsBuiltinModule Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types type Rep IsBuiltinModule = D1 ('MetaData "IsBuiltinModule" "Agda.TypeChecking.Monad.Base.Types" "Agda-2.8.0-inplace" 'False) (C1 ('MetaCons "IsPrimitiveModule" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IsBuiltinModuleWithSafePostulates" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsBuiltinModule" 'PrefixI 'False) (U1 :: Type -> Type))) |
data ModuleToSource Source #
Constructors
ModuleToSource | |
Fields |
Instances
Pretty ModuleToSource Source # | |
Defined in Agda.TypeChecking.Monad.Base Methods pretty :: ModuleToSource -> Doc Source # prettyPrec :: Int -> ModuleToSource -> Doc Source # prettyList :: [ModuleToSource] -> Doc Source # |
type ModuleToSourceId = Map TopLevelModuleName SourceFile Source #
Maps top-level module names to the corresponding source file ids.
For printing, we couple a meta with its name suggestion.
Constructors
NamedMeta | |
Fields |
Instances
EncodeTCM NamedMeta Source # | |||||
Pretty NamedMeta Source # | |||||
ToConcrete NamedMeta Source # | |||||
Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types
| |||||
PrettyTCM NamedMeta Source # | |||||
Defined in Agda.TypeChecking.Pretty | |||||
type ConOfAbs NamedMeta Source # | |||||
Defined in Agda.Syntax.Translation.AbstractToConcrete |
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 # | |||||
NFData Polarity Source # | |||||
Defined in Agda.TypeChecking.Monad.Base | |||||
Generic Polarity Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
| |||||
Show Polarity Source # | |||||
Eq Polarity Source # | |||||
Abstract [Polarity] Source # | |||||
Apply [Polarity] Source # | |||||
type Rep Polarity Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types type Rep Polarity = D1 ('MetaData "Polarity" "Agda.TypeChecking.Monad.Base.Types" "Agda-2.8.0-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 PrimitiveLibDir = AbsolutePath Source #
newtype SourceFile Source #
SourceFile
s must exist and be registered in our file dictionary.
Constructors
SourceFile | |
Instances
NFData SourceFile Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods rnf :: SourceFile -> () # | |||||
Generic SourceFile Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Associated Types
| |||||
Show SourceFile Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods showsPrec :: Int -> SourceFile -> ShowS # show :: SourceFile -> String # showList :: [SourceFile] -> ShowS # | |||||
Eq SourceFile Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types | |||||
Ord SourceFile Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types Methods compare :: SourceFile -> SourceFile -> Ordering # (<) :: SourceFile -> SourceFile -> Bool # (<=) :: SourceFile -> SourceFile -> Bool # (>) :: SourceFile -> SourceFile -> Bool # (>=) :: SourceFile -> SourceFile -> Bool # max :: SourceFile -> SourceFile -> SourceFile # min :: SourceFile -> SourceFile -> SourceFile # | |||||
type Rep SourceFile Source # | |||||
Defined in Agda.TypeChecking.Monad.Base.Types type Rep SourceFile = D1 ('MetaData "SourceFile" "Agda.TypeChecking.Monad.Base.Types" "Agda-2.8.0-inplace" 'True) (C1 ('MetaCons "SourceFile" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcFileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileId))) |
type TopLevelModuleName = TopLevelModuleName' Range Source #
Top-level module names (with constant-time comparisons).
data FileDictBuilder Source #
Instances
GetFileId FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId | |||||
GetIdFile FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId | |||||
Null FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId | |||||
NFData FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId Methods rnf :: FileDictBuilder -> () # | |||||
Generic FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId Associated Types
Methods from :: FileDictBuilder -> Rep FileDictBuilder x # to :: Rep FileDictBuilder x -> FileDictBuilder # | |||||
type Rep FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId type Rep FileDictBuilder = D1 ('MetaData "FileDictBuilder" "Agda.Utils.FileId" "Agda-2.8.0-inplace" 'False) (C1 ('MetaCons "FileDictBuilder" 'PrefixI 'True) (S1 ('MetaSel ('Just "nextFileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileId) :*: S1 ('MetaSel ('Just "fileDict") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileDict))) |
Unique identifier of a file.
Instances
GetFileId FileToId Source # | |||||
GetIdFile IdToFile Source # | |||||
NFData FileId Source # | |||||
Defined in Agda.Utils.FileId | |||||
Enum FileId Source # | |||||
Defined in Agda.Utils.FileId | |||||
Generic FileId Source # | |||||
Defined in Agda.Utils.FileId Associated Types
| |||||
Num FileId Source # | |||||
Show FileId Source # | |||||
Eq FileId Source # | |||||
Ord FileId Source # | |||||
type Rep FileId Source # | |||||
Defined in Agda.Utils.FileId |
data AbsolutePath Source #
Paths which are known to be absolute.
Note that the Eq
and Ord
instances do not check if different
paths point to the same files or directories.
Instances
Pretty AbsolutePath Source # | |
Defined in Agda.Syntax.Common.Pretty Methods pretty :: AbsolutePath -> Doc Source # prettyPrec :: Int -> AbsolutePath -> Doc Source # prettyList :: [AbsolutePath] -> Doc Source # | |
GetFileId FileToId Source # | |
GetIdFile IdToFile Source # | |
ToJSON AbsolutePath Source # | |
Defined in Agda.Interaction.JSON Methods toJSON :: AbsolutePath -> Value # toEncoding :: AbsolutePath -> Encoding # toJSONList :: [AbsolutePath] -> Value # toEncodingList :: [AbsolutePath] -> Encoding # omitField :: AbsolutePath -> Bool # | |
NFData AbsolutePath Source # | |
Defined in Agda.Utils.FileName Methods rnf :: AbsolutePath -> () # | |
Read AbsolutePath Source # | |
Defined in Agda.Interaction.Base Methods readsPrec :: Int -> ReadS AbsolutePath # readList :: ReadS [AbsolutePath] # | |
Show AbsolutePath Source # | |
Defined in Agda.Utils.FileName Methods showsPrec :: Int -> AbsolutePath -> ShowS # show :: AbsolutePath -> String # showList :: [AbsolutePath] -> ShowS # | |
Eq AbsolutePath Source # | |
Defined in Agda.Utils.FileName | |
Ord AbsolutePath Source # | |
Defined in Agda.Utils.FileName Methods compare :: AbsolutePath -> AbsolutePath -> Ordering # (<) :: AbsolutePath -> AbsolutePath -> Bool # (<=) :: AbsolutePath -> AbsolutePath -> Bool # (>) :: AbsolutePath -> AbsolutePath -> Bool # (>=) :: AbsolutePath -> AbsolutePath -> Bool # max :: AbsolutePath -> AbsolutePath -> AbsolutePath # min :: AbsolutePath -> AbsolutePath -> AbsolutePath # | |
Hashable AbsolutePath Source # | |
Defined in Agda.Utils.FileName |