Added a few more recent references. There are many more to add.

]]>added reference pointer for the first class of Examples (here)

]]>added pointer to:

- Nathanael Arkor, Dylan McDermott,
*The formal theory of relative monads*[arXiv:2302.14014]

added missing typing of “$k$” in the associativity clause

]]>Maybe could you explain those examples in a new entry “relative monads in CBPV” and link it to the pages CBPV and relative monad?

]]>I find that a real-world example is just what this entry needs.

Last night I have started watching the talk you pointed to (the one here). It’s nice, but at some point I admittedly missed how the crawling through the stack looking for exceptions is a relative monad. If that could be explained in the entry, it would be interesting.

]]>I gave a talk about relative monads in CBPV recently, and I have some programming examples there: https://www.youtube.com/watch?v=ooj1vJRixEU&list=PLyrlk8Xaylp5hkSMipssQf3QKnj6Nrjg_

To summarize, in CBPV a monad relative to `F : val -> comp`

is a more low-level version of a monad that specifies the stack the computation runs against. It’s natural to consider CBPV where `F`

doesn’t necessarily exist and you can still define relative monads as relative to the “profunctor of computations” which is always present. Additionally, the morphisms of `comp`

(the stacks) are typically not internalized as a data type in CBPV, but the elements of the profunctor are, so even if you have `F`

, the notion of self-enriched relative monad needs to use the profunctor generalization.

I thought it would be a bit too far afield to try to explain those examples on this page.

]]>@maxsnew: I’m curious whether you have some motivating examples for this generalisation?

]]>Add a less technical idea section, and add a section that shows $J$ can be generalized to a profunctor.

I hope no one minds I deleted some very technical material from the idea section that is immediately repeated in the Definition section anyway.

]]>I have spelled out (here) in a fairly elementary fashion the elementary example of “forming linear spans”, namely of sending sets to the $\mathbb{K}$-vector spaces which they span.

In the course of doing so, I have adjusted wording and formatting in the Definition section, specifically in what is now the subsection “Definition – As skew-Kleisli triples” (here), in the hope to improve readability.

(The Idea-section of this entry still needs attention, but I’ll leave it as is for the time being.)

]]>Put in the spaces, so it renders properly, ’J X’ rather than ’JX’, yields $J X$ rather than $JX$.

]]>Examples. Hope I got the monads with arities one right.

]]>mention when the skew monoidal structure is an ordinary monoidal structure

]]>Definition and characterization as monoids

]]>