{"id":"https://openalex.org/W4393765321","doi":"https://doi.org/10.1145/3720497","title":"Polymorphic Records for Dynamic Languages","display_name":"Polymorphic Records for Dynamic Languages","publication_year":2025,"publication_date":"2025-04-09","ids":{"openalex":"https://openalex.org/W4393765321","doi":"https://doi.org/10.1145/3720497"},"language":"en","primary_location":{"id":"doi:10.1145/3720497","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3720497","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3720497","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":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3720497","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084702945","display_name":"Giuseppe Castagna","orcid":"https://orcid.org/0000-0003-0951-7535"},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I204730241","display_name":"Universit\u00e9 Paris Cit\u00e9","ror":"https://ror.org/05f82e368","country_code":"FR","type":"education","lineage":["https://openalex.org/I204730241"]},{"id":"https://openalex.org/I4210091437","display_name":"Sorbonne Paris Cit\u00e9","ror":"https://ror.org/001z21q04","country_code":"FR","type":"other","lineage":["https://openalex.org/I4210091437"]},{"id":"https://openalex.org/I4210117673","display_name":"Institut de Recherche en Informatique Fondamentale","ror":"https://ror.org/02krdtz55","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I204730241","https://openalex.org/I4210089394","https://openalex.org/I4210117673","https://openalex.org/I4210139971"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Giuseppe Castagna","raw_affiliation_strings":["CNRS - Universit\u00e9 Paris Cit\u00e9, Paris, France","CNRS - Centre National de la Recherche Scientifique (France)","IRIF (UMR_8243) - Institut de Recherche en Informatique Fondamentale (Universit\u00e9 de Paris\r\nB\u00e2timent Sophie Germain, Case courrier 7014\r\n8 Place Aur\u00e9lie Nemours\r\n75205 Paris Cedex 13 - France)"],"raw_orcid":"https://orcid.org/0000-0003-0951-7535","affiliations":[{"raw_affiliation_string":"CNRS - Universit\u00e9 Paris Cit\u00e9, Paris, France","institution_ids":["https://openalex.org/I1294671590","https://openalex.org/I204730241","https://openalex.org/I4210091437"]},{"raw_affiliation_string":"CNRS - Centre National de la Recherche Scientifique (France)","institution_ids":["https://openalex.org/I1294671590"]},{"raw_affiliation_string":"IRIF (UMR_8243) - Institut de Recherche en Informatique Fondamentale (Universit\u00e9 de Paris\r\nB\u00e2timent Sophie Germain, Case courrier 7014\r\n8 Place Aur\u00e9lie Nemours\r\n75205 Paris Cedex 13 - France)","institution_ids":["https://openalex.org/I204730241","https://openalex.org/I4210117673"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5029529896","display_name":"Lo\u00efc Peyrot","orcid":"https://orcid.org/0000-0002-1398-7460"},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Lo\u00efc Peyrot","raw_affiliation_strings":["IMDEA Software Institute, Madrid, Spain","Institute IMDEA Software [Madrid] (Campus de Montegancedo 28223 Pozuelo de Alarc\u00f3n Madrid - Spain)"],"raw_orcid":"https://orcid.org/0000-0002-1398-7460","affiliations":[{"raw_affiliation_string":"IMDEA Software Institute, Madrid, Spain","institution_ids":["https://openalex.org/I4210162154"]},{"raw_affiliation_string":"Institute IMDEA Software [Madrid] (Campus de Montegancedo 28223 Pozuelo de Alarc\u00f3n Madrid - Spain)","institution_ids":["https://openalex.org/I4210162154"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.0747,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.810048,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":93,"max":97},"biblio":{"volume":"9","issue":"OOPSLA1","first_page":"1464","last_page":"1491"},"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.9998999834060669,"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.9998999834060669,"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/T10142","display_name":"Formal Methods in Verification","score":0.9968000054359436,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9968000054359436,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.9366055727005005},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6289913654327393},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6097951531410217},{"id":"https://openalex.org/keywords/negation","display_name":"Negation","score":0.5738425850868225},{"id":"https://openalex.org/keywords/intersection","display_name":"Intersection (aeronautics)","score":0.5690454840660095},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5546313524246216},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.49938392639160156},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4892258644104004},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.48916199803352356},{"id":"https://openalex.org/keywords/relation","display_name":"Relation (database)","score":0.4710811376571655},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.4629242420196533},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.46280330419540405},{"id":"https://openalex.org/keywords/type-theory","display_name":"Type theory","score":0.45581430196762085},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.41318923234939575},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3753470778465271},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.19358977675437927},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.11646702885627747}],"concepts":[{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.9366055727005005},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6289913654327393},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6097951531410217},{"id":"https://openalex.org/C2185349","wikidata":"https://www.wikidata.org/wiki/Q190558","display_name":"Negation","level":2,"score":0.5738425850868225},{"id":"https://openalex.org/C64543145","wikidata":"https://www.wikidata.org/wiki/Q162942","display_name":"Intersection (aeronautics)","level":2,"score":0.5690454840660095},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5546313524246216},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.49938392639160156},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4892258644104004},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.48916199803352356},{"id":"https://openalex.org/C25343380","wikidata":"https://www.wikidata.org/wiki/Q277521","display_name":"Relation (database)","level":2,"score":0.4710811376571655},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.4629242420196533},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.46280330419540405},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.45581430196762085},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.41318923234939575},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3753470778465271},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.19358977675437927},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.11646702885627747},{"id":"https://openalex.org/C146978453","wikidata":"https://www.wikidata.org/wiki/Q3798668","display_name":"Aerospace engineering","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3720497","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3720497","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3720497","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:arXiv.org:2404.00338","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2404.00338","pdf_url":"https://arxiv.org/pdf/2404.00338","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:HAL:hal-04785499v1","is_oa":false,"landing_page_url":"https://hal.science/hal-04785499","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2025, Proceedings, 9 (OOPSLA1), &#x27E8;10.1145/3720497&#x27E9;","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3720497","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3720497","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3720497","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":[{"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education","score":0.49000000953674316}],"awards":[{"id":"https://openalex.org/G1407311742","display_name":null,"funder_award_id":"GA:101039196","funder_id":"https://openalex.org/F4320334678","funder_display_name":"European Research Council"}],"funders":[{"id":"https://openalex.org/F4320334322","display_name":"HORIZON EUROPE Framework Programme","ror":null},{"id":"https://openalex.org/F4320334678","display_name":"European Research Council","ror":"https://ror.org/0472cxd90"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4393765321.pdf","grobid_xml":"https://content.openalex.org/works/W4393765321.grobid-xml"},"referenced_works_count":32,"referenced_works":["https://openalex.org/W314815265","https://openalex.org/W1506833497","https://openalex.org/W1980939032","https://openalex.org/W1988897846","https://openalex.org/W2022300126","https://openalex.org/W2027657506","https://openalex.org/W2036378583","https://openalex.org/W2047304692","https://openalex.org/W2053228623","https://openalex.org/W2087871591","https://openalex.org/W2092632814","https://openalex.org/W2102699068","https://openalex.org/W2109375905","https://openalex.org/W2110685049","https://openalex.org/W2121038016","https://openalex.org/W2131798111","https://openalex.org/W2149587963","https://openalex.org/W2295020882","https://openalex.org/W2415457035","https://openalex.org/W2510703714","https://openalex.org/W2899873839","https://openalex.org/W3027723509","https://openalex.org/W3107339655","https://openalex.org/W4205786399","https://openalex.org/W4205902771","https://openalex.org/W4307731888","https://openalex.org/W4366327549","https://openalex.org/W4379410848","https://openalex.org/W4386317164","https://openalex.org/W4386324444","https://openalex.org/W4388843416","https://openalex.org/W4396215976"],"related_works":["https://openalex.org/W3027723509","https://openalex.org/W2733168542","https://openalex.org/W2563592207","https://openalex.org/W1510917942","https://openalex.org/W1507723317","https://openalex.org/W2552165488","https://openalex.org/W4298104918","https://openalex.org/W1810290248","https://openalex.org/W2112150205","https://openalex.org/W2561504266"],"abstract_inverted_index":{"We":[0,18,67,94],"study":[1],"row":[2,24,41],"polymorphism":[3],"for":[4,75,97,133],"records":[5],"types":[6,21,34,109],"in":[7,137],"systems":[8,132],"with":[9,73,150],"set-theoretic":[10],"types,":[11],"specifically,":[12],"union,":[13],"intersection,":[14],"and":[15,26,40,79,84,101,104],"negation":[16],"types.":[17],"consider":[19],"record":[20,33,38,51,55],"that":[22,47,88],"embed":[23],"variables":[25,42],"define":[27,68],"a":[28,69,85,151],"subtyping":[29,60,102],"relation":[30],"by":[31,124,140],"interpreting":[32],"into":[35,43],"sets":[36,44],"of":[37,45,50,64,117,128,144],"values,":[39],"rows,":[46],"is,":[48],"\u201cchunks\u201d":[49],"values":[52],"where":[53],"some":[54],"keys":[56],"are":[57],"left":[58],"out:":[59],"is":[61,122],"then":[62],"containment":[63],"the":[65,99,118,125,146],"interpretations.":[66],"\u03bb":[70],"-calculus":[71],"equipped":[72],"operations":[74],"field":[76],"extension,":[77],"selection,":[78],"deletion,":[80],"its":[81],"operational":[82],"semantics,":[83],"type":[86,131,153],"system":[87],"we":[89],"prove":[90],"to":[91,105,113],"be":[92,111],"sound.":[93],"provide":[95],"algorithms":[96],"deciding":[98],"typing":[100],"relations,":[103],"decide":[106],"whether":[107],"two":[108],"can":[110],"instantiated":[112],"make":[114],"one":[115],"subtype":[116],"other.":[119],"This":[120],"research":[121],"motivated":[123],"current":[126],"trend":[127],"defining":[129],"static":[130],"dynamic":[134],"languages":[135],"and,":[136],"our":[138],"case,":[139],"an":[141],"ongoing":[142],"effort":[143],"endowing":[145],"Elixir":[147],"programming":[148],"language":[149],"gradual":[152],"system.":[154]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2025-10-10T00:00:00"}
