{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,4]],"date-time":"2025-04-04T00:39:16Z","timestamp":1743727156665,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":41,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642320958"},{"type":"electronic","value":"9783642320965"}],"license":[{"start":{"date-parts":[[2012,1,1]],"date-time":"2012-01-01T00:00:00Z","timestamp":1325376000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-32096-5_3","type":"book-chapter","created":{"date-parts":[[2012,7,11]],"date-time":"2012-07-11T06:23:57Z","timestamp":1341987837000},"page":"93-141","source":"Crossref","is-referenced-by-count":0,"title":["Reasoning about I\/O in Functional Programs"],"prefix":"10.1007","author":[{"given":"Andrew","family":"Butterfield","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"3_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"398","DOI":"10.1007\/BFb0020001","volume-title":"VDM \u201991","author":"J.-R. Abrial","year":"1991","unstructured":"Abrial, J.-R., Lee, M.K.O., Neilson, D.S., Scharbach, P.N., S\u00f8rensen, I.H.: The B Method. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol.\u00a0552, pp. 398\u2013405. Springer, Heidelberg (1991)"},{"key":"3_CR2","series-title":"Series in Computer Science","volume-title":"Algebra of Programming","author":"R. Bird","year":"1987","unstructured":"Bird, R., de Moor, O.: Algebra of Programming. Series in Computer Science. Prentice Hall International, London (1987)"},{"key":"3_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1007\/3-540-44854-3_5","volume-title":"Implementation of Functional Languages","author":"A. Butterfield","year":"2003","unstructured":"Butterfield, A., Dowse, M., Strong, G.: Proving Make Correct: I\/O Proofs in Haskell and Clean. In: Pe\u00f1a, R., Arts, T. (eds.) IFL 2002. LNCS, vol.\u00a02670, pp. 68\u201383. Springer, Heidelberg (2003)"},{"key":"3_CR4","series-title":"ESPRIT Research Reports, Project 302","volume-title":"Prospects for Functional Programming in Software Engineering","author":"J.-P. Ban\u00e2tre","year":"1991","unstructured":"Ban\u00e2tre, J.-P., Jones, S.B., Le M\u00e9tayer, D.: Prospects for Functional Programming in Software Engineering. ESPRIT Research Reports, Project 302, vol.\u00a01. Springer, Berlin (1991)"},{"key":"3_CR5","first-page":"15","volume-title":"Proceedings of the 14th International Conference on Software Engineering, ICSE 1992","author":"D. Bj\u00f8rner","year":"1992","unstructured":"Bj\u00f8rner, D.: Trusted computing systems: the procos experience. In: Proceedings of the 14th International Conference on Software Engineering, ICSE 1992, pp. 15\u201334. ACM, New York (1992)"},{"issue":"1","key":"3_CR6","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1016\/0304-3975(85)90088-X","volume":"37","author":"J.A. Bergstra","year":"1985","unstructured":"Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theoretical Computer Science\u00a037(1), 77\u2013121 (1985)","journal-title":"Theoretical Computer Science"},{"issue":"6","key":"3_CR7","doi-asserted-by":"crossref","first-page":"579","DOI":"10.1017\/S0960129500070109","volume":"6","author":"E. Barendsen","year":"1996","unstructured":"Barendsen, E., Smetsers, S.: Uniqueness Typing for Functional Languages with Graph Rewriting Semantics. Mathematical Structures in Computer Science\u00a06(6), 579\u2013612 (1996)","journal-title":"Mathematical Structures in Computer Science"},{"key":"3_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"72","DOI":"10.1007\/3-540-46028-4_5","volume-title":"Implementation of Functional Languages","author":"A. Butterfield","year":"2002","unstructured":"Butterfield, A., Strong, G.: Proving Correctness of Programs with IO \u2013 A Paradigm Comparison. In: Arts, T., Mohnen, M. (eds.) IFL 2001. LNCS, vol.\u00a02312, pp. 72\u201387. Springer, Heidelberg (2002)"},{"key":"3_CR9","series-title":"Series in Computer Science","volume-title":"Introduction to Functional Programming","author":"R. Bird","year":"1988","unstructured":"Bird, R., Wadler, P.: Introduction to Functional Programming. Series in Computer Science. Prentice Hall International, London (1988)"},{"key":"3_CR10","doi-asserted-by":"crossref","unstructured":"Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. In: Conference Record of the Nineteenth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 19-22, pp. 343\u2013354. ACM Press (1992)","DOI":"10.1145\/143165.143235"},{"key":"3_CR11","unstructured":"VDM\u00a0Standards Committee. VDM Specification Language \u2014 Proto-Standard. Technical report, VDM Standards Committee (1992)"},{"key":"3_CR12","unstructured":"Davie, A.J.T.: An Introduction to Functional Programming Systems using Haskell. Cambridge Computer Science Texts. Cambridge University Press (1992)"},{"key":"3_CR13","doi-asserted-by":"crossref","unstructured":"Dowse, M., Butterfield, A.: Modelling deterministic concurrent I\/O. In: Reppy, J.H., Lawall, J.L. (eds.) Proceedings of the 11th ACM SIGPLAN International Conference on Functional Programming, ICFP 2006, Portland, Oregon, USA, September 16-21, pp. 148\u2013159. ACM (2006)","DOI":"10.1145\/1159803.1159823"},{"key":"3_CR14","unstructured":"Dowse, M., Butterfield, A., van Eekelen, M., de Mol, M.: Towards Machine Verified Proofs for I\/O. Technical Report NIII-R0415, nijmeegs institut voor informatica en informatiekunde (2004), http:\/\/www.cs.kun.nl\/research\/reports\/"},{"key":"3_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"101","DOI":"10.1007\/978-3-642-10452-7_8","volume-title":"Formal Methods: Foundations and Applications","author":"D. D\u00e9harbe","year":"2009","unstructured":"D\u00e9harbe, D., Galv\u00e3o, S., Moreira, A.M.: Formalizing FreeRTOS: First Steps. In: Oliveira, M.V.M., Woodcock, J. (eds.) SBMF 2009. LNCS, vol.\u00a05902, pp. 101\u2013117. Springer, Heidelberg (2009)"},{"key":"3_CR16","unstructured":"de Mol, M.: Reasoning about Functional Programs: Sparkle, a proof assistant for Clean. PhD thesis, Institute for Programming research and Algorithmics, Radboud University Nijmegen (2009)"},{"key":"3_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/3-540-46028-4_4","volume-title":"Implementation of Functional Languages","author":"M. Mol de","year":"2002","unstructured":"de Mol, M., van Eekelen, M., Plasmeijer, R.: Theorem Proving for Functional Programmers. In: Arts, T., Mohnen, M. (eds.) IFL 2001. LNCS, vol.\u00a02312, pp. 55\u201371. Springer, Heidelberg (2002)"},{"key":"3_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-540-88059-2_2","volume-title":"Central European Functional Programming School","author":"M. Mol de","year":"2008","unstructured":"de Mol, M., van Eekelen, M., Plasmeijer, R.: Proving Properties of Lazy Functional Programs with Sparkle. In: Horv\u00e1th, Z., Plasmeijer, R., So\u00f3s, A., Zs\u00f3k, V. (eds.) CEFP 2007. LNCS, vol.\u00a05161, pp. 41\u201386. Springer, Heidelberg (2008)"},{"key":"3_CR19","unstructured":"Espinosa, D.A.: Semantic Lego. PhD thesis, University of Columbia (1995)"},{"key":"3_CR20","unstructured":"Gordon, A.: Functional Programming and Input\/Output. Distinguished Dissertations in Computer Science. Cambridge University Press (1994)"},{"key":"3_CR21","unstructured":"Henson, M.C.: Elements of Functional Languages. Computer Science Texts. Blackwell Scientific Publications (1987)"},{"key":"3_CR22","unstructured":"Hennessy, M.: The Semantics of Programming Languages: An elementary introduction using Structured Operational Semantics. Wiley (1990)"},{"key":"3_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1007\/978-3-540-69149-5_25","volume-title":"Verified Software: Theories, Tools, Experiments","author":"G.J. Holzmann","year":"2008","unstructured":"Holzmann, G.J., Joshi, R.: Reliable Software Systems Design: Defect Prevention, Detection, and Containment. In: Meyer, B., Woodcock, J. (eds.) Verified Software. LNCS, vol.\u00a04171, pp. 237\u2013244. Springer, Heidelberg (2008)"},{"key":"3_CR24","doi-asserted-by":"crossref","unstructured":"Harrison, W.L., Kamin, S.N.: Modular compilers based on monad transformers. In: Proceedings of the IEEE International Conference on Computer Languages, pp. 122\u2013131. Society Press (1998)","DOI":"10.1109\/ICCL.1998.674163"},{"key":"3_CR25","unstructured":"Hoare, C.A.R.: Communicating Sequential Processes. Intl. Series in Computer Science. Prentice Hall (1990)"},{"key":"3_CR26","unstructured":"Jones, C.B.: Systematic Software Development using VDM. Series in Computer Science. Prentice Hall (1989)"},{"key":"3_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"22","DOI":"10.1007\/BFb0039592","volume-title":"STACS 87","author":"G. Kahn","year":"1987","unstructured":"Kahn, G.: Natural Semantics. In: Brandenburg, F.J., Wirsing, M., Vidal-Naquet, G. (eds.) STACS 1987. LNCS, vol.\u00a0247, pp. 22\u201339. Springer, Heidelberg (1987)"},{"key":"3_CR28","doi-asserted-by":"crossref","unstructured":"Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., Winwood, S.: Sel4: Formal verification of an os kernel. In: ACM Symposium on Operating Systems Principles, pp. 207\u2013220. ACM (2009)","DOI":"10.1145\/1629575.1629596"},{"key":"3_CR29","doi-asserted-by":"crossref","unstructured":"Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: Proceedings of the 22nd ACM Symposium on Principles of Programming Languages. ACM Press (1995)","DOI":"10.1145\/199448.199528"},{"key":"3_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"141","DOI":"10.1007\/BFb0019997","volume-title":"VDM \u201991","author":"M. Macan Airchinnigh","year":"1991","unstructured":"Macan Airchinnigh, M.: Tutorial Lecture Notes on the Irish School of the VDM. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol.\u00a0552, pp. 141\u2013237. Springer, Heidelberg (1991)"},{"key":"3_CR31","doi-asserted-by":"crossref","unstructured":"McKinna, J.: Why dependent types matter. In: Gregory Morrisett, J., Peyton Jones, S.L. (eds.) POPL, p. 1. ACM (2006)","DOI":"10.1145\/1111320.1111038"},{"key":"3_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-10235-3","volume-title":"A Calculus of Communication Systems","author":"R. Milner","year":"1980","unstructured":"Milner, R.: A Calculus of Communication Systems. LNCS, vol.\u00a092. Springer, Heidelberg (1980)"},{"key":"3_CR33","unstructured":"Milner, R.: Communicating and mobile systems - the Pi-calculus. Cambridge University Press (1999)"},{"key":"3_CR34","unstructured":"Oliveira, M., Cavalcanti, A., Woodcock, J.: A denotational semantics for circus. In: REFINE 2006, pp. 1\u201316. ENTCS (2006)"},{"key":"3_CR35","series-title":"Series in Computer Science","volume-title":"The Implementation of Functional Programming Languages","author":"S.L. Peyton-Jones","year":"1987","unstructured":"Peyton-Jones, S.L.: The Implementation of Functional Programming Languages. Series in Computer Science. Prentice Hall International, London (1987)"},{"key":"3_CR36","unstructured":"Peyton-Jones, S.L.: Tackling the awkward squad: monadic input\/output, concurrency, exceptions, and foreign-language calls in haskell. In: Hoare, C.A.R., Broy, M., Steinbrueggen, R. (eds.) Engineering Theories of Software Construction. NATO ASI Series, pp. 47\u201396. IOS Press (2001); Marktoberdorf Summer School 2000"},{"key":"3_CR37","unstructured":"Plotkin, G.: A structural approach to operational semantics. Technical Report DAIMI FN-19, Department of Computer Science, Aarhus University, Denmark (1981)"},{"key":"3_CR38","volume-title":"Denotational Semantics: A Methodology for Language Development","author":"D.A. Schmidt","year":"1986","unstructured":"Schmidt, D.A.: Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Boston (1986)"},{"key":"3_CR39","unstructured":"Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Series in Computer Science. Prentice Hall (1992)"},{"key":"3_CR40","volume-title":"Denotational Semantics: The Scott-Strachey approach to programming language theory","author":"J.E. Stoy","year":"1977","unstructured":"Stoy, J.E.: Denotational Semantics: The Scott-Strachey approach to programming language theory. MIT Press, Cambridge (1977)"},{"key":"3_CR41","doi-asserted-by":"crossref","unstructured":"Verhulst, E., Boute, R.T., Faria, J.M.S., Sputh, B.H.C., Mezhuyev, V.: Formal Development of a Network-Centric RTOS. Springer (2011)","DOI":"10.1007\/978-1-4419-9736-4"}],"container-title":["Lecture Notes in Computer Science","Central European Functional Programming School"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-32096-5_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,4,3]],"date-time":"2025-04-03T20:46:05Z","timestamp":1743713165000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-32096-5_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642320958","9783642320965"],"references-count":41,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-32096-5_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2012]]}}}