{"id":"https://openalex.org/W7119505687","doi":"https://doi.org/10.1145/3776662","title":"Extensible Data Types with Ad-Hoc Polymorphism","display_name":"Extensible Data Types with Ad-Hoc Polymorphism","publication_year":2026,"publication_date":"2026-01-08","ids":{"openalex":"https://openalex.org/W7119505687","doi":"https://doi.org/10.1145/3776662"},"language":"en","primary_location":{"id":"doi:10.1145/3776662","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776662","pdf_url":null,"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":null,"license_id":null,"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://doi.org/10.1145/3776662","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Matthew Toohey","orcid":"https://orcid.org/0009-0006-2253-7193"},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Matthew Toohey","raw_affiliation_strings":["University of Toronto, Toronto, Canada"],"raw_orcid":"https://orcid.org/0009-0006-2253-7193","affiliations":[{"raw_affiliation_string":"University of Toronto, Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029897505","display_name":"Yanning Chen","orcid":null},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Yanning Chen","raw_affiliation_strings":["University of Toronto, Toronto, Canada"],"raw_orcid":"https://orcid.org/0009-0005-9608-0774","affiliations":[{"raw_affiliation_string":"University of Toronto, Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5121694391","display_name":"Ara Jamalzadeh","orcid":null},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Ara Jamalzadeh","raw_affiliation_strings":["University of Toronto, Toronto, Canada"],"raw_orcid":"https://orcid.org/0009-0007-4728-8100","affiliations":[{"raw_affiliation_string":"University of Toronto, Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008249278","display_name":"Ningning Xie","orcid":"https://orcid.org/0000-0002-5961-1493"},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Ningning Xie","raw_affiliation_strings":["University of Toronto, Toronto, Canada"],"raw_orcid":"https://orcid.org/0000-0002-5961-1493","affiliations":[{"raw_affiliation_string":"University of Toronto, Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.04313915,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"10","issue":"POPL","first_page":"568","last_page":"596"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9441999793052673,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9441999793052673,"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/T11424","display_name":"Security and Verification in Computing","score":0.012299999594688416,"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/T12490","display_name":"Software Engineering and Design Patterns","score":0.006399999838322401,"subfield":{"id":"https://openalex.org/subfields/3303","display_name":"Development"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.9182000160217285},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.6279000043869019},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.5709999799728394},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.5425999760627747},{"id":"https://openalex.org/keywords/table","display_name":"Table (database)","score":0.49320000410079956},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4528999924659729},{"id":"https://openalex.org/keywords/row","display_name":"Row","score":0.4180999994277954},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.3955000042915344}],"concepts":[{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.9182000160217285},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7141000032424927},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6812999844551086},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.6279000043869019},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.5709999799728394},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.5425999760627747},{"id":"https://openalex.org/C45235069","wikidata":"https://www.wikidata.org/wiki/Q278425","display_name":"Table (database)","level":2,"score":0.49320000410079956},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.489300012588501},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4528999924659729},{"id":"https://openalex.org/C135598885","wikidata":"https://www.wikidata.org/wiki/Q1366302","display_name":"Row","level":2,"score":0.4180999994277954},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.3955000042915344},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.3750999867916107},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.3357999920845032},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.3296000063419342},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.3043999969959259},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.3037000000476837},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.29809999465942383},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.29100000858306885},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.26820001006126404},{"id":"https://openalex.org/C124978682","wikidata":"https://www.wikidata.org/wiki/Q1201019","display_name":"Proof of concept","level":2,"score":0.259799987077713},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.251800000667572},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.25119999051094055}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3776662","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776662","pdf_url":null,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3776662","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776662","pdf_url":null,"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":null,"license_id":null,"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":[{"id":"https://openalex.org/G7889628558","display_name":null,"funder_award_id":"72068931","funder_id":"https://openalex.org/F4320334593","funder_display_name":"Natural Sciences and Engineering Research Council of Canada"}],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W1506833497","https://openalex.org/W1558115254","https://openalex.org/W2036378583","https://openalex.org/W2091657052","https://openalex.org/W2145108549","https://openalex.org/W2323378191","https://openalex.org/W3004062484","https://openalex.org/W3178506813","https://openalex.org/W3214746205","https://openalex.org/W4230237632","https://openalex.org/W4288278978","https://openalex.org/W4414990075","https://openalex.org/W7090712220"],"related_works":[],"abstract_inverted_index":{"This":[0],"paper":[1],"proposes":[2],"a":[3,45,55],"novel":[4],"language":[5],"design":[6,27,43],"that":[7,64,71],"combines":[8],"extensible":[9,112],"data":[10],"types,":[11],"implemented":[12,22],"through":[13,23],"row":[14,17],"types":[15],"and":[16,32,70],"polymorphism,":[18,21],"with":[19,114],"ad-hoc":[20],"type":[24,99,115],"classes.":[25],"Our":[26],"introduces":[28],"several":[29],"new":[30],"constructs":[31],"constraints":[33],"useful":[34],"for":[35,105,117],"generic":[36],"operations":[37],"over":[38],"rows.":[39],"We":[40,62],"formalize":[41],"our":[42,98],"in":[44,89],"source":[46],"calculus":[47,57,67],"\u03bb":[48,81],"\u03c1":[49,82],"\u21d2":[50,83],",":[51],"which":[52],"elaborates":[53],"into":[54],"target":[56,66],"F":[58],"\u03c9":[59],"\u2297\u2295":[60],".":[61,84],"prove":[63],"the":[65,72,78,90,102,109],"is":[68,74],"type-safe":[69],"elaboration":[73],"sound,":[75],"thus":[76],"establishing":[77],"soundness":[79],"of":[80,111],"All":[85],"proofs":[86],"are":[87],"mechanized":[88],"Lean":[91],"4":[92],"proof":[93],"assistant.":[94],"Furthermore,":[95],"we":[96],"evaluate":[97],"system":[100],"using":[101],"Brown":[103],"Benchmark":[104],"Table":[106],"Types,":[107],"demonstrating":[108],"utility":[110],"rows":[113],"classes":[116],"table":[118],"types.":[119]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2026-01-09T00:00:00"}
