[Haskell-cafe] Generalized concatMap for lenses?
twhitehead at gmail.com
Sat May 6 21:40:17 UTC 2017
I am writing some code to do some web-page parsing using the lens library. The folded (or traverse) functions let me go
sequence -> lens fold
It would be nice to be able to go back again
lens fold -> sequence
The general idea being move it into a lens-fold sequence representation, work with it there, and then recover the original sequence representation. As a more concrete example, the following works for lists
(folded .) :: Getter s [a] -> Fold s a
(to . toListOf) :: Fold s a -> Getter s [a]
I think I'm maybe thinking of something like a generalized concatMap for lenses
magic :: Fold s a -> Getter (f s) (f a)
Possibly there is already a function for this or some other way it should be done? Haven't found it yet though, so thought I would ask the list for some enlightenment.
More information about the Haskell-Cafe