Categorical Monads and Computer Programming
The categorical notion of monad was first introduced into computer science as a way of structuring mathematical models of programming languages. The idea has subsequently been transferred back into computing practice, influencing the design of widely-used languages and frameworks.