Monad transformers are an abstraction for combining monads. This allows you to compose different computational effects, building up precisely controlled computational environments.
Monad transformers were introduced by Mark P. Jones in his 1993 paper, http://web.cecs.pdx.edu/~mpj/pubs/composing.html