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