{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T00:43:10Z","timestamp":1697935390120},"reference-count":15,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":7882,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1985,4]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We identify a set of primitive operations supporting coroutines, and demonstrate their usefulness. We then address their implementation in C according to a set of criteria aimed at maintaining simplicity, and achieve a satisfactory compromise between it and effectiveness. Our package for the PDP\u201011 under UNIX\u2020 allows users of coroutines in C programs to gain access to the primitives via an included definitions file and an object library; no penalty is imposed upon non\u2010coroutine users.<\/jats:p>","DOI":"10.1002\/spe.4380150407","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T04:09:16Z","timestamp":1163822956000},"page":"379-395","source":"Crossref","is-referenced-by-count":3,"title":["A low\u2010cost implementation of coroutines for C"],"prefix":"10.1002","volume":"15","author":[{"given":"Paul A.","family":"Bailes","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"The C Programming Language","author":"Kerninghan B. W.","year":"1978"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-06950-X"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/366663.366704"},{"key":"e_1_2_1_5_2","volume-title":"The SIMULA 67 Common Rase Language","author":"Dahl O.\u2010J.","year":"1968"},{"key":"e_1_2_1_6_2","volume-title":"The Art of Computer Programming. Volume 1. fundamental Algorithms","author":"Knuth D. E.","year":"1968"},{"key":"e_1_2_1_7_2","volume-title":"Automata, languages and programming","author":"Friedman D. P.","year":"1976"},{"key":"e_1_2_1_8_2","doi-asserted-by":"crossref","unstructured":"P.HendersonandJ. H.Morris \u2018A lazy evaluator\u2019 Proceedings 3rdACM Symposium on the Principles of Programming Languages 1976 pp95\u2013103.","DOI":"10.1145\/800168.811543"},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"N.Wirth \u2018The module: a system structuring facility in high\u2010level programming languages\u2019 Proceedings Symposium on Language Design and Programming Methodology Sydney 1979.","DOI":"10.1007\/3-540-09745-7_1"},{"key":"e_1_2_1_10_2","unstructured":"T. A.Standish \u2018Extensibility in programming language design\u2019 Proceedings National Computing Conference 1975 pp386\u2013390."},{"key":"e_1_2_1_11_2","first-page":"419","article-title":"A portable coroutine system","volume":"71","author":"Gentleman W. M.","year":"1971","journal-title":"Information Processing"},{"key":"e_1_2_1_12_2","volume-title":"ANSI Standard Fortran","year":"1966"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/987649.987656"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380101002"},{"key":"e_1_2_1_15_2","doi-asserted-by":"crossref","unstructured":"M.Richards\u2018BCPL\u2014a tool for compiler writing and systems programming\u2019 Proc. Spring Joint Comp. Conf. 1969 pp557\u2013566.","DOI":"10.1145\/1476793.1476880"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380101003"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380150407","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380150407","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T18:54:33Z","timestamp":1697828073000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380150407"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1985,4]]},"references-count":15,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1985,4]]}},"alternative-id":["10.1002\/spe.4380150407"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380150407","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1985,4]]}}}