Safe Haskell | None |
---|---|
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.
- data MetaInfo = MetaInfo {}
- emptyMetaInfo :: MetaInfo
- newtype ExprInfo = ExprRange Range
- exprNoRange :: ExprInfo
- data ModuleInfo = ModuleInfo {}
- newtype LetInfo = LetRange Range
- data DefInfo = DefInfo {}
- mkDefInfo :: Name -> Fixity' -> Access -> IsAbstract -> Range -> DefInfo
- mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> IsMacro -> Range -> DefInfo
- data DeclInfo = DeclInfo {}
- data MutualInfo = MutualInfo {}
- newtype LHSInfo = LHSRange Range
- newtype PatInfo = PatRange Range
- patNoRange :: PatInfo
- data ConPatInfo = ConPatInfo {}
Documentation
data ModuleInfo Source #
ModuleInfo | |
|
DefInfo | |
|
mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> IsMacro -> Range -> DefInfo Source #
Same as mkDefInfo
but where we can also give the IsInstance
data MutualInfo Source #
Eq MutualInfo Source # | |
Show MutualInfo Source # | |
Null MutualInfo Source # | Default value for |
KillRange MutualInfo Source # | |
HasRange MutualInfo Source # | |
For a general pattern we remember the source code position.
patNoRange :: PatInfo Source #
Empty range for patterns.