Cambridge Catalogue  
  • Your account
  • View basket
  • Help
Home > Catalogue > Functional Programming and Input/Output
Functional Programming and Input/Output
Google Book Search

Search this book


  • 15 tables
  • Page extent: 171 pages
  • Size: 247 x 174 mm
  • Weight: 0.511 kg

Library of Congress

  • Dewey number: 005.7/11
  • Dewey version: 20
  • LC Classification: QA76.62 .G67 1994
  • LC Subject headings:
    • Functional programming (Computer science)
    • Computer input-output equipment

Library of Congress Record


 (ISBN-13: 9780521471039 | ISBN-10: 0521471036)

DOI: 10.2277/0521471036

  • Also available in Paperback
  • Published October 1994

Replaced by 9780521070072

 (Stock level updated: 09:20 GMT, 07 October 2015)


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


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.

printer iconPrinter friendly version AddThis