Skip to product information
1 of 1
Regular price £35.89 GBP
Regular price £27.99 GBP Sale price £35.89 GBP
Sale Sold out
Free UK Shipping

Freshly Printed - allow 6 days lead

Functional Programming and Input/Output

Extends functional programming to solve I/O problems, while retaining usual verification features.

Andrew D. Gordon (Author)

9780521070072, Cambridge University Press

Paperback / softback, published 31 July 2008

172 pages, 15 tables
24.5 x 17.5 x 1 cm, 0.29 kg

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'.

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.

Subject Areas: Programming & scripting languages: general [UMX]

View full details