I think it is related to category theory, namely "Yoneda" and Hom functors, but that's a wild guess
frumplestlatz · 1h ago
Not sure I get the point; of course monads reduce to a functor with two natural transformations (η/μ) that satisfy the monad coherence conditions. That's ... literally what a monad is.
- η[i]: i → t i: this is return/pure.
- μ[i]: t (t i) → t: this is join.
Now conform to the coherence conditions (aka the monad laws), and you have ... a monad. So why not call it that? It's convenient to have a name for it, and nothing stops you from passing around return/join as freestanding natural transformations if you really want to.
JHonaker · 48m ago
This is beautiful whether you interpret it genuinely or as satire.
empath75 · 2h ago
It's hard to understand his syntax, but I think he's arguing for something similar to the way that Rust uses From and Into.
This is the most arcane codebase I've seen. It's on par with co-dfns compiler. The frontend syntax also looks like a cross between Haskell and APL.
Is that some kind of meme I don't understand?
I mean, it kinda looks like all the combinations of a bunch of operators that can be combined.
- η[i]: i → t i: this is return/pure.
- μ[i]: t (t i) → t: this is join.
Now conform to the coherence conditions (aka the monad laws), and you have ... a monad. So why not call it that? It's convenient to have a name for it, and nothing stops you from passing around return/join as freestanding natural transformations if you really want to.