Parametric Distributive Laws: uniform monad composition
Lorenzo Perticone
Published: 2025/9/26
Abstract
Monads play an important role in both the syntax and semantics of modern functional programming languages. The problem of combining them has been of profound interest at least since the 90s, and different approaches have been employed to tackle it: currently, the most prevalent notion is that of monad transformers. We provide a novel abstract framework to describe such "compositions" which we call parametric distributive laws. Our description of this framework hinges on the theory of 2-categories and relies strongly on the construction of a left (1-) adjoint to the construction of monads internal to a 2-category: since distributive laws are monads in monads, we obtain a semi-strict "walking distributive law" by Gray-tensoring the walking monad with itself. By Gray-tensoring again, we can then construct a parametric variant thereof. We demonstrate the applicability of such a framework by providing two concrete examples (involving the Writer and Either monads), explicitly describing morphisms of such parametric distributive laws, and showing how (an iterated version of) our construction can be employed to describe (parametric) iterated distributive laws, motivating the appearance of the Yang-Baxter equations as coherences between the distributive laws involved.