Copyright | (c) Paweł Nowak |
---|---|
License | MIT |
Maintainer | Paweł Nowak <pawel834@gmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Provides a very simple indentation as a "monad" transformer.
Documentation
Adds indentation to a syntax description.
SemiIsoFunctor m => SemiIsoFunctor (Indent m) | |
SemiIsoApply m => SemiIsoApply (Indent m) | |
SemiIsoAlternative m => SemiIsoAlternative (Indent m) | |
SemiIsoMonad m => SemiIsoMonad (Indent m) | |
SemiIsoFix m => SemiIsoFix (Indent m) | |
Syntax syn seq => Syntax (Indent syn) seq | |
SyntaxChar syn seq => SyntaxChar (Indent syn) seq |
runIndent :: Indent m a -> m () -> m a Source
runIndent m tab
runs the Indent
transformer using tab
once for each
level of indentation.
breakLine :: SyntaxChar syn seq => Indent syn () Source
Inserts a new line and correct indentation, but does not require any formatting when parsing (it just skips all white space).