Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
- newtype Layout m a = Layout {
- unlayout :: StateT LayoutState m a
- data LayoutMark d = LayoutMark LayoutState d
- class MonadParser m => MonadLayout m where
- layout :: m LayoutToken
- layoutState :: (LayoutState -> (a, LayoutState)) -> m a
- data LayoutState = LayoutState {
- _layoutBol :: Bool
- _layoutStack :: [LayoutContext]
- runLayout :: Monad m => Layout m a -> LayoutState -> m (a, LayoutState)
- defaultLayoutState :: LayoutState
Documentation
Adds Haskell-style layout to base parser
Layout | |
|
MonadTrans Layout | |
MonadReader e m => MonadReader e (Layout m) | |
MonadState s m => MonadState s (Layout m) | |
MonadWriter w m => MonadWriter w (Layout m) | |
MonadDiagnostic e m => MonadDiagnostic e (Layout m) | |
Monad m => Monad (Layout m) | |
Functor m => Functor (Layout m) | |
MonadPlus m => MonadPlus (Layout m) | |
(Monad m, Functor m) => Applicative (Layout m) | |
(Functor m, MonadPlus m) => Alternative (Layout m) | |
MonadCont m => MonadCont (Layout m) | |
MonadParser m => MonadParser (Layout m) | |
MonadParser m => MonadLayout (Layout m) | |
MonadMark d m => MonadMark (LayoutMark d) (Layout m) |
data LayoutMark d Source
Functor LayoutMark | |
Foldable LayoutMark | |
Traversable LayoutMark | |
Foldable1 LayoutMark | |
Traversable1 LayoutMark | |
HasBytes d => HasBytes (LayoutMark d) | |
HasDelta d => HasDelta (LayoutMark d) | |
MonadMark d m => MonadMark (LayoutMark d) (Layout m) |
class MonadParser m => MonadLayout m whereSource
layout :: m LayoutTokenSource
layoutState :: (LayoutState -> (a, LayoutState)) -> m aSource
MonadLayout m => MonadLayout (IdentityT m) | |
MonadParser m => MonadLayout (Layout m) | |
MonadLayout m => MonadLayout (ReaderT e m) | |
MonadLayout m => MonadLayout (StateT s m) | |
MonadLayout m => MonadLayout (StateT s m) | |
(Monoid w, MonadLayout m) => MonadLayout (WriterT w m) | |
(Monoid w, MonadLayout m) => MonadLayout (WriterT w m) | |
(Monoid w, MonadLayout m) => MonadLayout (RWST r w s m) | |
(Monoid w, MonadLayout m) => MonadLayout (RWST r w s m) |
data LayoutState Source
runLayout :: Monad m => Layout m a -> LayoutState -> m (a, LayoutState)Source