Personal tools

Monads in Common Lisp

From LRDE

Jump to: navigation, search

Abstract

In this article we explain monads so they can be understood to the Lisp programmer. We base the explanation on a very clean explanation presented in the Scala programming language. We then proceed to re-present the concepts using mostly simple Common Lisp concepts. We do not attempt to justify the motivation behind the definitions, and we do not attempt to give any examples of applications. Most notably, we do not attempt to explain the connection monads have to modeling side effects.

Documents

Bibtex (lrde.bib)

@TechReport{	  newton.16.monad.report,
  author	= {Jim Newton},
  title		= {Monads in Common Lisp},
  institution	= {LRDE},
  year		= 2016,
  address	= {Paris, France},
  month		= nov,
  abstract	= {In this article we explain monads so they can be
		  understood to the Lisp programmer. We base the explanation
		  on a very clean explanation presented in the Scala
		  programming language. We then proceed to re-present the
		  concepts using mostly simple Common Lisp concepts. We do
		  not attempt to justify the motivation behind the
		  definitions, and we do not attempt to give any examples of
		  applications. Most notably, we do not attempt to explain
		  the connection monads have to modeling side effects. }
}