On Structuring Functional Programs with Monoidal Profunctors

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/18/2018

Codensity Lifting of Monads and its Dual

We introduce a method to lift monads on the base category of a fibration...
research
02/28/2022

Fantastic Morphisms and Where to Find Them: A Guide to Recursion Schemes

Structured recursion schemes have been widely used in constructing, opti...
research
11/25/2019

idris-ct: A Library to do Category Theory in Idris

We introduce idris-ct, a Idris library providing verified type definitio...
research
06/13/2019

A complete language for faceted dataflow programs

We present a complete categorical axiomatization of a wide class of data...
research
10/27/2019

Computer-supported Exploration of a Categorical Axiomatization of Modeloids

A modeloid, a certain set of partial bijections, emerges from the idea t...
research
04/20/2022

Tight limits and completions from Dedekind-MacNeille to Lambek-Isbell

While any infimum in a poset can also be computed as a supremum, and vic...
research
01/21/2020

Profunctor optics, a categorical update

Profunctor optics are bidirectional data accessors that capture data tra...

Please sign up or login with your details

Forgot password? Click here to reset