phaser-1.0.2.0: Incremental multiple pass parser library.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Codec.Phaser.Permutation

Synopsis

Documentation

data Permutable p c t a Source #

Instances

Instances details
Monoid p => Alternative (Permutable p c t) Source # 
Instance details

Defined in Codec.Phaser.Permutation

Methods

empty :: Permutable p c t a #

(<|>) :: Permutable p c t a -> Permutable p c t a -> Permutable p c t a #

some :: Permutable p c t a -> Permutable p c t [a] #

many :: Permutable p c t a -> Permutable p c t [a] #

Applicative (Permutable p c t) Source # 
Instance details

Defined in Codec.Phaser.Permutation

Methods

pure :: a -> Permutable p c t a #

(<*>) :: Permutable p c t (a -> b) -> Permutable p c t a -> Permutable p c t b #

liftA2 :: (a -> b -> c0) -> Permutable p c t a -> Permutable p c t b -> Permutable p c t c0 #

(*>) :: Permutable p c t a -> Permutable p c t b -> Permutable p c t b #

(<*) :: Permutable p c t a -> Permutable p c t b -> Permutable p c t a #

Functor (Permutable p c t) Source # 
Instance details

Defined in Codec.Phaser.Permutation

Methods

fmap :: (a -> b) -> Permutable p c t a -> Permutable p c t b #

(<$) :: a -> Permutable p c t b -> Permutable p c t a #

runPermutable :: forall p c t a b. Monoid p => Phase p c t b -> Permutable p c t a -> Phase p c t a Source #

Create a Phase which runs the constituent terms of the Permutable in every order in which they succeed, running a separator Phase between each term which consumes input.

term :: Phase p c t a -> Permutable p c t a Source #