Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

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
£36.99
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.