Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | ekmett@gmail.com |
Safe Haskell | Safe-Infered |
- class (MonadPlus m, TokenParsing m) => DeltaParsing m where
- line :: m ByteString
- position :: m Delta
- slicedWith :: (a -> ByteString -> r) -> m a -> m r
- rend :: DeltaParsing m => m Rendering
- restOfLine :: DeltaParsing m => m ByteString
- sliced :: DeltaParsing m => m a -> m ByteString
- careting :: DeltaParsing m => m Caret
- careted :: DeltaParsing m => m a -> m (Careted a)
- spanning :: DeltaParsing m => m a -> m Span
- spanned :: DeltaParsing m => m a -> m (Spanned a)
- fixiting :: DeltaParsing m => m ByteString -> m Fixit
- class (DeltaParsing m, HasDelta d) => MarkParsing d m | m -> d where
Documentation
class (MonadPlus m, TokenParsing m) => DeltaParsing m whereSource
This class provides parsers with easy access to:
1) the current line contents.
2) the current position as a Delta
.
3) the ability to use sliced
on any parser.
line :: m ByteStringSource
Retrieve the contents of the current line (from the beginning of the line)
Retrieve the current position as a Delta
.
slicedWith :: (a -> ByteString -> r) -> m a -> m rSource
Run a parser, grabbing all of the text between its start and end points
rend :: DeltaParsing m => m RenderingSource
restOfLine :: DeltaParsing m => m ByteStringSource
Grab the remainder of the current line
DeltaParsing Parser | |
(MonadPlus m, DeltaParsing m) => DeltaParsing (IdentityT m) | |
(MonadPlus m, DeltaParsing m) => DeltaParsing (ReaderT e m) | |
(MonadPlus m, DeltaParsing m) => DeltaParsing (StateT s m) | |
(MonadPlus m, DeltaParsing m) => DeltaParsing (StateT s m) | |
(MonadPlus m, DeltaParsing m, Monoid w) => DeltaParsing (WriterT w m) | |
(MonadPlus m, DeltaParsing m, Monoid w) => DeltaParsing (WriterT w m) | |
(MonadPlus m, DeltaParsing m, Monoid w) => DeltaParsing (RWST r w s m) | |
(MonadPlus m, DeltaParsing m, Monoid w) => DeltaParsing (RWST r w s m) |
sliced :: DeltaParsing m => m a -> m ByteStringSource
Run a parser, grabbing all of the text between its start and end points and discarding the original result
careting :: DeltaParsing m => m CaretSource
Grab a Caret
pointing to the current location.
careted :: DeltaParsing m => m a -> m (Careted a)Source
spanning :: DeltaParsing m => m a -> m SpanSource
Discard the result of a parse, returning a Span
from where we start to where it ended parsing.
spanned :: DeltaParsing m => m a -> m (Spanned a)Source
fixiting :: DeltaParsing m => m ByteString -> m FixitSource
Grab a fixit.
class (DeltaParsing m, HasDelta d) => MarkParsing d m | m -> d whereSource
This class is a refinement of DeltaParsing
that adds the ability to mark your position in the input
and return there for further parsing later.
mark the current location so it can be used in constructing a span, or for later seeking
Seek a previously marked location
MarkParsing Delta Parser | |
(MonadPlus m, MarkParsing d m) => MarkParsing d (IdentityT m) | |
(MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (WriterT w m) | |
(MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (WriterT w m) | |
(MonadPlus m, MarkParsing d m) => MarkParsing d (ReaderT e m) | |
(MonadPlus m, MarkParsing d m) => MarkParsing d (StateT s m) | |
(MonadPlus m, MarkParsing d m) => MarkParsing d (StateT s m) | |
(MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (RWST r w s m) | |
(MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (RWST r w s m) |