3 ms·
I'm not a historian. It's certainly true that monads or monad-like things where discovered independently in many context. This isn't even surprising, given how
by mafribe 9y ago
I'm not a historian. It's certainly true that monads or monad-like
things where discovered independently in many context. This isn't even
surprising, given how natural, and trivial in a sense monads are. But
the systematics realisation of the concept and its wide applicability
comes from algebra and the efforts to recover algebra
categorically. Let me quote from Wadler's [1]:
The notion of monad comes from category theory [...] It first arose in
the area of homological algebra, but later was recognised (due to the
work of Kleisli and of Eilenberg and Moore) to have much wider
applications. Its importance emerged slowly: in early days, it was not
even given a proper name, but called simply a "standard construction"
or a "triple" [...] Eugenio Moggi proposed that monads provide a
useful structuring tool for denotational semantics [...] He showed how
lambda calculus could be given call-by-value and call-by-name
semantics in an arbitrary monad, and how monads could encapsulate a
wide variety of programming language features such as state, exception
handling, and continuations. Independent of Moggi, but at about the
same time, Michael Spivey proposed that monads provide a useful
structuring tool for exception handling in pure functional languages,
and demonstrated this thesis with an elegant program for term
rewriting [...]. He showed how monads could treat exceptions [...]
and non-deterministic choice [...] in a common framework.
[1] P. Wadler, The essence of functional programming.