Recommended product

Popular links

Popular links


Functional Programming and Input/Output

Functional Programming and Input/Output

Functional Programming and Input/Output

Andrew D. Gordon , University of Cambridge
July 2008
Paperback
9780521070072

Looking for an inspection copy?

This title is not currently available for inspection.

£38.00
GBP
Paperback

    A common attraction to functional programming is the ease with which proofs can be given of program properties. A common disappointment with functional programming is the difficulty of expressing input/output (I/O), while at the same time being able to verify programs. Here, the author shows how a theory of functional programming can be smoothly extended to admit both an operational semantics for functional I/O and verification of programs engaged in I/O. He obtains operational semantics for the three most widely implemented I/O mechanisms for lazy languages, and proves that the three are equivalent in expressive power. He develops semantics for a form of monadic I/O and verifies a simple programming example. These theories of functional I/O are based on an entirely operational theory of functional programming, developed using Abramsky's 'applicative bisimulation'.

    • First ever semantics of the three most widely implemented I/O mechanisms in lazy functional languages
    • Novel material on 'applicative bisimulation'
    • Treats monadic denotational semantics for first time in book form

    Product details

    July 2008
    Paperback
    9780521070072
    172 pages
    245 × 175 × 10 mm
    0.29kg
    15 tables
    Available

    Table of Contents

    • Preface
    • 1. Introduction
    • 2. A calculus of recursive types
    • 3. A metalanguage for semantics
    • 4. Operational precongruence
    • 5. Theory of the metalanguage
    • 6. An operational theory of functional programming
    • 7. Four mechanisms for teletype I/O
    • 8. Monadic I/O
    • 9. Conclusion
    • Bibliography
    • Notation
    • Index.
      Author
    • Andrew D. Gordon , University of Cambridge