Despite writing my bachelor's thesis about a plugin for the GHC that allows it to compile another language I sill find myself looking up what a monad is. At this point it almost has a "what is the meaning of life" vibe to it.
@RyunoKi well, you see, a monad is simply a monoid in the class of endofunctors.
But in ernest, yes. One can think of a monad in terms of function application. But there are many interpretations and aspects to each interpretation so as I needed to explain what the bind function does I was looking for a concise but correct way to describe it, that doesn't leave out important details.
@Pixdigit
That's the math view.
The description might be better tailored to the audience.
@RyunoKi oh I fear you didn't quite get the sarcasm. The phrase "a monad is just a monoid in the class of endofuctors" is often used to mock the somewhat elitist explanation of some programmers. Because usually that explanation doesn't help at all.
@Pixdigit
I studied mathematics.
We had subjects such as https://en.wikipedia.org/wiki/Functor
So it's not strictly mocking to me.
I can make sense of it
@RyunoKi Oh, didn't know you studied math. Well as I said the phrase has become somewhat of a meme but if you studied maths I guess it's a fair explanation.
@Pixdigit
A function taking a single argument.
(I believe, there are some more properties attached, but I always forget them)