Functional Programming and Input/Output
Seiten
2008
Cambridge University Press (Verlag)
978-0-521-07007-2 (ISBN)
Cambridge University Press (Verlag)
978-0-521-07007-2 (ISBN)
Extends functional programming to solve I/O problems, while retaining usual verification features.
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'.
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.
| Erscheint lt. Verlag | 31.7.2008 |
|---|---|
| Reihe/Serie | Distinguished Dissertations in Computer Science |
| Zusatzinfo | 15 Tables, unspecified |
| Verlagsort | Cambridge |
| Sprache | englisch |
| Maße | 175 x 245 mm |
| Gewicht | 290 g |
| Themenwelt | Mathematik / Informatik ► Informatik ► Software Entwicklung |
| ISBN-10 | 0-521-07007-4 / 0521070074 |
| ISBN-13 | 978-0-521-07007-2 / 9780521070072 |
| Zustand | Neuware |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Mehr entdecken
aus dem Bereich
aus dem Bereich
Entwurfsmuster für effektive Softwareentwicklung
Buch | Softcover (2024)
Springer Vieweg (Verlag)
CHF 27,95
Praxishandbuch für Java- und Webservice-Entwickler
Buch | Softcover (2025)
dpunkt (Verlag)
CHF 62,85