[Haskell-cafe] Re: uu-parsinglib pKeyword
stephen.tetley at gmail.com
Wed Oct 28 13:49:47 EDT 2009
One of the parser combinator libraries for Clean had the (<:>)
combinator that captures the idiom (sorry!) in Doaitse's version.
Defined applicatively it would be:
(<:>) :: Applicative f => f a -> f [a] -> f [a]
(<:>) p1 p2 = (:) <$> p1 <*> p2
so pToken would be
pToken  = pSucced 
pToken (x:xs) = pSym x <:> pToken xs
Admittedly this is not as succinct as
pToken = traverse pSym
... but I have used it from time to time.
2009/10/28 Ross Paterson <ross at soi.city.ac.uk>:
> On Wed, Oct 28, 2009 at 06:07:49PM +0100, S. Doaitse Swierstra wrote:
>> pToken  = pSucceed 
>> pToken (x:xs) = (:) <$> pSym x <*> pToken xs
>> pKeyword_Float = pToken "Float"
> pToken = traverse pSym
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe