I've completed the most important part of the preparation for writing a book: designing a 'cat box' for more advanced category-theoretic side remarkspic.twitter.com/Goc9kzJLZO
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Moggi's thesis says that a program X -> Y that can do side effects is equivalently a kleisli arrow X -> T(Y) where T is a monad describing the sort of side effects you get. 'Monad' is precisely what you need to make composition well behaved. 'Monoid in endofunctors' is irrelevant
Just take the definition and break it down into parts. Like thinking of a group as a set with a unital associative and invertible binary operation instead of a category with one object where all morphisms are isomorphisms
I guess the main problem is Haskell isn’t expressive enough to talk about “the category of endofunctors” directly
I'm in this situation as well – I learned monads from the viewpoint of CT, so a monad is nothing but a monoid in the category of endofunctors to me. A lot of functional programmers are offended by this definition...
I never understood this joke as programmers making fun of category theorists or even about them being offended. I've always understood it as (a certain subset of) functional programmers making fun of themselves for using something seemingly esoteric to explain a simple concept.
This might be right. Well, by Dawkins' original reasoning memes don't need to have a purpose, they just need to spread successfully
On a technical note, relative monads cannot be expressed directly as a monoid in this way because T is not an endofunctor and cannot be iterated. There is a skew-monoidal presentation that apparently suffices but the "extension system" presentation common in CS is perhaps simpler
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.