going up the abstraction ladder

The central idea behind functional programming is that of building new functions by composing existing ones. Monads move up a level of abstraction by hiding the plumbing necessary to compose functions whose parameters and return values are different. Monad transformers move up yet another level of abstraction by allowing monads to be combined so that the plumbing that each monad does is combined and abstracted away, but without having to write new code.
from: monads in clojure
And a some references of Monads tutorials:

No comments: