Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides levity-polymorphic variants of >>=
, >>
, and pure
used to assemble parsers whose result types are unlifted. This
cannot be used with the RebindableSyntax
extension because that
extension disallows representations other than LiftedRep
. Consequently,
users of this module must manually desugar do notation. See the
url-bytes
library for an example of this module in action.
Only resort to the functions in this module after checking that
GHC is unable to optimize away I#
and friends in your code.
Documentation
class Bind (ra :: RuntimeRep) (rb :: RuntimeRep) where Source #
(>>=) :: forall e s (a :: TYPE ra) (b :: TYPE rb). Parser e s a -> (a -> Parser e s b) -> Parser e s b Source #
(>>) :: forall e s (a :: TYPE ra) (b :: TYPE rb). Parser e s a -> Parser e s b -> Parser e s b Source #