The purpose of this technical report is to give a category theoretic introduction to monads, and to explore the relationship to what functional programmers term a monad
These notes discuss the simultaneous use of generalised fold operators and monads to structure functional programs. Generalised fold operators structure programs after the decomposition of the value they consume. Monads structure programs after the comput