Hacker News new | ask | show | jobs
by revskill 348 days ago
U must prove it is a monoid in the category of endofuncors.
2 comments

join has the type `m (m a) -> m a`. That's the thing that really shows off the monoidal structure. People normally implement monads in terms of bind, but you can easily define join in terms of bind for any Monad: `join ma = ma >>= id`. So really, as long as you have a lawful instance of Monad written with bind the existence of join is your proof.
> monoid in the category of endofuncors.

I do not even know what a monoid or an endofuncor is. While I enjoy math, despite not being the best at it, I am confident I never made it this far in my studies. I looked at the Wikipedia definitions, and I am even more confused now.

https://bartoszmilewski.com/2016/12/27/monads-categorically/

This is a book chapter, and you need the preceding chapters to grasp it I think. I'm still in the middle of it.