[Haskell-beginners] Is map (map f) just map f?

Galaxy Being borgauf at gmail.com
Wed Apr 7 16:47:03 UTC 2021


I'm in Bird's *Thinking Functionally with Haskell* and the topic is natural
transformations. He says

filter p . map f = map f . filter (p . f)

and he has a proof, but one step of the proof he goes from

filter p . map f = concat . map (map f) . map (test (p . f))

to

filter p . map f = map f . concat . map (test (p . f))

which means

concat . map (map f) => map f . concat

which means

map (map f) = map f

... or I'm getting this step wrong somehow. To begin with, I'm having a
hard time comprehending map(map f), Any ideas on how this is possible?

LB
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20210407/d5204531/attachment.html>


More information about the Beginners mailing list