ACM Home Page
Please provide us with feedback. Feedback
Comprehending monads
Full text PdfPdf (1.75 MB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1990 ACM conference on LISP and functional programming table of contents
Nice, France
Pages: 61 - 78  
Year of Publication: 1990
ISBN:0-89791-368-X
Author
Philip Wadler  Department of Computing Science, University of Glasgow, G12 SQQ, Scotland
Sponsors
INRIA : Institut Natl de Recherche en Info et en Automatique
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGSAM: ACM Special Interest Group on Symbolic and Algebraic Manipulation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 25,   Downloads (12 Months): 107,   Citation Count: 88
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/91556.91592
What is a DOI?

ABSTRACT

Category theorists invented monads in the 1960's to concisely express certain aspects of universal algebra. Functional programmers invented list comprehensions in the 1970's to concisely express certain programs involving lists. This paper shows how list comprehensions may be generalised to an arbitrary monad, and how the resulting programming feature can concisely express in a pure functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations. A new solution to the old problem of destructive array update is also presented. No knowledge of category theory is assumed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

Blo89
 
BW85
M. Barr and C. Wells, Toposes, Triples, and Theories. Springer Verlag, 1985.
 
BW88
 
Fai87
 
FL89
 
Gog88
J.A. Goguen, Higher order functions considered unnecessary for higher order programming. Technical report SRI-CSL-88-1, SRI International, January 1988.
GL88
 
GH90
J. Guzm~n and P. Hudak, Single-threaded polymorphic lambda calculus. In {EEE Symposium on Logic in Computer Science, Philadelphia, June 1990.
 
GMW79
M. Gordon, R. Milner, and C. Wadsworth, Edinburgh LCF. LNCS 78, Springer-Verlag, 1979.
 
Hol83
S. HolmstrSm, A simple and emcient way to handle large data structures in applicative languges. In Proceedings $ERC/Chalmers Workshop on Declarative Programming, University College London, 1983.
Hud86a
 
HMT88
 
Hud86b
 
Hug89
 
HO89
 
HW90
P. Hudak and P. Wadler, editors, Report on ~he Programming Language Haskell. Technical report, Yale University and Glasgow University, April 1990.
 
LS86
 
Mac71
S. Mac Lane, Categories for the Working Mathematician, Springer-Verlag, 1971.
Mil84
 
MT89
I. Mason and C. Talcott, Axiomatising operational equivalence in the presence of side effects. In IEEE Symposium on Logic in Computer Science, Asilomar, California, june 1989.
 
Mog89a
 
Mog89b
E. Moggi, An abstract view of programming languges. Course notes, University of Edinburgh.
RC86
 
Rey74
 
Rey83
J.C. Reynolds, Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, 513-523, North-Holland, Amsterdam.
Sch85
 
Spi89
M. Spivey, Term rewriting without exceptions, Science of Computer Programming, 1989.
 
Tur82
D.A. Turner, Recursion equations as a programming language. In J. Darlington, P. Henderson, and D. A. Turner, editors, Functional Programming and its Applications, Cambridge University Press, 1982.
 
Tur85
 
Wad85
 
Wad87
P. Wadler, List comprehensions. In S. L. Peyton Jones, The lmplementalion of Functional Programming Languages, Prentice Hall, 1987.
Wad89
 
Wad90
P. Wadler, Linear types can change the world! In IFIP Working Conference on Programming Concepts and Methods, Sea of Gallilee, Israel, April 1990.

CITED BY  88