{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T21:07:04Z","timestamp":1760044024210,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":46,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,6,8]],"date-time":"2019-06-08T00:00:00Z","timestamp":1559952000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100008433","name":"Comunidad de Madrid","doi-asserted-by":"publisher","award":["S2018\/TCS-4339 (BLOQUES-CM)"],"award-info":[{"award-number":["S2018\/TCS-4339 (BLOQUES-CM)"]}],"id":[{"id":"10.13039\/501100008433","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCF-1518844, CCF-1846350, DGE-1322106"],"award-info":[{"award-number":["CCF-1518844, CCF-1846350, DGE-1322106"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,6,8]]},"DOI":"10.1145\/3314221.3314630","type":"proceedings-article","created":{"date-parts":[[2019,6,7]],"date-time":"2019-06-07T21:02:18Z","timestamp":1559941338000},"page":"966-979","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Type-level computations for Ruby libraries"],"prefix":"10.1145","author":[{"given":"Milod","family":"Kazerounian","sequence":"first","affiliation":[{"name":"University of Maryland at College Park, USA"}]},{"given":"Sankha Narayan","family":"Guria","sequence":"additional","affiliation":[{"name":"University of Maryland at College Park, USA"}]},{"given":"Niki","family":"Vazou","sequence":"additional","affiliation":[{"name":"IMDEA Software Institute, Spain"}]},{"given":"Jeffrey S.","family":"Foster","sequence":"additional","affiliation":[{"name":"Tufts University, USA"}]},{"given":"David","family":"Van Horn","sequence":"additional","affiliation":[{"name":"University of Maryland at College Park, USA"}]}],"member":"320","published-online":{"date-parts":[[2019,6,8]]},"reference":[{"key":"e_1_3_2_2_1_1","volume-title":"Martin Odersky, Tiark Rompf, and Sandro Stucki.","author":"Amin Nada","year":"2016","unstructured":"Nada Amin , Karl Samuel Gr\u00fctter , Martin Odersky, Tiark Rompf, and Sandro Stucki. 2016 . The Essence of Dependent Object Types. Springer International Publishing , Cham, 249\u2013272. Nada Amin, Karl Samuel Gr\u00fctter, Martin Odersky, Tiark Rompf, and Sandro Stucki. 2016. The Essence of Dependent Object Types. Springer International Publishing, Cham, 249\u2013272."},{"volume-title":"Proceedings of the 2007 Symposium on Dynamic Languages (DLS). ACM","author":"Ancona Davide","key":"e_1_3_2_2_2_1","unstructured":"Davide Ancona , Massimo Ancona , Antonio Cuni , and Nicholas D. Matsakis . 2007. RPython: A Step Towards Reconciling Dynamically and Statically Typed OO Languages . In Proceedings of the 2007 Symposium on Dynamic Languages (DLS). ACM , New York, NY, USA, 53\u201364. Davide Ancona, Massimo Ancona, Antonio Cuni, and Nicholas D. Matsakis. 2007. RPython: A Step Towards Reconciling Dynamically and Statically Typed OO Languages. In Proceedings of the 2007 Symposium on Dynamic Languages (DLS). ACM, New York, NY, USA, 53\u201364."},{"key":"e_1_3_2_2_3_1","volume-title":"Towards Type Inference for Javascript. In ECOOP 2005 - Object-Oriented Programming (ECOOP). Springer Berlin Heidelberg","author":"Anderson Christopher","year":"2005","unstructured":"Christopher Anderson , Paola Giannini , and Sophia Drossopoulou . 2005 . Towards Type Inference for Javascript. In ECOOP 2005 - Object-Oriented Programming (ECOOP). Springer Berlin Heidelberg , Berlin, Heidelberg, 428\u2013452. Christopher Anderson, Paola Giannini, and Sophia Drossopoulou. 2005. Towards Type Inference for Javascript. In ECOOP 2005 - Object-Oriented Programming (ECOOP). Springer Berlin Heidelberg, Berlin, Heidelberg, 428\u2013452."},{"key":"e_1_3_2_2_4_1","unstructured":"John Aycock. 2000. Aggressive Type Inference. (2000).  John Aycock. 2000. Aggressive Type Inference. (2000)."},{"volume-title":"Maintaining Database Integrity with Refinement Types. In ECOOP 2011 \u2013 Object-Oriented Programming, Mira Mezini (Ed.). Springer Berlin Heidelberg","author":"Baltopoulos Ioannis G.","key":"e_1_3_2_2_5_1","unstructured":"Ioannis G. Baltopoulos , Johannes Borgstr\u00f6m , and Andrew D. Gordon . 2011 . Maintaining Database Integrity with Refinement Types. In ECOOP 2011 \u2013 Object-Oriented Programming, Mira Mezini (Ed.). Springer Berlin Heidelberg , Berlin, Heidelberg, 484\u2013509. Ioannis G. Baltopoulos, Johannes Borgstr\u00f6m, and Andrew D. Gordon. 2011. Maintaining Database Integrity with Refinement Types. In ECOOP 2011 \u2013 Object-Oriented Programming, Mira Mezini (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 484\u2013509."},{"key":"e_1_3_2_2_6_1","volume-title":"Journey: An online questionnaire application.","author":"Budin Nat","year":"2018","unstructured":"Nat Budin . 2018 . Journey: An online questionnaire application. (2018). https:\/\/github.com\/nbudin\/journey\/ . Nat Budin. 2018. Journey: An online questionnaire application. (2018). https:\/\/github.com\/nbudin\/journey\/ ."},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040306"},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009886"},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2543728.2543738"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806612"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384659"},{"key":"e_1_3_2_2_12_1","unstructured":"Code.org. 2018. The code powering code.org and studio.code.org . (2018). https:\/\/github.com\/code-dot-org\/code-dot-org .  Code.org. 2018. The code powering code.org and studio.code.org . (2018). https:\/\/github.com\/code-dot-org\/code-dot-org ."},{"key":"e_1_3_2_2_13_1","volume-title":"Proceedings of the 5th International Conference on Formal Methods for Components and Objects (FMCO). Springer-Verlag","author":"Cooper Ezra","year":"2006","unstructured":"Ezra Cooper , Sam Lindley , Philip Wadler , and Jeremy Yallop . 2006 . Links: Web Programming Without Tiers . In Proceedings of the 5th International Conference on Formal Methods for Components and Objects (FMCO). Springer-Verlag , Berlin, Heidelberg, 266\u2013296. Ezra Cooper, Sam Lindley, Philip Wadler, and Jeremy Yallop. 2006. Links: Web Programming Without Tiers. In Proceedings of the 5th International Conference on Formal Methods for Components and Objects (FMCO). Springer-Verlag, Berlin, Heidelberg, 266\u2013296."},{"key":"e_1_3_2_2_14_1","unstructured":"David Cyril and Ken Pratt. 2018. Ruby client for the Wikipedia API. (2018). https:\/\/github.com\/kenpratt\/wikipedia-client .  David Cyril and Ken Pratt. 2018. Ruby client for the Wikipedia API. (2018). https:\/\/github.com\/kenpratt\/wikipedia-client ."},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-28869-2_11"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364506.2364522"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111037.1111059"},{"key":"e_1_3_2_2_18_1","volume-title":"RDL: Types, type checking, and contracts for Ruby.","author":"Foster Jeffrey","year":"2018","unstructured":"Jeffrey Foster , Brianna Ren , Stephen Strickland , Alexander Yu , and Milod Kazerounian . 2018 . RDL: Types, type checking, and contracts for Ruby. (2018). https:\/\/github.com\/plum-umd\/rdl . Jeffrey Foster, Brianna Ren, Stephen Strickland, Alexander Yu, and Milod Kazerounian. 2018. RDL: Types, type checking, and contracts for Ruby. (2018). https:\/\/github.com\/plum-umd\/rdl ."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2620678.2620683"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113468"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1529282.1529700"},{"volume-title":"Huginn: Create agents that monitor and act on your behalf.","year":"2018","key":"e_1_3_2_2_22_1","unstructured":"Huginn. 2018 . Huginn: Create agents that monitor and act on your behalf. (2018). https:\/\/github.com\/huginn\/huginn . Huginn. 2018. Huginn: Create agents that monitor and act on your behalf. (2018). https:\/\/github.com\/huginn\/huginn ."},{"key":"e_1_3_2_2_23_1","volume-title":"Discourse: A platform for community discussion.","author":"Civilized Discourse Construction Kit Inc.","year":"2018","unstructured":"Civilized Discourse Construction Kit Inc. 2018 . Discourse: A platform for community discussion. (2018). https:\/\/github.com\/discourse\/ discourse . Civilized Discourse Construction Kit Inc. 2018. Discourse: A platform for community discussion. (2018). https:\/\/github.com\/discourse\/ discourse ."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cl.2015.01.001"},{"key":"e_1_3_2_2_26_1","volume-title":"Jeffrey S. Foster, and Emina Torlak.","author":"Kazerounian Milod","year":"2018","unstructured":"Milod Kazerounian , Niki Vazou , Austin Bourgerie , Jeffrey S. Foster, and Emina Torlak. 2018 . Refinement Types for Ruby. In Verification, Model Checking, and Abstract Interpretation (VMCAI). Springer International Publishing , Cham, 269\u2013290. Milod Kazerounian, Niki Vazou, Austin Bourgerie, Jeffrey S. Foster, and Emina Torlak. 2018. Refinement Types for Ruby. In Verification, Model Checking, and Abstract Interpretation (VMCAI). Springer International Publishing, Cham, 269\u2013290."},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908091"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/331963.331977"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508168.2508170"},{"key":"e_1_3_2_2_30_1","unstructured":"Lightbend Inc. 2019. Slick. (2019). http:\/\/slick.lightbend.com\/ .  Lightbend Inc. 2019. Slick. (2019). http:\/\/slick.lightbend.com\/ ."},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142552"},{"key":"e_1_3_2_2_32_1","unstructured":"Erik Michaels-Ober John Nunemaker Wynn Netherland Steve Richert and Steve Agalloco. 2018. A Ruby interface to the Twitter API. (2018). https:\/\/github.com\/sferik\/twitter .  Erik Michaels-Ober John Nunemaker Wynn Netherland Steve Richert and Steve Agalloco. 2018. A Ruby interface to the Twitter API. (2018). https:\/\/github.com\/sferik\/twitter ."},{"volume-title":"Dependently Typed Programming in Agda","author":"Norell Ulf","key":"e_1_3_2_2_33_1","unstructured":"Ulf Norell . 2009. Dependently Typed Programming in Agda . Springer Berlin Heidelberg, Berlin , Heidelberg , 230\u2013266. Ulf Norell. 2009. Dependently Typed Programming in Agda. Springer Berlin Heidelberg, Berlin, Heidelberg, 230\u2013266."},{"volume-title":"Exploring New Frontiers of Theoretical Informatics, Jean-Jacques Levy, Ernst W","author":"Ou Xinming","key":"e_1_3_2_2_34_1","unstructured":"Xinming Ou , Gang Tan , Yitzhak Mandelbaum , and David Walker . 2004. Dynamic Typing with Dependent Types . In Exploring New Frontiers of Theoretical Informatics, Jean-Jacques Levy, Ernst W . Mayr, and John C. Mitchell (Eds.). Springer US , Boston, MA , 437\u2013450. Xinming Ou, Gang Tan, Yitzhak Mandelbaum, and David Walker. 2004. Dynamic Typing with Dependent Types. In Exploring New Frontiers of Theoretical Informatics, Jean-Jacques Levy, Ernst W. Mayr, and John C. Mitchell (Eds.). Springer US, Boston, MA, 437\u2013450."},{"key":"e_1_3_2_2_35_1","volume-title":"Chris Casinghino, Marco Gaboardi, Michael Greenberg, C \u02c7 at \u02c7 alin Hri\u0163cu, Vilhelm Sj\u00f6berg, and Brent Yorgey.","author":"Pierce Benjamin C.","year":"2017","unstructured":"Benjamin C. Pierce , Arthur Azevedo de Amorim , Chris Casinghino, Marco Gaboardi, Michael Greenberg, C \u02c7 at \u02c7 alin Hri\u0163cu, Vilhelm Sj\u00f6berg, and Brent Yorgey. 2017 . Software Foundations. Electronic textbook, http:\/\/www.cis.upenn.edu\/~bcpierce\/sf . Benjamin C. Pierce, Arthur Azevedo de Amorim, Chris Casinghino, Marco Gaboardi, Michael Greenberg, C \u02c7 at \u02c7 alin Hri\u0163cu, Vilhelm Sj\u00f6berg, and Brent Yorgey. 2017. Software Foundations. Electronic textbook, http:\/\/www.cis.upenn.edu\/~bcpierce\/sf ."},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/75277.75284"},{"key":"e_1_3_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908127"},{"key":"e_1_3_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2480362.2480655"},{"key":"e_1_3_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3093333.3009875"},{"key":"e_1_3_2_2_40_1","volume-title":"Seventh Workshop on Scheme and Functional Programming. ACM","author":"Siek Jeremy","year":"2006","unstructured":"Jeremy Siek and Walid Taha . 2006 . Gradual typing for functional languages . In Seventh Workshop on Scheme and Functional Programming. ACM , Portland, OR, USA, 81\u201392. Jeremy Siek and Walid Taha. 2006. Gradual typing for functional languages. In Seventh Workshop on Scheme and Functional Programming. ACM, Portland, OR, USA, 81\u201392."},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2661088.2661092"},{"key":"e_1_3_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837655"},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-31987-0_28"},{"key":"e_1_3_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176617.1176755"},{"key":"e_1_3_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_3_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908110"},{"key":"e_1_3_2_2_47_1","volume-title":"https:\/\/www.dwheeler.com\/ sloccount\/","author":"Wheeler D. A.","year":"2018","unstructured":"D. A. Wheeler . 2018. SLOCCount. ( 2018 ). https:\/\/www.dwheeler.com\/ sloccount\/ . D. A. Wheeler. 2018. SLOCCount. (2018). https:\/\/www.dwheeler.com\/ sloccount\/ ."}],"event":{"name":"PLDI '19: 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Phoenix AZ USA","acronym":"PLDI '19"},"container-title":["Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3314221.3314630","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3314221.3314630","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3314221.3314630","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:53:22Z","timestamp":1750204402000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3314221.3314630"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,6,8]]},"references-count":46,"alternative-id":["10.1145\/3314221.3314630","10.1145\/3314221"],"URL":"https:\/\/doi.org\/10.1145\/3314221.3314630","relation":{},"subject":[],"published":{"date-parts":[[2019,6,8]]},"assertion":[{"value":"2019-06-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}