Safe Haskell | None |
---|---|
Language | Haskell98 |
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 -> Range -> DefInfo
- data DeclInfo = DeclInfo {}
- data MutualInfo = MutualInfo {}
- newtype LHSInfo = LHSRange Range
- data PatInfo
- patNoRange :: PatInfo
- data ConPatInfo = ConPatInfo {
- patImplicit :: Bool
- patInfo :: PatInfo
Documentation
MetaInfo | |
|
data ModuleInfo Source
ModuleInfo | |
|
DefInfo | |
|
mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> Range -> DefInfo Source
Same as mkDefInfo
but where we can also give the IsInstance
data MutualInfo Source
For a general pattern we can either remember just the source code position or the entire concrete pattern it came from.
Empty range for patterns.
data ConPatInfo Source
Constructor pattern info.
ConPatInfo | |
|