{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,22]],"date-time":"2026-09-22T04:25:52Z","timestamp":1790051152345,"version":"4.0.1"},"publisher-location":"Cham","reference-count":13,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030577605","type":"print"},{"value":"9783030577612","type":"electronic"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","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":[[2020]]},"DOI":"10.1007\/978-3-030-57761-2_9","type":"book-chapter","created":{"date-parts":[[2020,8,31]],"date-time":"2020-08-31T12:47:58Z","timestamp":1598878078000},"page":"180-203","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["An Equational Modeling of Asynchronous Concurrent Programming"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7062-7659","authenticated-orcid":false,"given":"David","family":"Janin","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,8,18]]},"reference":[{"key":"9_CR1","doi-asserted-by":"crossref","unstructured":"Claessen, K., Hugues, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: International Conference on Functional Programming (ICFP) (2000)","DOI":"10.1145\/351240.351266"},{"key":"9_CR2","doi-asserted-by":"crossref","unstructured":"Dahlqvist, F., Parlant, L., Silva, A.: Layer by layer - combining monads. In: Theoretical Aspects of Computing (ICTAC), pp. 153\u2013172 (2018)","DOI":"10.1007\/978-3-030-02508-3_9"},{"issue":"4","key":"9_CR3","doi-asserted-by":"publisher","first-page":"501","DOI":"10.1145\/4472.4478","volume":"7","author":"RH Halstead","year":"1985","unstructured":"Halstead, 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."},{"key":"9_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1007\/978-3-030-02508-3_13","volume-title":"Theoretical Aspects of Computing \u2013 ICTAC 2018","author":"D Janin","year":"2018","unstructured":"Janin, D.: Spatio-temporal domains: an overview. In: Fischer, B., Uustalu, T. (eds.) ICTAC 2018. LNCS, vol. 11187, pp. 231\u2013251. Springer, Cham (2018). \nhttps:\/\/doi.org\/10.1007\/978-3-030-02508-3_13"},{"key":"9_CR5","unstructured":"Janin, D.: Screaming in the IO monad. In: ACM Workshop on Functional Art, Music, Modeling and Design (FARM). ACM Press (2019)"},{"key":"9_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1007\/978-3-030-39197-3_9","volume-title":"Practical Aspects of Declarative Languages","author":"D Janin","year":"2020","unstructured":"Janin, D.: A timed IO monad. In: Komendantskaya, E., Liu, Y.A. (eds.) PADL 2020. LNCS, vol. 12007, pp. 131\u2013147. Springer, Cham (2020). \nhttps:\/\/doi.org\/10.1007\/978-3-030-39197-3_9"},{"key":"9_CR7","doi-asserted-by":"crossref","unstructured":"Peyton Jones, S., Gordon, A., Finne, S.: Concurrent Haskell. In: Principles of Programing Languages (POPL). ACM, New York (1996)","DOI":"10.1145\/237721.237794"},{"key":"9_CR8","volume-title":"Parallel and Concurrent Programming in Haskell","author":"S Marlow","year":"2013","unstructured":"Marlow, S.: Parallel and Concurrent Programming in Haskell. O\u2019Reilly, Sebastopol (2013)"},{"key":"9_CR9","volume-title":"Real World OCaml: Functional Programming for the Masses","author":"Y Minsky","year":"2013","unstructured":"Minsky, Y., Hickey, J., Madhavapeddy, A.: Real World OCaml: Functional Programming for the Masses. O\u2019Reilly, Sebastopol (2013)"},{"key":"9_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"138","DOI":"10.1007\/BFb0013462","volume-title":"Category Theory and Computer Science","author":"E Moggi","year":"1991","unstructured":"Moggi, E.: A modular approach to denotational semantics. In: Pitt, D.H., Curien, P.-L., Abramsky, S., Pitts, A.M., Poign\u00e9, A., Rydeheard, D.E. (eds.) CTCS 1991. LNCS, vol. 530, pp. 138\u2013139. Springer, Heidelberg (1991). \nhttps:\/\/doi.org\/10.1007\/BFb0013462"},{"key":"9_CR11","doi-asserted-by":"crossref","unstructured":"Pretnar, M.: An introduction to algebraic effects and handlers. In: The 31st Conference on the Mathematical Foundations of Programming Semantics (MFPS XXXI). Electronic Notes in Theoretical Computer Science, vol. 319, pp. 19\u201335 (2015)","DOI":"10.1016\/j.entcs.2015.12.003"},{"key":"9_CR12","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511574962","volume-title":"Concurrent Programming in ML","author":"JH Reppy","year":"1999","unstructured":"Reppy, J.H.: Concurrent Programming in ML. Cambridge University Press, Cambridge (1999)"},{"key":"9_CR13","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Comprehending monads. In: Conference on LISP and Functional Programming (LFP). ACM, New York (1990)","DOI":"10.1145\/91556.91592"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-57761-2_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,8,31]],"date-time":"2020-08-31T13:10:44Z","timestamp":1598879444000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-57761-2_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030577605","9783030577612"],"references-count":13,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-57761-2_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"18 August 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Trends in Functional Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Krakow","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Poland","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13 February 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14 February 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/tfp2020.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"22","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"11","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"50% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3,21","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3,39","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}