A lot of languages feature something like Haskell's Maybe monad these days. I was wondering about its historic origin. Wikipedia has no problem explaining what a monad, or specifically the Maybe monad is, but the page's history section is very rough. An uncited date is the 1980ies with Opal, but the only real reference is 1991, despite the page citing a 1990 paper on monads by Philip Wadler.

I'm aware of Philip Wadler making monads popular, so that's probably the point after which it was even possible to declare Maybe as a monad. But I'm under the impression, that it was present earlier as a special type for decoding absence of a value - without yet labeling it as a monad. In a magazine I recently read that it dates back to the Miranda language, unfortunately there was no citation for that claim, nor was I able to dig one up.

What are the earliest occurrences of a Maybe type (with or without being explictly called a monad) ?

  • 1
    The "Maybe monad" is kind of an ambigious phrase.. Do you mean the usage specifically identifying the categorical structure (actually calling it a Monad)? If so then Moggi's work in denotational semantics is probably the first. If you just mean the idiom.. well then it's probably impossible to get a definitive reference. Propogating "NULL" like that is popular everywhere – Daniel Gratzer Apr 9 '16 at 19:34
  • As the final question states I'm not focused on the monad structure necessarily. I'm aware it's popular, but that's why knowing a source would be so interesting after all. – Frank Apr 11 '16 at 5:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.