| 000 | 02191cam a2200277 a 4500 | ||
|---|---|---|---|
| 008 | 100328s1994 enka b 001 0 eng | ||
| 010 | _a94026403 | ||
| 020 | _a0521471036 | ||
| 035 | _a(Sirsi) u5706 | ||
| 040 |
_aEG-CaNU _c EG-CaNU _d EG-CaNU |
||
| 042 | _ancode | ||
| 082 | 0 | 4 |
_a005.711 _2 22 |
| 100 | 1 |
_aGordon, Andrew D. _911363 |
|
| 245 | 1 | 0 |
_aFunctional programming and input/output / _c Andrew D. Gordon. |
| 260 |
_aCambridge [England] ; _a New York : _b Cambridge University Press, _c 1994. |
||
| 300 |
_axv, 155 p. ; _c 26 cm. |
||
| 490 | 0 | _aDistinguished dissertations in computer science | |
| 504 | _aIncludes bibliographical references (p. 137-147) and indexes. | ||
| 505 | _aIntroduction -- 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 | ||
| 520 | _aA 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'. | ||
| 650 | 0 |
_aFunctional programming (Computer science) _911089 |
|
| 650 | 0 |
_aComputer input-output equipment. _911364 |
|
| 596 | _a1 | ||
| 999 |
_c4706 _d4706 |
||