module InfixParser where
type Parse a b = [a] -> [(b, [a])]
(<|>)
::
Parse
a
b
->
Parse
a
b
->
Parse
a
b
(
p1
<|>
p2
)
i
=
p1
i
++
p2
i