In their paper on profunctor optics, Pickering et al. state that
The term ‘profunctor’ comes from category theory, although much of the categorical structure gets lost in translation.
That seems odd and kind of unique to me, as other algebraic structures I know of (pairs, monoids, functors, categories, etc.) "do not seem" to suffer the same fate, in languages like Haskell and PureScript – with quotes because I'm happy to be proven wrong.
A while ago, I played a bit with the family of profunctors and found them very tractable, especially in the context of optics. My interest got picked again after seeing them come up in the context of monad transformers. I need to rewatch this a couple of times as I don't get the details, but on principle it is perfectly clear. So I can't help wondering:
- what are those properties? why don't they materialise in the language?
- what effort would be necessary to bring them in, if at all possible?
- what would be the benefits of doing so? In particular, could they help solve the issues Ed mentions at the end of his talk?