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

Instances

Eq MetaInfo Source # 
Data MetaInfo Source # 

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 Source # 
KillRange MetaInfo Source # 
HasRange MetaInfo Source # 

newtype ExprInfo Source #

Constructors

ExprRange Range 

Instances

Eq ExprInfo Source # 
Data ExprInfo Source # 

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 Source # 
Null ExprInfo Source # 
KillRange ExprInfo Source # 
HasRange ExprInfo Source # 

data LamInfo Source #

Information about lambdas.

Constructors

LamInfo 

Fields

Instances

Eq LamInfo Source # 

Methods

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

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

Data LamInfo Source # 

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 Source # 
Show LamInfo Source # 
KillRange LamInfo Source # 
HasRange LamInfo Source # 
LensOrigin LamInfo Source # 

defaultLamInfo :: Range -> LamInfo Source #

Default is system inserted and prefer parens.

defaultLamInfo_ :: LamInfo Source #

LamInfo with no range information.

data ModuleInfo Source #

Constructors

ModuleInfo 

Fields

Instances

Eq ModuleInfo Source # 
Data ModuleInfo Source # 

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 Source # 
KillRange ModuleInfo Source # 
SetRange ModuleInfo Source # 
HasRange ModuleInfo Source # 
UniverseBi Declaration ModuleInfo 

newtype LetInfo Source #

Constructors

LetRange Range 

Instances

Eq LetInfo Source # 

Methods

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

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

Data LetInfo Source # 

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 Source # 
Null LetInfo Source # 
KillRange LetInfo Source # 
HasRange LetInfo Source # 

data DefInfo Source #

Instances

Eq DefInfo Source # 

Methods

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

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

Data DefInfo Source # 

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 Source # 
KillRange DefInfo Source # 
SetRange DefInfo Source # 
HasRange DefInfo Source # 

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

Same as mkDefInfo but where we can also give the IsInstance

data DeclInfo Source #

Constructors

DeclInfo 

Fields

Instances

Eq DeclInfo Source # 
Data DeclInfo Source # 

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 Source # 
KillRange DeclInfo Source # 
SetRange DeclInfo Source # 
HasRange DeclInfo Source # 

data MutualInfo Source #

Instances

Eq MutualInfo Source # 
Data MutualInfo Source # 

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 Source # 
Null MutualInfo Source #

Default value for MutualInfo.

KillRange MutualInfo Source # 
HasRange MutualInfo Source # 

newtype LHSInfo Source #

Constructors

LHSRange Range 

Instances

Eq LHSInfo Source # 

Methods

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

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

Data LHSInfo Source # 

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 Source # 
Null LHSInfo Source # 
KillRange LHSInfo Source # 
HasRange LHSInfo Source # 

newtype PatInfo Source #

For a general pattern we remember the source code position.

Constructors

PatRange Range 

Instances

Eq PatInfo Source # 

Methods

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

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

Data PatInfo Source # 

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 Source # 
Null PatInfo Source # 
KillRange PatInfo Source # 
HasRange PatInfo Source # 

patNoRange :: PatInfo Source #

Empty range for patterns.

data ConPatInfo Source #

Constructor pattern info.

Constructors

ConPatInfo 

Fields

Instances

Eq ConPatInfo Source # 
Data ConPatInfo Source # 

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 Source # 
KillRange ConPatInfo Source # 
SetRange ConPatInfo Source # 
HasRange ConPatInfo Source #