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

Safe HaskellNone
LanguageHaskell2010

Agda.Syntax.Info

Description

An info object contains additional information about a piece of abstract syntax that isn't part of the actual syntax. For instance, it might contain the source code position of an expression or the concrete syntax that an internal expression originates from.

Synopsis

Documentation

data MetaInfo #

Instances

Eq MetaInfo # 
Data MetaInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MetaInfo -> c MetaInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MetaInfo #

toConstr :: MetaInfo -> Constr #

dataTypeOf :: MetaInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c MetaInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MetaInfo) #

gmapT :: (forall b. Data b => b -> b) -> MetaInfo -> MetaInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MetaInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MetaInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> MetaInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MetaInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MetaInfo -> m MetaInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaInfo -> m MetaInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaInfo -> m MetaInfo #

Show MetaInfo # 
KillRange MetaInfo # 
HasRange MetaInfo # 

Methods

getRange :: MetaInfo -> Range #

newtype ExprInfo #

Constructors

ExprRange Range 

Instances

Eq ExprInfo # 
Data ExprInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExprInfo -> c ExprInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExprInfo #

toConstr :: ExprInfo -> Constr #

dataTypeOf :: ExprInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ExprInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExprInfo) #

gmapT :: (forall b. Data b => b -> b) -> ExprInfo -> ExprInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExprInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExprInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> ExprInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ExprInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExprInfo -> m ExprInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExprInfo -> m ExprInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExprInfo -> m ExprInfo #

Show ExprInfo # 
Null ExprInfo # 

Methods

empty :: ExprInfo #

null :: ExprInfo -> Bool #

KillRange ExprInfo # 
HasRange ExprInfo # 

Methods

getRange :: ExprInfo -> Range #

data LamInfo #

Information about lambdas.

Constructors

LamInfo 

Fields

Instances

Eq LamInfo # 

Methods

(==) :: LamInfo -> LamInfo -> Bool #

(/=) :: LamInfo -> LamInfo -> Bool #

Data LamInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LamInfo -> c LamInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LamInfo #

toConstr :: LamInfo -> Constr #

dataTypeOf :: LamInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c LamInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LamInfo) #

gmapT :: (forall b. Data b => b -> b) -> LamInfo -> LamInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LamInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LamInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> LamInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LamInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LamInfo -> m LamInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LamInfo -> m LamInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LamInfo -> m LamInfo #

Ord LamInfo # 
Show LamInfo # 
KillRange LamInfo # 
HasRange LamInfo # 

Methods

getRange :: LamInfo -> Range #

LensOrigin LamInfo # 

defaultLamInfo :: Range -> LamInfo #

Default is system inserted and prefer parens.

defaultLamInfo_ :: LamInfo #

LamInfo with no range information.

data ModuleInfo #

Constructors

ModuleInfo 

Fields

Instances

Eq ModuleInfo # 
Data ModuleInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleInfo -> c ModuleInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleInfo #

toConstr :: ModuleInfo -> Constr #

dataTypeOf :: ModuleInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ModuleInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleInfo) #

gmapT :: (forall b. Data b => b -> b) -> ModuleInfo -> ModuleInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> ModuleInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo #

Show ModuleInfo # 
KillRange ModuleInfo # 
SetRange ModuleInfo # 
HasRange ModuleInfo # 

Methods

getRange :: ModuleInfo -> Range #

UniverseBi Declaration ModuleInfo # 

newtype LetInfo #

Constructors

LetRange Range 

Instances

Eq LetInfo # 

Methods

(==) :: LetInfo -> LetInfo -> Bool #

(/=) :: LetInfo -> LetInfo -> Bool #

Data LetInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LetInfo -> c LetInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LetInfo #

toConstr :: LetInfo -> Constr #

dataTypeOf :: LetInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c LetInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LetInfo) #

gmapT :: (forall b. Data b => b -> b) -> LetInfo -> LetInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LetInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LetInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> LetInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LetInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LetInfo -> m LetInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LetInfo -> m LetInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LetInfo -> m LetInfo #

Show LetInfo # 
Null LetInfo # 

Methods

empty :: LetInfo #

null :: LetInfo -> Bool #

KillRange LetInfo # 
HasRange LetInfo # 

Methods

getRange :: LetInfo -> Range #

data DefInfo #

Instances

Eq DefInfo # 

Methods

(==) :: DefInfo -> DefInfo -> Bool #

(/=) :: DefInfo -> DefInfo -> Bool #

Data DefInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DefInfo -> c DefInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DefInfo #

toConstr :: DefInfo -> Constr #

dataTypeOf :: DefInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c DefInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DefInfo) #

gmapT :: (forall b. Data b => b -> b) -> DefInfo -> DefInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DefInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DefInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> DefInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DefInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DefInfo -> m DefInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DefInfo -> m DefInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DefInfo -> m DefInfo #

Show DefInfo # 
KillRange DefInfo # 
SetRange DefInfo # 

Methods

setRange :: Range -> DefInfo -> DefInfo #

HasRange DefInfo # 

Methods

getRange :: DefInfo -> Range #

mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> IsMacro -> Range -> DefInfo #

Same as mkDefInfo but where we can also give the IsInstance

data DeclInfo #

Constructors

DeclInfo 

Fields

Instances

Eq DeclInfo # 
Data DeclInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DeclInfo -> c DeclInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DeclInfo #

toConstr :: DeclInfo -> Constr #

dataTypeOf :: DeclInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c DeclInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DeclInfo) #

gmapT :: (forall b. Data b => b -> b) -> DeclInfo -> DeclInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DeclInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DeclInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> DeclInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DeclInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DeclInfo -> m DeclInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclInfo -> m DeclInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclInfo -> m DeclInfo #

Show DeclInfo # 
KillRange DeclInfo # 
SetRange DeclInfo # 

Methods

setRange :: Range -> DeclInfo -> DeclInfo #

HasRange DeclInfo # 

Methods

getRange :: DeclInfo -> Range #

data MutualInfo #

Instances

Eq MutualInfo # 
Data MutualInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MutualInfo -> c MutualInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MutualInfo #

toConstr :: MutualInfo -> Constr #

dataTypeOf :: MutualInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c MutualInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MutualInfo) #

gmapT :: (forall b. Data b => b -> b) -> MutualInfo -> MutualInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MutualInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MutualInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> MutualInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MutualInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MutualInfo -> m MutualInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MutualInfo -> m MutualInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MutualInfo -> m MutualInfo #

Show MutualInfo # 
Null MutualInfo #

Default value for MutualInfo.

KillRange MutualInfo # 
HasRange MutualInfo # 

Methods

getRange :: MutualInfo -> Range #

newtype LHSInfo #

Constructors

LHSRange Range 

Instances

Eq LHSInfo # 

Methods

(==) :: LHSInfo -> LHSInfo -> Bool #

(/=) :: LHSInfo -> LHSInfo -> Bool #

Data LHSInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHSInfo -> c LHSInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LHSInfo #

toConstr :: LHSInfo -> Constr #

dataTypeOf :: LHSInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c LHSInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LHSInfo) #

gmapT :: (forall b. Data b => b -> b) -> LHSInfo -> LHSInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHSInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHSInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> LHSInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LHSInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHSInfo -> m LHSInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHSInfo -> m LHSInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHSInfo -> m LHSInfo #

Show LHSInfo # 
Null LHSInfo # 

Methods

empty :: LHSInfo #

null :: LHSInfo -> Bool #

KillRange LHSInfo # 
HasRange LHSInfo # 

Methods

getRange :: LHSInfo -> Range #

newtype PatInfo #

For a general pattern we remember the source code position.

Constructors

PatRange Range 

Instances

Eq PatInfo # 

Methods

(==) :: PatInfo -> PatInfo -> Bool #

(/=) :: PatInfo -> PatInfo -> Bool #

Data PatInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PatInfo -> c PatInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PatInfo #

toConstr :: PatInfo -> Constr #

dataTypeOf :: PatInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PatInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PatInfo) #

gmapT :: (forall b. Data b => b -> b) -> PatInfo -> PatInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PatInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PatInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> PatInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PatInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PatInfo -> m PatInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PatInfo -> m PatInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PatInfo -> m PatInfo #

Show PatInfo # 
Null PatInfo # 

Methods

empty :: PatInfo #

null :: PatInfo -> Bool #

KillRange PatInfo # 
HasRange PatInfo # 

Methods

getRange :: PatInfo -> Range #

patNoRange :: PatInfo #

Empty range for patterns.

data ConPatInfo #

Constructor pattern info.

Constructors

ConPatInfo 

Fields

Instances

Eq ConPatInfo # 
Data ConPatInfo # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConPatInfo -> c ConPatInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConPatInfo #

toConstr :: ConPatInfo -> Constr #

dataTypeOf :: ConPatInfo -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ConPatInfo) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConPatInfo) #

gmapT :: (forall b. Data b => b -> b) -> ConPatInfo -> ConPatInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConPatInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConPatInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> ConPatInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ConPatInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConPatInfo -> m ConPatInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConPatInfo -> m ConPatInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConPatInfo -> m ConPatInfo #

Show ConPatInfo # 
KillRange ConPatInfo # 
SetRange ConPatInfo # 
HasRange ConPatInfo # 

Methods

getRange :: ConPatInfo -> Range #