The essence of functional programming

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

This paper explores the use monads to structure functional programs. No prior knowledge of monads or category theory is required.

Monads increase the ease with which programs may be modified. They can mimic the effect of impure features such as exceptions, state, and continuations; and also provide effects not easily achieved with such features. The types of a program reflect which effects occur.

The first section is an extended example of the use of monads. A simple interpreter is modified to support various extra features: error messages, state, output, and non-deterministic choice. The second section describes the relation between monads and the continuation-passing style. The third section sketches how monads are used in a compiler for Haskell that is written in Haskell.
Original languageEnglish
Title of host publicationProceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Place of PublicationNew York, NY, USA
PublisherACM
Pages1-14
Number of pages14
ISBN (Print)0-89791-453-8
DOIs
Publication statusPublished - 1992

Fingerprint

Dive into the research topics of 'The essence of functional programming'. Together they form a unique fingerprint.

Cite this