Monads for functional programming. Program design calculi (1993)

by Philip Wadler