{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,28]],"date-time":"2025-03-28T09:39:29Z","timestamp":1743154769125,"version":"3.40.3"},"publisher-location":"Cham","reference-count":24,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030890506"},{"type":"electronic","value":"9783030890513"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-89051-3_9","type":"book-chapter","created":{"date-parts":[[2021,10,12]],"date-time":"2021-10-12T09:30:38Z","timestamp":1634031038000},"page":"140-159","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["A Compilation Method for Dynamic Typing in ML"],"prefix":"10.1007","author":[{"given":"Atsushi","family":"Ohori","sequence":"first","affiliation":[]},{"given":"Katsuhiro","family":"Ueno","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,10,12]]},"reference":[{"issue":"1","key":"9_CR1","doi-asserted-by":"publisher","first-page":"111","DOI":"10.1017\/S095679680000126X","volume":"5","author":"M Abadi","year":"1995","unstructured":"Abadi, M., Cardelli, L., Pierce, B., R\u00e9my, D.: Dynamic typing in polymorphic languages. J. Funct. Program. 5(1), 111\u2013130 (1995)","journal-title":"J. Funct. Program."},{"issue":"2","key":"9_CR2","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1145\/103135.103138","volume":"13","author":"M Abadi","year":"1991","unstructured":"Abadi, M., Cardelli, L., Pierce, B., Plotkin, G.: Dynamic typing in a statically typed language. ACM Trans. Program. Lang. Syst. 13(2), 237\u2013268 (1991)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"2","key":"9_CR3","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1145\/62070.45066","volume":"19","author":"M Atkinson","year":"1987","unstructured":"Atkinson, M., Buneman, O.: Types and persistence in database programming languages. ACM Comput. Surv. 19(2), 105\u2013170 (1987)","journal-title":"ACM Comput. Surv."},{"doi-asserted-by":"crossref","unstructured":"Chakravarty, M.M.T., Keller, G., Jones, S.P., Marlow, S.: Associated types with class. In: Proceedings ACM POPL, pp. 1\u201313 (2005)","key":"9_CR4","DOI":"10.1145\/1047659.1040306"},{"doi-asserted-by":"crossref","unstructured":"Damas, L., Milner, R.: Principal type-schemes for functional programs. In: DeMillo, R.A. (ed.) In: Proceedings ACM POPL Symposium (1982)","key":"9_CR5","DOI":"10.1145\/582153.582176"},{"doi-asserted-by":"crossref","unstructured":"Elsman, M.: Polymorphic equality - no tags required. In: Proceedings of the $$2nd$$ International Workshop on Types in Compilation. Kyoto, March 1998","key":"9_CR6","DOI":"10.1007\/BFb0055516"},{"issue":"2","key":"9_CR7","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1145\/227699.227700","volume":"18","author":"CV Hall","year":"1996","unstructured":"Hall, C.V., Hammond, K., Peyton Jones, S.L., Wadler, P.L.: Type classes in haskell. ACM Trans. Program. Lang. Syst. 18(2), 109\u2013138 (1996)","journal-title":"ACM Trans. Program. Lang. Syst."},{"doi-asserted-by":"crossref","unstructured":"Harper, R., Morrisett, G.: Compiling polymorphism using intensional type analysis. In: Proceedings ACM POPL Symposium, pp. 130\u2013141 (1995)","key":"9_CR8","DOI":"10.21236\/ADA285340"},{"unstructured":"Hengline, F.: Dynamic typing: syntax and proof theory. Science of Computer Programming (1992)","key":"9_CR9"},{"unstructured":"Leroy, X., Doligez, D., Frisch, A., Garrigue, J., R\u00e9my, D., Vouillon, J.: The OCaml system release 4.10 documentation and user\u2019s manual (2020). https:\/\/caml.inria.fr\/pub\/docs\/manual-ocaml\/","key":"9_CR10"},{"key":"9_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"406","DOI":"10.1007\/3540543961_20","volume-title":"Functional Programming Languages and Computer Architecture","author":"X Leroy","year":"1991","unstructured":"Leroy, X., Mauny, M.: Dynamics in ML. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 406\u2013426. Springer, Heidelberg (1991). https:\/\/doi.org\/10.1007\/3540543961_20"},{"issue":"3","key":"9_CR12","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1145\/44501.45065","volume":"10","author":"JC Mitchell","year":"1988","unstructured":"Mitchell, J.C., Plotkin, G.D.: Abstract types have existential type. ACM Trans. Program. Lang. Syst. 10(3), 470\u2013502 (1988)","journal-title":"ACM Trans. Program. Lang. Syst."},{"doi-asserted-by":"crossref","unstructured":"Ohori, A.: A simple semantics for ML polymorphism. In: Proceedings of ACM\/IFIP Conference on Functional Programming Languages and Computer Architecture, pp. 281\u2013292 (1989)","key":"9_CR13","DOI":"10.1145\/99370.99393"},{"doi-asserted-by":"crossref","unstructured":"Ohori, A.: A polymorphic record calculus and its compilation. ACM Trans. Prog. Lang. and Syst. 17(6), 844\u2013895 (1995) (An extended version of Ohori, A: A compilation method for ML-style polymorphic record calculi. ACM POPL Symposium, 154\u2013165, 1992.)","key":"9_CR14","DOI":"10.1145\/218570.218572"},{"unstructured":"Ohori, A., Ueno, K., Sasaki, T., Kikuchi, D.: A calculus with partially dynamic records for typeful manipulation of JSON objects. In: Proceedings ECOOP Conference (2016)","key":"9_CR15"},{"issue":"9","key":"9_CR16","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1145\/1160074.1159811","volume":"41","author":"S Peyton Jones","year":"2006","unstructured":"Peyton Jones, S., Vytiniotis, D., Weirich, S., Washburn, G.: Simple unification-based type inference for GADTs. SIGPLAN Not. 41(9), 50\u201361 (2006)","journal-title":"SIGPLAN Not."},{"key":"9_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"292","DOI":"10.1007\/978-3-319-30936-1_16","volume-title":"A List of Successes That Can Change the World","author":"S Peyton Jones","year":"2016","unstructured":"Peyton Jones, S., Weirich, S., Eisenberg, R.A., Vytiniotis, D.: A reflection on types. In: Lindley, S., McBride, C., Trinder, P., Sannella, D. (eds.) A List of Successes That Can Change the World. LNCS, vol. 9600, pp. 292\u2013317. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-30936-1_16"},{"key":"9_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"169","DOI":"10.1007\/3-540-48515-5_11","volume-title":"Implementation of Functional Languages","author":"M Pil","year":"1999","unstructured":"Pil, M.: Dynamic types and type dependent functions. In: Hammond, K., Davie, T., Clack, C. (eds.) IFL 1998. LNCS, vol. 1595, pp. 169\u2013185. Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/3-540-48515-5_11"},{"doi-asserted-by":"crossref","unstructured":"Schrijvers, T., Peyton Jones, S., Chakravarty, M., Sulzmann, M.: Type checking with open type functions. In: Proceedings ACM ICFP Conference, pp. 51\u201362 (2008)","key":"9_CR19","DOI":"10.1145\/1411203.1411215"},{"unstructured":"Siek, J.G., Taha, W.: Gradual typing for functional languages. In: Proceedings of the 2006 Scheme and Functional Programming Workshop, pp. 81\u201392 (2006)","key":"9_CR20"},{"unstructured":"SML# Project. https:\/\/smlsharp.github.io\/en\/","key":"9_CR21"},{"doi-asserted-by":"crossref","unstructured":"Sulzmann, M., Chakravarty, M.M.T., Jones, S.P., Donnelly, K.: System F with type equality coercions. In: Proceedings ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, pp. 53\u201366 (2007)","key":"9_CR22","DOI":"10.1145\/1190315.1190324"},{"doi-asserted-by":"crossref","unstructured":"Tolmach, A.: Tag-free garbage collection using explicit type parameters. In: Proceedings ACM Conference on LISP and Functional Programming, pp. 1\u201311 (1994)","key":"9_CR23","DOI":"10.1145\/182590.182411"},{"doi-asserted-by":"crossref","unstructured":"Xi, H., Chen, C., Chen, G.: Guarded recursive datatype constructors. In: Proceedings ACM POPL Symposium, pp. 224\u2013235 (2003)","key":"9_CR24","DOI":"10.1145\/640128.604150"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-89051-3_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,11]],"date-time":"2023-01-11T21:00:39Z","timestamp":1673470839000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-89051-3_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030890506","9783030890513"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-89051-3_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"12 October 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Chicago, IL","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 October 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 October 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/aplas-2021","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"HotCrp","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"43","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":"17","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":"40% - 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","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":"5","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)"}}]}}