-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | HaRP allows pattern-matching with regular expressions -- -- HaRP, or Haskell Regular Patterns, is a Haskell extension that extends -- the normal pattern matching facility with the power of regular -- expressions. This expressive power is highly useful in a wide range of -- areas, including text parsing and XML processing. Regular expression -- patterns in HaRP work over ordinary Haskell lists ([]) of arbitrary -- type. We have implemented HaRP as a pre-processor to ordinary Haskell. -- -- For details on usage, please see the website. @package harp @version 0.4 -- | Functions that simulate the behavior of regular patterns using a Match -- monad for parsing lists. module Harp.Match -- | The Match monad data Match e a runMatch :: Match e a -> [e] -> Maybe a baseMatch :: (a -> Maybe b) -> Match a (a, b) manyMatch :: Match e a -> Match e [a] gManyMatch :: Match e a -> Match e [a] foldComp :: [[a] -> [a]] -> ([a] -> [a]) unzip0 :: [()] -> () unzip1 :: [a] -> [a] unzip2 :: [(a, b)] -> ([a], [b]) -- | The unzip3 function takes a list of triples and returns three -- lists, analogous to unzip. unzip3 :: [(a, b, c)] -> ([a], [b], [c]) -- | The unzip4 function takes a list of quadruples and returns four -- lists, analogous to unzip. unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d]) -- | The unzip5 function takes a list of five-tuples and returns -- five lists, analogous to unzip. unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e]) -- | The unzip6 function takes a list of six-tuples and returns six -- lists, analogous to unzip. unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f]) -- | The unzip7 function takes a list of seven-tuples and returns -- seven lists, analogous to unzip. unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g]) (+++) :: Match e a -> Match e a -> Match e a instance Monad (Match e)