Portability | non-portable (uses existentially quantified data constructors) |
---|---|
Stability | provisional |
Maintainer | daan@cs.uu.nl |
This module implements permutation parsers. The algorithm used is fairly complex since we push the type system to its limits :-) The algorithm is described in:
Parsing Permutation Phrases, by Arthur Baars, Andres Loh and Doaitse Swierstra. Published as a functional pearl at the Haskell Workshop 2001.
Documentation
data PermParser tok st a Source
permute :: PermParser tok st a -> GenParser tok st aSource
(<||>) :: PermParser tok st (a -> b) -> GenParser tok st a -> PermParser tok st bSource
(<$$>) :: (a -> b) -> GenParser tok st a -> PermParser tok st bSource
(<|?>) :: PermParser tok st (a -> b) -> (a, GenParser tok st a) -> PermParser tok st bSource
(<$?>) :: (a -> b) -> (a, GenParser tok st a) -> PermParser tok st bSource