Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
- data MetaInfo = MetaInfo {}
- emptyMetaInfo :: MetaInfo
- newtype ExprInfo = ExprRange Range
- exprNoRange :: ExprInfo
- data AppInfo = AppInfo {}
- defaultAppInfo :: Range -> AppInfo
- defaultAppInfo_ :: AppInfo
- data ModuleInfo = ModuleInfo {}
- newtype LetInfo = LetRange Range
- data DefInfo' t = DefInfo {
- defFixity :: Fixity'
- defAccess :: Access
- defAbstract :: IsAbstract
- defInstance :: IsInstance
- defMacro :: IsMacro
- defInfo :: DeclInfo
- defTactic :: Maybe t
- mkDefInfo :: Name -> Fixity' -> Access -> IsAbstract -> Range -> DefInfo' t
- mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> IsMacro -> Range -> DefInfo' t
- data DeclInfo = DeclInfo {}
- data MutualInfo = MutualInfo {}
- data LHSInfo = LHSInfo {}
- newtype PatInfo = PatRange Range
- patNoRange :: PatInfo
- data ConPatInfo = ConPatInfo {}
- data ConPatLazy
Documentation
MetaInfo | |
|
Instances
HasRange MetaInfo Source # | |
KillRange MetaInfo Source # | |
Defined in Agda.Syntax.Info | |
Data MetaInfo Source # | |
Defined in Agda.Syntax.Info 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 :: forall r r'. (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 # | |
Generic MetaInfo Source # | |
Show MetaInfo Source # | |
NFData MetaInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq MetaInfo Source # | |
type Rep MetaInfo Source # | |
Defined in Agda.Syntax.Info type Rep MetaInfo = D1 ('MetaData "MetaInfo" "Agda.Syntax.Info" "Agda-2.6.2.1.20220320-inplace" 'False) (C1 ('MetaCons "MetaInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "metaRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Just "metaScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeInfo)) :*: (S1 ('MetaSel ('Just "metaNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MetaId)) :*: S1 ('MetaSel ('Just "metaNameSuggestion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) |
Instances
HasRange ExprInfo Source # | |
KillRange ExprInfo Source # | |
Defined in Agda.Syntax.Info | |
Null ExprInfo Source # | |
Data ExprInfo Source # | |
Defined in Agda.Syntax.Info 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 :: forall r r'. (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 # | |
NFData ExprInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq ExprInfo Source # | |
Information about application
Instances
LensOrigin AppInfo Source # | |
HasRange AppInfo Source # | |
KillRange AppInfo Source # | |
Defined in Agda.Syntax.Info | |
Data AppInfo Source # | |
Defined in Agda.Syntax.Info gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AppInfo -> c AppInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AppInfo # toConstr :: AppInfo -> Constr # dataTypeOf :: AppInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AppInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AppInfo) # gmapT :: (forall b. Data b => b -> b) -> AppInfo -> AppInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AppInfo -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AppInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> AppInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AppInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AppInfo -> m AppInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AppInfo -> m AppInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AppInfo -> m AppInfo # | |
Generic AppInfo Source # | |
Show AppInfo Source # | |
NFData AppInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq AppInfo Source # | |
Ord AppInfo Source # | |
type Rep AppInfo Source # | |
Defined in Agda.Syntax.Info type Rep AppInfo = D1 ('MetaData "AppInfo" "Agda.Syntax.Info" "Agda-2.6.2.1.20220320-inplace" 'False) (C1 ('MetaCons "AppInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: (S1 ('MetaSel ('Just "appOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Origin) :*: S1 ('MetaSel ('Just "appParens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParenPreference)))) |
defaultAppInfo :: Range -> AppInfo Source #
Default is system inserted and prefer parens.
defaultAppInfo_ :: AppInfo Source #
AppInfo
with no range information.
data ModuleInfo Source #
ModuleInfo | |
|
Instances
Instances
HasRange LetInfo Source # | |
KillRange LetInfo Source # | |
Defined in Agda.Syntax.Info | |
Null LetInfo Source # | |
Data LetInfo Source # | |
Defined in Agda.Syntax.Info 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 :: forall r r'. (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 # | |
NFData LetInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq LetInfo Source # | |
DefInfo | |
|
Instances
mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> IsMacro -> Range -> DefInfo' t Source #
Same as mkDefInfo
but where we can also give the IsInstance
Instances
HasRange DeclInfo Source # | |
KillRange DeclInfo Source # | |
Defined in Agda.Syntax.Info | |
SetRange DeclInfo Source # | |
Data DeclInfo Source # | |
Defined in Agda.Syntax.Info 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 :: forall r r'. (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 # | |
Generic DeclInfo Source # | |
Show DeclInfo Source # | |
NFData DeclInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq DeclInfo Source # | |
type Rep DeclInfo Source # | |
Defined in Agda.Syntax.Info type Rep DeclInfo = D1 ('MetaData "DeclInfo" "Agda.Syntax.Info" "Agda-2.6.2.1.20220320-inplace" 'False) (C1 ('MetaCons "DeclInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "declName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Just "declRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))) |
data MutualInfo Source #
Instances
Instances
HasRange LHSInfo Source # | |
KillRange LHSInfo Source # | |
Defined in Agda.Syntax.Info | |
Null LHSInfo Source # | |
Data LHSInfo Source # | |
Defined in Agda.Syntax.Info 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 :: forall r r'. (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 # | |
Generic LHSInfo Source # | |
Show LHSInfo Source # | |
NFData LHSInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq LHSInfo Source # | |
type Rep LHSInfo Source # | |
Defined in Agda.Syntax.Info type Rep LHSInfo = D1 ('MetaData "LHSInfo" "Agda.Syntax.Info" "Agda-2.6.2.1.20220320-inplace" 'False) (C1 ('MetaCons "LHSInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "lhsRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel ('Just "lhsEllipsis") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpandedEllipsis))) |
For a general pattern we remember the source code position.
Instances
HasRange PatInfo Source # | |
KillRange PatInfo Source # | |
Defined in Agda.Syntax.Info | |
SetRange PatInfo Source # | |
Null PatInfo Source # | |
Data PatInfo Source # | |
Defined in Agda.Syntax.Info 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 :: forall r r'. (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 # | |
Monoid PatInfo Source # | |
Semigroup PatInfo Source # | |
Show PatInfo Source # | |
NFData PatInfo Source # | |
Defined in Agda.Syntax.Info | |
Eq PatInfo Source # | |
patNoRange :: PatInfo Source #
Empty range for patterns.
data ConPatInfo Source #
Constructor pattern info.
ConPatInfo | |
|
Instances
data ConPatLazy Source #
Has the constructor pattern a dotted (forced) constructor?
ConPatLazy | Dotted constructor. |
ConPatEager | Ordinary constructor. |