On Structuring Functional Programs with Monoidal Profunctors
Alexandre Garcia de Oliveira (Universidade de S\~ao Paulo), Mauro, Jaskelioff (CIFASIS-CONICET), Ana Cristina Vieira de Melo (Universidade de, S\~ao Paulo)

TL;DR
This paper explores monoidal profunctors as a means to structure pure functional programs, combining categorical theory with Haskell implementation, and introduces effectful generalizations.
Contribution
It provides a categorical framework for monoidal profunctors, constructs the free monoidal profunctor, and extends the concept to effectful cases with practical Haskell implementations.
Findings
Monoidal profunctors form a monoidal category with useful properties.
Constructed the free monoidal profunctor and related it to optics.
Introduced effectful monoidal profunctors for practical programming applications.
Abstract
We study monoidal profunctors as a tool to reason and structure pure functional programs both from a categorical perspective and as a Haskell implementation. From the categorical point of view we approach them as monoids in a certain monoidal category of profunctors. We study properties of this monoidal category and construct and implement the free monoidal profunctor. We study the relationship of the monoidal construction to optics, and introduce a promising generalization of the implementation which we illustrate by introducing effectful monoidal profunctors.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
