{"product_id":"functional-programming-and-input-output","title":"Functional Programming and Input\/Output","description":"\u003cp\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\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":46646630449390,"sku":"9780521070072","price":62.82,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0630\/9612\/7726\/files\/9780521070072.jpg?v=1750157561","url":"https:\/\/bookland.com.au\/products\/functional-programming-and-input-output","provider":"Book Land AU","version":"1.0","type":"link"}