harp-0.2.1: HaRP allows pattern-matching with regular expressions

Portabilityportable
Stabilityexperimental
MaintainerNiklas Broberg, d00nibro@dtek.chalmers.se

Harp.Match

Description

Functions that simulate the behavior of regular patterns using a Match monad for parsing lists.

Synopsis

Documentation

data Match e a Source

The Match monad

Instances

Monad (Match e) 

runMatch :: Match e a -> [e] -> Maybe aSource

baseMatch :: (a -> Maybe b) -> Match a (a, b)Source

manyMatch :: Match e a -> Match e [a]Source

gManyMatch :: Match e a -> Match e [a]Source

foldComp :: [[a] -> [a]] -> [a] -> [a]Source

unzip1 :: [a] -> [a]Source

unzip2 :: [(a, b)] -> ([a], [b])Source

unzip3 :: [(a, b, c)] -> ([a], [b], [c])

The unzip3 function takes a list of triples and returns three lists, analogous to unzip.

unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])

The unzip4 function takes a list of quadruples and returns four lists, analogous to unzip.

unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])

The unzip5 function takes a list of five-tuples and returns five lists, analogous to unzip.

unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])

The unzip6 function takes a list of six-tuples and returns six lists, analogous to unzip.

unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])

The unzip7 function takes a list of seven-tuples and returns seven lists, analogous to unzip.

(+++) :: Match e a -> Match e a -> Match e aSource