Proposal: Add gtraverse to Data.Data

Roman Cheplyaka roma at ro-che.info
Fri Aug 16 01:37:28 CEST 2013


+1. I also blogged about it before:

http://ro-che.info/articles/2013-03-11-generalizing-gfoldl.html
http://ro-che.info/articles/2013-03-29-gtraverse-vs-gfoldl.html

* Edward Kmett <ekmett at gmail.com> [2013-08-15 19:21:39-0400]
> Data.Data provides an gmapM as an analogue to mapM but not one to traverse.
> 
> 
> The following definition from lens fills in this gap, but it probably
> belongs in Data.Data alongside its kin.
> 
> 
> gtraverse :: (Applicative f, Data a) => (forall d. Data d => d -> f d)
> -> a -> f a
> 
> gtraverse f = gfoldl (\x y -> x <*> f y) pure
> 
> 
> Discussion period: 2 weeks
> 
> -Edward Kmett

> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries





More information about the Libraries mailing list