{"id":"https://openalex.org/W3212295967","doi":"https://doi.org/10.1145/3498698","title":"Type-level programming with match types","display_name":"Type-level programming with match types","publication_year":2022,"publication_date":"2022-01-12","ids":{"openalex":"https://openalex.org/W3212295967","doi":"https://doi.org/10.1145/3498698","mag":"3212295967"},"language":"en","primary_location":{"id":"doi:10.1145/3498698","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3498698","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3498698","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3498698","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5014926250","display_name":"Olivier Blanvillain","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Olivier Blanvillain","raw_affiliation_strings":["EPFL, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027088540","display_name":"Jonathan Immanuel Brachth\u00e4user","orcid":"https://orcid.org/0000-0001-9128-0391"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Jonathan Immanuel Brachth\u00e4user","raw_affiliation_strings":["University of T\u00fcbingen, Germany"],"raw_orcid":"https://orcid.org/0000-0001-9128-0391","affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090376492","display_name":"Maxime Kjaer","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Maxime Kjaer","raw_affiliation_strings":["EPFL, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5085410724","display_name":"Martin Odersky","orcid":"https://orcid.org/0009-0005-3923-8993"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.02020044,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"6","issue":"POPL","first_page":"1","last_page":"24"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9860000014305115,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9860000014305115,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9718999862670898,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.9351999759674072,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.4633048176765442}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.4633048176765442}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3498698","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3498698","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3498698","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:infoscience.epfl.ch:290019","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/290019","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"report"},{"id":"pmh:oai:infoscience.epfl.ch:293561","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/293561","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"WoS","raw_type":"research article"},{"id":"mag:3212295967","is_oa":false,"landing_page_url":"https://infoscience.epfl.ch/record/290019/files/type-level-programming-with-match-types.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"doi:10.1145/3498698","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3498698","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3498698","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3212295967.pdf","grobid_xml":"https://content.openalex.org/works/W3212295967.grobid-xml"},"referenced_works_count":26,"referenced_works":["https://openalex.org/W1541185175","https://openalex.org/W1604851874","https://openalex.org/W1977820295","https://openalex.org/W1987203566","https://openalex.org/W1989916808","https://openalex.org/W2025431400","https://openalex.org/W2030916392","https://openalex.org/W2058162377","https://openalex.org/W2059914072","https://openalex.org/W2129777450","https://openalex.org/W2165657834","https://openalex.org/W2289066165","https://openalex.org/W2535463558","https://openalex.org/W2761821266","https://openalex.org/W2763618583","https://openalex.org/W2911692446","https://openalex.org/W2944745903","https://openalex.org/W2964118359","https://openalex.org/W3035965352","https://openalex.org/W3047067898","https://openalex.org/W4213090963","https://openalex.org/W4213422035","https://openalex.org/W4237211893","https://openalex.org/W4251000889","https://openalex.org/W6893892600","https://openalex.org/W6966995401"],"related_works":["https://openalex.org/W3157430817","https://openalex.org/W231404036","https://openalex.org/W2033685201"],"abstract_inverted_index":{"Type-level":[0],"programming":[1,19,27,46,95],"is":[2],"becoming":[3],"more":[4,6],"and":[5,20,73],"popular":[7],"in":[8,25,65,86],"the":[9,15,60,87],"realm":[10],"of":[11,17,38,62,102],"functional":[12],"programming.":[13],"However,":[14],"combination":[16],"type-level":[18,36,94],"subtyping":[21,49],"remains":[22],"largely":[23],"unexplored":[24],"practical":[26],"languages.":[28],"This":[29],"paper":[30],"presents":[31],"match":[32,63,84],"types":[33,42,64,85],",":[34],"a":[35,66,99],"equivalent":[37],"pattern":[39],"matching.":[40],"Match":[41],"integrate":[43],"seamlessly":[44],"into":[45],"languages":[47],"with":[48],"and,":[50],"despite":[51],"their":[52],"simplicity,":[53],"offer":[54],"significant":[55],"additional":[56],"expressiveness.":[57],"We":[58,77],"formalize":[59],"feature":[61],"calculus":[67],"based":[68],"on":[69],"System":[70],"F":[71],"sub":[72],"prove":[74],"its":[75],"soundness.":[76],"practically":[78],"evaluate":[79],"our":[80],"system":[81],"by":[82],"implementing":[83],"Scala":[88],"3":[89],"reference":[90],"compiler,":[91],"thus":[92],"making":[93],"readily":[96],"available":[97],"to":[98],"broad":[100],"audience":[101],"programmers.":[103]},"counts_by_year":[],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
