Amazon cover image
Image from Amazon.com
Image from Google Jackets

Functional programming and input/output / Andrew D. Gordon.

By: Material type: TextTextSeries: Distinguished dissertations in computer sciencePublication details: Cambridge [England] ; New York : Cambridge University Press, 1994.Description: xv, 155 p. ; 26 cmISBN:
  • 0521471036
Subject(s): DDC classification:
  • 005.711   22
Contents:
Introduction -- A calculus of recursive types -- A metalanguage for semantics -- Operational precongruence -- Theory of the metalanguage -- An operational theory of functional programming -- Four mechanisms for teletype I/O -- Monadic I/O -- Conclusion
Summary: 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, for the first time, 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'.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Copy number Status Date due Barcode
Books Books Main library General Stacks 005.711 / GO.F 1994 (Browse shelf(Opens below)) 1 Available 007889

Includes bibliographical references (p. 137-147) and indexes.

Introduction -- A calculus of recursive types -- A metalanguage for semantics -- Operational precongruence -- Theory of the metalanguage -- An operational theory of functional programming -- Four mechanisms for teletype I/O -- Monadic I/O -- Conclusion

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, for the first time, 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'.

1

There are no comments on this title.

to post a comment.