P. Wadler. Advanced Functional Programming, volume 925 of Lecture Notes in Computer Science, page 24--52. London, Springer, (1995)
DOI: 10.1007/3-540-59451-5\_2
Abstract
The use of monads to structure functional programs is described. Monads provide a convenient framework for simulating effects found in other languages, such as global state, exception handling, output, or non-determinism. Three case studies are looked at in detail: how monads ease the modification of a simple evaluator; how monads act as the basis of a datatype of arrays subject to in-place update; and how
monads can be used to build parsers.
%0 Conference Paper
%1 citeulike:2104808
%A Wadler, Philip
%B Advanced Functional Programming
%C London
%D 1995
%I Springer
%K 68n18-functional-programming-and-lambda-calculus
%P 24--52
%R 10.1007/3-540-59451-5\_2
%T Monads for Functional Programming
%U http://dx.doi.org/10.1007/3-540-59451-5\_2
%V 925
%X The use of monads to structure functional programs is described. Monads provide a convenient framework for simulating effects found in other languages, such as global state, exception handling, output, or non-determinism. Three case studies are looked at in detail: how monads ease the modification of a simple evaluator; how monads act as the basis of a datatype of arrays subject to in-place update; and how
monads can be used to build parsers.
%@ 3-540-59451-5
@inproceedings{citeulike:2104808,
abstract = {{The use of monads to structure functional programs is described. Monads provide a convenient framework for simulating effects found in other languages, such as global state, exception handling, output, or non-determinism. Three case studies are looked at in detail: how monads ease the modification of a simple evaluator; how monads act as the basis of a datatype of arrays subject to in-place update; and how
monads can be used to build parsers.}},
added-at = {2017-06-29T07:13:07.000+0200},
address = {London},
author = {Wadler, Philip},
biburl = {https://www.bibsonomy.org/bibtex/21e0e56b40f524c38167af27b000d8a9e/gdmcbain},
booktitle = {Advanced Functional Programming},
citeulike-article-id = {2104808},
citeulike-attachment-1 = {wadler_93_monads.pdf; /pdf/user/gdmcbain/article/2104808/1098442/wadler_93_monads.pdf; c6276e7d254afd7d3d1abcb561eed505da822919},
citeulike-linkout-0 = {http://dx.doi.org/10.1007/3-540-59451-5\_2},
citeulike-linkout-1 = {http://portal.acm.org/citation.cfm?id=734146},
comment = {Cited in 'A gentle introduction to Haskell':https://www.haskell.org/tutorial/haskell-tutorial.html\#\$wadler:mffp},
doi = {10.1007/3-540-59451-5\_2},
file = {wadler_93_monads.pdf},
interhash = {ea4b925fdb7f436cf8da5dec5a3d6035},
intrahash = {1e0e56b40f524c38167af27b000d8a9e},
isbn = {3-540-59451-5},
keywords = {68n18-functional-programming-and-lambda-calculus},
pages = {24--52},
posted-at = {2017-01-19 04:11:16},
priority = {4},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
timestamp = {2017-06-29T07:13:07.000+0200},
title = {{Monads for Functional Programming}},
url = {http://dx.doi.org/10.1007/3-540-59451-5\_2},
volume = 925,
year = 1995
}