In this tutorial, we describe how to use monad transformers in order to incrementally add functionality to Haskell programs. It is not a paper about implementing transformers, but
about using them to write elegant, clean and powerful programs in Haskell. Starting from an evaluation function for simple expressions, we convert it to monadic style and incrementally
add error handling, environment passing, state, logging and input/output by composing monad transformers.
%0 Generic
%1 citeulike:13852553
%A Grabm¨uller, Martin
%D 2006
%K haskell
%T Monad Transformers Step by Step
%U http://www.cs.virginia.edu/\~wh5a/personal/Transformers.pdf
%X In this tutorial, we describe how to use monad transformers in order to incrementally add functionality to Haskell programs. It is not a paper about implementing transformers, but
about using them to write elegant, clean and powerful programs in Haskell. Starting from an evaluation function for simple expressions, we convert it to monadic style and incrementally
add error handling, environment passing, state, logging and input/output by composing monad transformers.
@misc{citeulike:13852553,
abstract = {{In this tutorial, we describe how to use monad transformers in order to incrementally add functionality to Haskell programs. It is not a paper about implementing transformers, but
about using them to write elegant, clean and powerful programs in Haskell. Starting from an evaluation function for simple expressions, we convert it to monadic style and incrementally
add error handling, environment passing, state, logging and input/output by composing monad transformers.}},
added-at = {2019-06-18T20:47:03.000+0200},
author = {Grabm¨uller, Martin},
biburl = {https://www.bibsonomy.org/bibtex/22bea8eb0d806e202dd6de9f1993aee3b/alexv},
citeulike-article-id = {13852553},
citeulike-linkout-0 = {http://www.cs.virginia.edu/\~{}wh5a/personal/Transformers.pdf},
interhash = {3db0ef7f47373b216877b50b37f718a1},
intrahash = {2bea8eb0d806e202dd6de9f1993aee3b},
keywords = {haskell},
month = oct,
posted-at = {2015-12-02 19:04:06},
priority = {0},
timestamp = {2019-06-18T20:47:03.000+0200},
title = {{Monad Transformers Step by Step}},
url = {http://www.cs.virginia.edu/\~{}wh5a/personal/Transformers.pdf},
year = 2006
}