{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T10:45:51Z","timestamp":1761648351268,"version":"3.40.3"},"publisher-location":"Cham","reference-count":37,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319307336"},{"type":"electronic","value":"9783319307343"}],"license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2016]]},"DOI":"10.1007\/978-3-319-30734-3_26","type":"book-chapter","created":{"date-parts":[[2016,3,12]],"date-time":"2016-03-12T08:19:52Z","timestamp":1457770792000},"page":"393-406","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["A Small-Step Semantics of a Concurrent Calculus with Goroutines and Deferred Functions"],"prefix":"10.1007","author":[{"given":"Martin","family":"Steffen","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2016,3,13]]},"reference":[{"issue":"4","key":"26_CR1","first-page":"391","volume":"82","author":"E \u00c1brah\u00e1m","year":"2008","unstructured":"\u00c1brah\u00e1m, E., de Boer, F.S., de Roever, W.-P., Steffen, M.: A deductive proof system for multithreaded Java with exceptions. Fundam. Informaticae 82(4), 391\u2013463 (2008). (73 pages), An extended version of the 2005 conference contribution to FSEN 2005 and a reworked and shortened version of the University of Kiel, Department of Computer Science Technical report 0303","journal-title":"Fundam. Informaticae"},{"issue":"4","key":"26_CR2","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1007\/BF01887214","volume":"1","author":"P America","year":"1989","unstructured":"America, P.: Issues in the design of a parallel object-oriented language. Formal Aspects Comput. 1(4), 366\u2013411 (1989)","journal-title":"Formal Aspects Comput."},{"key":"26_CR3","doi-asserted-by":"publisher","first-page":"16","DOI":"10.1145\/504311.504284","volume":"36","author":"D Ancona","year":"2001","unstructured":"Ancona, D., Lagorio, G., Zucca, E.: A core calculus for Java exceptions. SIGPLAN Not. 36, 16\u201330 (2001)","journal-title":"SIGPLAN Not."},{"key":"26_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"16","DOI":"10.1007\/978-3-642-22941-1_2","volume-title":"Trends in Functional Programming","author":"K Anton","year":"2011","unstructured":"Anton, K., Thiemann, P.: Typing coroutines. In: Page, R., Horv\u00e1th, Z., Zs\u00f3k, V. (eds.) TFP 2010. LNCS, vol. 6546, pp. 16\u201330. Springer, Heidelberg (2011)"},{"key":"26_CR5","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1145\/872734.806932","volume":"12","author":"H Baker","year":"1977","unstructured":"Baker, H., Hewitt, C.: The incremental garbage collection of processes. ACM Sigplan Not. 12, 55\u201359 (1977)","journal-title":"ACM Sigplan Not."},{"key":"26_CR6","unstructured":"Belsnes, D., \u00d8stvold, B.M.: Mixing threads and coroutines, Unpublished manuscript (2005)"},{"issue":"2\u20133","key":"26_CR7","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1023\/A:1020891112409","volume":"15","author":"J Berdine","year":"2002","unstructured":"Berdine, J., O\u2019Hearn, P., Reddy, U., Thielecke, H.: Linear continuation-passing. Higher-Order Symbolic Comput. 15(2\u20133), 181\u2013208 (2002)","journal-title":"Higher-Order Symbolic Comput."},{"issue":"7","key":"26_CR8","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1145\/366663.366704","volume":"6","author":"EM Conway","year":"1963","unstructured":"Conway, E.M.: Design of a separable transition-diagram compiler. Commun. ACM 6(7), 396\u2013408 (1963)","journal-title":"Commun. ACM"},{"key":"26_CR9","unstructured":"Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula 67, common base language. Technical report S-2, Norsk Regnesentral (Norwegian Computing Center), Oslo, Norway, May 1968"},{"key":"26_CR10","unstructured":"de Boer, F.S.: Reasoning about Dynamically Evolving Process Structures. A Proof Theory for the Parallel Object-Oriented Language POOL. Ph.D. thesis, Free University of Amsterdam (1991)"},{"key":"26_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"316","DOI":"10.1007\/978-3-540-71316-6_22","volume-title":"Programming Languages and Systems","author":"FS de Boer","year":"2007","unstructured":"de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316\u2013330. Springer, Heidelberg (2007)"},{"key":"26_CR12","first-page":"910","volume":"10","author":"AL de Moura","year":"2004","unstructured":"de Moura, A.L., Rodriguez, N., Ierusalimschy, R.: Coroutines in Lua. J. Univ. Comput. Sci. 10, 910\u2013925 (2004)","journal-title":"J. Univ. Comput. Sci."},{"key":"26_CR13","unstructured":"Donovan, A.A.A., Kernighan, B.W.: The Go Programming Language. Addison-Wesley (2015)"},{"key":"26_CR14","doi-asserted-by":"crossref","unstructured":"Evans Jr., A.: PAL \u2013 a language designed for teaching programming linguistics. In: Proceedings of the 1968 23rd ACM National Conference, pp. 395\u2013403. ACM, New York (1968)","DOI":"10.1145\/800186.810604"},{"key":"26_CR15","unstructured":"Evans Jr., A.: PAL: pedagogic algorithmic language: a reference manual and primer. Unpublished report, Department of Electrical Engineering, MIT (1968)"},{"key":"26_CR16","first-page":"193","volume-title":"Formal Description of Programming Concepts III","author":"M Felleisen","year":"1986","unstructured":"Felleisen, M., Friedman, D.P.: Control operators, the SECD-machine, and the $$\\lambda $$-calculus. In: Wirsing, M. (ed.) Formal Description of Programming Concepts III, pp. 193\u2013217. North-Holland, Amsterdam (1986)"},{"key":"26_CR17","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Sabry, A., Duba, B.F., Felleisen, M.: The essence of compiling with continuations. In: ACM Conference on Programming Language Design and Implementation (PLDI), pp. 237\u2013247. ACM, June 1993. In SIGPLAN Notices 28(6)","DOI":"10.1145\/173262.155113"},{"key":"26_CR18","unstructured":"The Go programming language specification, August 2015. https:\/\/golang.org\/ref\/spec"},{"key":"26_CR19","unstructured":"Google. The Go programming language (2014). www.golang.org"},{"key":"26_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"74","DOI":"10.1007\/BFb0058024","volume-title":"Foundations of Software Technology and Theoretical Computer Science","author":"AD Gordon","year":"1997","unstructured":"Gordon, A.D., Hankin, P.D., Lassen, S.B.: Compilation and equivalence of imperative objects. In: Ramesh, S., Sivakumar, G. (eds.) FST TCS 1997. LNCS, vol. 1346, pp. 74\u201387. Springer, Heidelberg (1997). Full version available as Technical report 429, University of Cambridge Computer Laboratory, June 1997"},{"issue":"4","key":"26_CR21","doi-asserted-by":"publisher","first-page":"501","DOI":"10.1145\/4472.4478","volume":"7","author":"RH Halstead Jr","year":"1985","unstructured":"Halstead Jr., R.H.: Multilisp: a language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7(4), 501\u2013538 (1985)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"8","key":"26_CR22","doi-asserted-by":"publisher","first-page":"666","DOI":"10.1145\/359576.359585","volume":"21","author":"CAR Hoare","year":"1978","unstructured":"Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666\u2013677 (1978)","journal-title":"Commun. ACM"},{"key":"26_CR23","volume-title":"Communicating Sequential Processes","author":"CAR Hoare","year":"1985","unstructured":"Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)"},{"key":"26_CR24","unstructured":"Apple Inc.: Swift. A modern programming language that is safe, fast, and interactive, October 2015. https:\/\/developer.apple.com\/swift\/"},{"key":"26_CR25","doi-asserted-by":"publisher","first-page":"191","DOI":"10.1016\/j.entcs.2011.09.022","volume":"276","author":"JB Jeannin","year":"2011","unstructured":"Jeannin, J.B.: Capsules and closures: a small-step approach. Electron. Notes Theor. Comput. Sci. 276, 191\u2013293 (2011). Proceedings of the Twenty-seventh Conference on the Mathematical Foundations of Programming Semantics (MFPS XXVII)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"26_CR26","doi-asserted-by":"crossref","unstructured":"Jeannin, J.B., Kozen, D.: Computing with capsules. Technical report, Computing and Information Science, Cornell University, January 2011","DOI":"10.1007\/978-3-642-31623-4_1"},{"key":"26_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1007\/3-540-15975-4_37","volume-title":"Functional Programming Languages and Computer Architecture","author":"T Johnsson","year":"1985","unstructured":"Johnsson, T.: Lambda lifting: transforming programs to recursive equations. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 190\u2013203. Springer, Heidelberg (1985)"},{"key":"26_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"882","DOI":"10.1007\/978-3-540-27836-8_74","volume-title":"Automata, Languages and Programming","author":"J Laird","year":"2004","unstructured":"Laird, J.: A calculus of coroutines. In: D\u00edaz, J., Karhum\u00e4ki, J., Lepist\u00f6, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 882\u2013893. Springer, Heidelberg (2004)"},{"issue":"4","key":"26_CR29","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1093\/comjnl\/6.4.308","volume":"6","author":"PJ Landin","year":"1964","unstructured":"Landin, P.J.: The mechanical evaluation of expressions. Comput. J. 6(4), 308\u2013320 (1964)","journal-title":"Comput. J."},{"key":"26_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1007\/978-3-319-24012-1_5","volume-title":"Programming Languages","author":"H Liu","year":"2015","unstructured":"Liu, H., Qiu, Z.: Go model and object oriented programming. In: Pardo, A., et al. (eds.) SBLP 2015. LNCS, vol. 9325, pp. 59\u201374. Springer, Heidelberg (2015). doi:10.1007\/978-3-319-24012-1_5"},{"key":"26_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"260","DOI":"10.1007\/978-3-540-70592-5_12","volume-title":"ECOOP 2008 \u2013 Object-Oriented Programming","author":"D Malayeri","year":"2008","unstructured":"Malayeri, D., Aldrich, J.: Integrating nominal and structural subtyping. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 260\u2013285. Springer, Heidelberg (2008)"},{"key":"26_CR32","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/0890-5401(92)90008-4","volume":"100","author":"R Milner","year":"1992","unstructured":"Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I\/II. Inf. Comput. 100, 1\u201377 (1992)","journal-title":"Inf. Comput."},{"key":"26_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1337","DOI":"10.1007\/11523468_108","volume-title":"Automata, Languages and Programming","author":"B Reus","year":"2005","unstructured":"Reus, B., Streicher, T.: About hoare logics for higher-order store. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 1337\u20131348. Springer, Heidelberg (2005)"},{"key":"26_CR34","unstructured":"Steele, G.L., Sussman, G.J., Scheme: an interpreter for the extended lambda calculus. AI Memo 349, MIT Artificial Intelligence Laboratory (1975)"},{"key":"26_CR35","doi-asserted-by":"publisher","first-page":"405","DOI":"10.1023\/A:1010035624696","volume":"11","author":"GL Steele","year":"1998","unstructured":"Steele, G.L., Sussman, G.J.: Scheme: an interpreter for the extended lambda calculus. High.-Order Symbolic Computat. 11, 405\u2013439 (1998)","journal-title":"High.-Order Symbolic Computat."},{"key":"26_CR36","volume-title":"Programming in Go","author":"M Summerfield","year":"2012","unstructured":"Summerfield, M.: Programming in Go. Addison-Wesley, Upper Saddle River (2012)"},{"issue":"4","key":"26_CR37","doi-asserted-by":"publisher","first-page":"425","DOI":"10.1007\/BF01939412","volume":"11","author":"A Wang","year":"1971","unstructured":"Wang, A., Dahl, O.-J.: Coroutine sequencing in a block structured environment. BIT Numer. Meth. 11(4), 425\u2013449 (1971)","journal-title":"BIT Numer. Meth."}],"container-title":["Lecture Notes in Computer Science","Theory and Practice of Formal Methods"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-30734-3_26","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T12:24:55Z","timestamp":1720787095000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-30734-3_26"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016]]},"ISBN":["9783319307336","9783319307343"],"references-count":37,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-30734-3_26","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2016]]},"assertion":[{"value":"13 March 2016","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}