{"product_id":"functional-programming-and-input-output-paperback-9780521070072","title":"Functional Programming and Input\/Output (Paperback \/ softback) 9780521070072","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eFunctional Programming and Input\/Output\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eExtends functional programming to solve I\/O problems, while retaining usual verification features.\u003c\/em\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003cp\u003e\u003cfont size=\"4\"\u003eAndrew D. Gordon (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9780521070072, Cambridge University Press\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 31 July 2008\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e172 pages, 15 tables\u003cbr\u003e24.5 x 17.5 x 1 cm, 0.29 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003eA 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'.\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePreface\u003cbr\u003e 1. Introduction\u003cbr\u003e 2. A calculus of recursive types\u003cbr\u003e 3. A metalanguage for semantics\u003cbr\u003e 4. Operational precongruence\u003cbr\u003e 5. Theory of the metalanguage\u003cbr\u003e 6. An operational theory of functional programming\u003cbr\u003e 7. Four mechanisms for teletype I\/O\u003cbr\u003e 8. Monadic I\/O\u003cbr\u003e 9. Conclusion\u003cbr\u003e Bibliography\u003cbr\u003e Notation\u003cbr\u003e Index.\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Programming \u0026amp; scripting languages: general [\u003ca title=\"See our other books on Programming \u0026amp; scripting languages: general\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Programming%20\u0026amp;%20scripting%20languages:%20general%20%5BUMX%5D%22\"\u003eUMX\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":46006302998808,"sku":"9780521070072","price":35.89,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/products\/9780521070072i.jpg?v=1694969160","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/functional-programming-and-input-output-paperback-9780521070072","provider":"Freshly Printed Books","version":"1.0","type":"link"}