#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Options

# Chapter 4

Here's a place to discuss Chapter 4.

Chapter 4 is largely about profunctors. I just ran into a nice explanation of how profunctors show up in Haskell:

We've also got some threads going where you can discuss exercises in Chapter 4:

• Options
1.

Hey John,

I first ran across profunctors in Haskell when learning about van Laarhoven lenses. These are kinds of data accessors and updaters.

Bartosz Milewski has a nice write up about profunctors and lenses on his blog from just last year.

Comment Source:Hey John, I first ran across profunctors in Haskell when learning about [van Laarhoven lenses](https://github.com/ekmett/lens/wiki/History-of-Lenses). These are kinds of data accessors and updaters. Bartosz Milewski has a nice write up about [profunctors and lenses](https://www.google.com/amp/s/bartoszmilewski.com/2017/07/07/profunctor-optics-the-categorical-view/amp/) on his blog from just last year.
• Options
2.

It turns out that Dan Piponi first introduced profunctors in Haskell and they've subsequently caught on - I didn't know that and it wasn't visible from the webpage I just linked to!

think I was the first to implement a Profunctor type class in Haskell. But I didn't anticipate how useful it'd turn out to be.

and Bartosz Milewski responded:

Profunctors are the basis of the whole optics library in Haskell (lenses, prisms, grates, etc.). Guillaume Boisseau and @jer_gib wrote a great paper about it: https://www.cs.ox.ac.uk/jeremy.gibbons/publications/proyo.pdf

Comment Source:It turns out that Dan Piponi first introduced profunctors in Haskell and they've subsequently caught on - I didn't know that and it wasn't visible from the webpage I just linked to! On Twitter Dan Piponi wrote: > think I was the first to implement a Profunctor type class in Haskell. But I didn't anticipate how useful it'd turn out to be. and Bartosz Milewski responded: > Profunctors are the basis of the whole optics library in Haskell (lenses, prisms, grates, etc.). Guillaume Boisseau and @jer_gib wrote a great paper about it: [https://www.cs.ox.ac.uk/jeremy.gibbons/publications/proyo.pdf](https://www.cs.ox.ac.uk/jeremy.gibbons/publications/proyo.pdf)