{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:34:16Z","timestamp":1750221256618,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":19,"publisher":"ACM","license":[{"start":{"date-parts":[[2018,9,17]],"date-time":"2018-09-17T00:00:00Z","timestamp":1537142400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001711","name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","doi-asserted-by":"publisher","award":["200021_166154"],"award-info":[{"award-number":["200021_166154"]}],"id":[{"id":"10.13039\/501100001711","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2018,9,17]]},"DOI":"10.1145\/3241653.3241658","type":"proceedings-article","created":{"date-parts":[[2018,9,18]],"date-time":"2018-09-18T12:11:39Z","timestamp":1537272699000},"page":"56-60","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Truly abstract interfaces for algebraic data types: the extractor typing problem"],"prefix":"10.1145","author":[{"given":"Nicolas","family":"Stucki","sequence":"first","affiliation":[{"name":"EPFL, Switzerland"}]},{"given":"Paolo G.","family":"Giarrusso","sequence":"additional","affiliation":[{"name":"EPFL, Switzerland"}]},{"given":"Martin","family":"Odersky","sequence":"additional","affiliation":[{"name":"EPFL, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2018,9,17]]},"reference":[{"key":"e_1_3_2_1_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. WadlerFest 2016 (2016). Nada Amin, Karl Samuel Gr\u00fctter, Martin Odersky, Tiark Rompf, and Sandro Stucki. 2016. The essence of dependent object types. WadlerFest 2016 (2016)."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640098"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159803.1159836"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Burak Emir Martin Odersky and John Williams. 2007. Matching objects with patterns. 273-298.   Burak Emir Martin Odersky and John Williams. 2007. Matching objects with patterns. 273-298.","DOI":"10.1007\/978-3-540-73589-2_14"},{"key":"e_1_3_2_1_6_1","first-page":"17","volume-title":"Proceedings of the 8th Symposium on Dynamic Languages (DLS '12)","author":"Homer Michael","unstructured":"Michael Homer , James Noble , Kim B. Bruce , Andrew P. Black , and David J. Pearce . 2012. Patterns as objects in Grace . In Proceedings of the 8th Symposium on Dynamic Languages (DLS '12) . ACM, 17 - 28 . Michael Homer, James Noble, Kim B. Bruce, Andrew P. Black, and David J. Pearce. 2012. Patterns as objects in Grace. In Proceedings of the 8th Symposium on Dynamic Languages (DLS '12). ACM, 17-28."},{"key":"e_1_3_2_1_7_1","first-page":"343","volume-title":"Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13)","author":"Isradisaikul Chinawat","unstructured":"Chinawat Isradisaikul and Andrew C. Myers . 2013. Reconciling exhaustive pattern matching with objects . In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13) . ACM, 343 - 354 . Chinawat Isradisaikul and Andrew C. Myers. 2013. Reconciling exhaustive pattern matching with objects. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13). ACM, 343-354."},{"key":"e_1_3_2_1_8_1","volume-title":"Object-oriented Software Construction","author":"Meyer Bertrand","unstructured":"Bertrand Meyer . 1997. Object-oriented Software Construction ( 2 nd ed.). Prentice Hall , New York . Bertrand Meyer. 1997. Object-oriented Software Construction (2nd ed.). Prentice Hall, New York.","edition":"2"},{"key":"e_1_3_2_1_9_1","series-title":"Lecture Notes in Computer Science","volume-title":"ECOOP 2003 - Object-Oriented Programming, Luca Cardelli (Ed.)","author":"Odersky Martin","unstructured":"Martin Odersky , Vincent Cremet , Christine R\u00f6ckl , and Matthias Zenger . 2003. A nominal theory of objects with dependent types . In ECOOP 2003 - Object-Oriented Programming, Luca Cardelli (Ed.) . Lecture Notes in Computer Science , Vol. 2743 . Springer Berlin Heidelberg , 201-224. Martin Odersky, Vincent Cremet, Christine R\u00f6ckl, and Matthias Zenger. 2003. A nominal theory of objects with dependent types. In ECOOP 2003 - Object-Oriented Programming, Luca Cardelli (Ed.). Lecture Notes in Computer Science, Vol. 2743. Springer Berlin Heidelberg, 201-224."},{"key":"e_1_3_2_1_10_1","first-page":"41","article-title":"Scalable component abstractions (OOPSLA '05). ACM, New York","author":"Odersky Martin","year":"2005","unstructured":"Martin Odersky and Matthias Zenger . 2005 . Scalable component abstractions (OOPSLA '05). ACM, New York , NY, USA , 41 - 57 . Martin Odersky and Matthias Zenger. 2005. Scalable component abstractions (OOPSLA '05). ACM, New York, NY, USA, 41-57.","journal-title":"NY, USA"},{"key":"e_1_3_2_1_12_1","unstructured":"Paul Phillips. 2013. Pattern matcher: extractors become name-based. https:\/\/github.com\/scala\/scala\/pull\/2848. [Accessed: 2018-06-11].  Paul Phillips. 2013. Pattern matcher: extractors become name-based. https:\/\/github.com\/scala\/scala\/pull\/2848. [Accessed: 2018-06-11]."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1145\/2976002.2976013","volume-title":"Proceedings of the 9th International Symposium on Haskell (Haskell","author":"Pickering Matthew","year":"2016","unstructured":"Matthew Pickering , Gergo \u00c9rdi , Simon Peyton Jones , and Richard A. Eisenberg . 2016. Pattern synonyms . In Proceedings of the 9th International Symposium on Haskell (Haskell 2016 ). ACM, 80 - 91 . Matthew Pickering, Gergo \u00c9rdi, Simon Peyton Jones, and Richard A. Eisenberg. 2016. Pattern synonyms. In Proceedings of the 9th International Symposium on Haskell (Haskell 2016). ACM, 80-91."},{"key":"e_1_3_2_1_14_1","first-page":"771","article-title":"OOMatch: Pattern matching as dispatch in Java. In Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion (OOPSLA '07)","author":"Richard Adam","year":"2007","unstructured":"Adam Richard and Ondrej Lhotak . 2007 . OOMatch: Pattern matching as dispatch in Java. In Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion (OOPSLA '07) . ACM , 771 - 772 . Adam Richard and Ondrej Lhotak. 2007. OOMatch: Pattern matching as dispatch in Java. In Companion to the 22Nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications Companion (OOPSLA '07). ACM, 771-772.","journal-title":"ACM"},{"key":"e_1_3_2_1_15_1","volume-title":"Steele","author":"Ryu Sukyoung","year":"2010","unstructured":"Sukyoung Ryu , Changhee Park , and Guy L . Steele . 2010 . Adding pattern matching to existing object-oriented languages. In FOOL. Sukyoung Ryu, Changhee Park, and Guy L. Steele. 2010. Adding pattern matching to existing object-oriented languages. In FOOL."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"crossref","unstructured":"Nicolas Stucki Paolo G. Giarrusso and Martin Odersky. 2018. Truly abstract interfaces for Algebraic Data Types -- supplementary material. https:\/\/github.com\/nicolasstucki\/TrulyAbstractInterfaces  Nicolas Stucki Paolo G. Giarrusso and Martin Odersky. 2018. Truly abstract interfaces for Algebraic Data Types -- supplementary material. https:\/\/github.com\/nicolasstucki\/TrulyAbstractInterfaces","DOI":"10.1145\/3241653.3241658"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291151.1291159"},{"key":"e_1_3_2_1_18_1","unstructured":"The Dotty Team. 2018. Dotty compiler. https:\/\/dotty.epfl.ch\/. [Accessed: 2018-06-11].  The Dotty Team. 2018. Dotty compiler. https:\/\/dotty.epfl.ch\/. [Accessed: 2018-06-11]."},{"key":"e_1_3_2_1_19_1","unstructured":"The Dotty Team. 2018. Option-less pattern matching. https:\/\/dotty.epfl.ch\/docs\/reference\/changed\/pattern-matching.html. [Accessed: 2018-06-11].  The Dotty Team. 2018. Option-less pattern matching. https:\/\/dotty.epfl.ch\/docs\/reference\/changed\/pattern-matching.html. [Accessed: 2018-06-11]."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/41625.41653"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297081.1297086"}],"event":{"name":"ICFP '18: 23nd ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"St. Louis MO USA","acronym":"ICFP '18"},"container-title":["Proceedings of the 9th ACM SIGPLAN International Symposium on Scala"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3241653.3241658","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3241653.3241658","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:08:09Z","timestamp":1750212489000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3241653.3241658"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,9,17]]},"references-count":19,"alternative-id":["10.1145\/3241653.3241658","10.1145\/3241653"],"URL":"https:\/\/doi.org\/10.1145\/3241653.3241658","relation":{},"subject":[],"published":{"date-parts":[[2018,9,17]]},"assertion":[{"value":"2018-09-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}