{"id":"https://openalex.org/W4390605281","doi":"https://doi.org/10.1145/3632866","title":"The Essence of Generalized Algebraic Data Types","display_name":"The Essence of Generalized Algebraic Data Types","publication_year":2024,"publication_date":"2024-01-02","ids":{"openalex":"https://openalex.org/W4390605281","doi":"https://doi.org/10.1145/3632866"},"language":"en","primary_location":{"id":"doi:10.1145/3632866","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632866","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632866","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/3632866","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5047754900","display_name":"Filip Sieczkowski","orcid":"https://orcid.org/0000-0001-5011-3458"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Filip Sieczkowski","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0001-5011-3458","affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088739618","display_name":"Sergei Stepanenko","orcid":"https://orcid.org/0000-0002-7322-5644"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Sergei Stepanenko","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-7322-5644","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5016658166","display_name":"Jonathan Sterling","orcid":"https://orcid.org/0000-0002-0585-5564"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Jonathan Sterling","raw_affiliation_strings":["University of Cambridge, Cambridge, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0002-0585-5564","affiliations":[{"raw_affiliation_string":"University of Cambridge, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055959064","display_name":"Lars Birkedal","orcid":"https://orcid.org/0000-0003-1320-0098"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Lars Birkedal","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0000-0003-1320-0098","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.6097,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.84517081,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"8","issue":"POPL","first_page":"695","last_page":"723"},"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.9997000098228455,"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.9997000098228455,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9969000220298767,"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.9940999746322632,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/algebraic-number","display_name":"Algebraic number","score":0.5655239224433899},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.49291205406188965},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.4059154987335205},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.33876854181289673},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.25981301069259644},{"id":"https://openalex.org/keywords/mathematical-analysis","display_name":"Mathematical analysis","score":0.12702006101608276}],"concepts":[{"id":"https://openalex.org/C9376300","wikidata":"https://www.wikidata.org/wiki/Q168817","display_name":"Algebraic number","level":2,"score":0.5655239224433899},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.49291205406188965},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.4059154987335205},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.33876854181289673},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.25981301069259644},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.12702006101608276}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3632866","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632866","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632866","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:pure.atira.dk:openaire/21ce707f-e751-4cab-ab4c-9caa715fd7df","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/21ce707f-e751-4cab-ab4c-9caa715fd7df","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Sieczkowski, F, Stepanenko, S, Sterling, J & Birkedal, L 2024, 'The Essence of Generalized Algebraic Data Types', Proceedings of the ACM on Programming Languages , vol. 8, no. POPL, pp. 695-723. https://doi.org/10.1145/3632866","raw_type":"info:eu-repo/semantics/article"},{"id":"pmh:oai:pure.atira.dk:publications/21ce707f-e751-4cab-ab4c-9caa715fd7df","is_oa":true,"landing_page_url":"https://www.scopus.com/pages/publications/85182274158","pdf_url":"https://pure.au.dk/ws/files/451742917/3632866.pdf","source":{"id":"https://openalex.org/S4306400063","display_name":"Scopus (Elsevier)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Sieczkowski, F, Stepanenko, S, Sterling, J & Birkedal, L 2024, 'The Essence of Generalized Algebraic Data Types', Proceedings of the ACM on Programming Languages , vol. 8, no. POPL, pp. 695-723. https://doi.org/10.1145/3632866","raw_type":"info:eu-repo/semantics/article"},{"id":"pmh:oai:www.repository.cam.ac.uk:1810/363221","is_oa":true,"landing_page_url":"https://www.repository.cam.ac.uk/handle/1810/363221","pdf_url":"https://www.repository.cam.ac.uk/bitstreams/591f4399-99de-47f2-b417-197eceaec53c/download","source":{"id":"https://openalex.org/S4306401777","display_name":"Apollo (University of Cambridge)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I241749","host_organization_name":"University of Cambridge","host_organization_lineage":["https://openalex.org/I241749"],"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":"Article"}],"best_oa_location":{"id":"doi:10.1145/3632866","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632866","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632866","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":[{"id":"https://openalex.org/G3030876172","display_name":null,"funder_award_id":"101065303","funder_id":"https://openalex.org/F4320320217","funder_display_name":"Marie Curie"},{"id":"https://openalex.org/G6851704783","display_name":null,"funder_award_id":"25804","funder_id":"https://openalex.org/F4320310490","funder_display_name":"Villum Fonden"}],"funders":[{"id":"https://openalex.org/F4320310490","display_name":"Villum Fonden","ror":"https://ror.org/007ww2d15"},{"id":"https://openalex.org/F4320320217","display_name":"Marie Curie","ror":"https://ror.org/02aqv1x10"},{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320338337","display_name":"H2020 Marie Sk\u0142odowska-Curie Actions","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4390605281.pdf","grobid_xml":"https://content.openalex.org/works/W4390605281.grobid-xml"},"referenced_works_count":34,"referenced_works":["https://openalex.org/W1527857956","https://openalex.org/W1534018603","https://openalex.org/W1536469717","https://openalex.org/W1949275316","https://openalex.org/W1968424997","https://openalex.org/W1971906578","https://openalex.org/W1980939032","https://openalex.org/W1984514567","https://openalex.org/W1996381722","https://openalex.org/W2056024754","https://openalex.org/W2057292961","https://openalex.org/W2076018351","https://openalex.org/W2102222848","https://openalex.org/W2115617817","https://openalex.org/W2123887510","https://openalex.org/W2125690388","https://openalex.org/W2140647971","https://openalex.org/W2141636159","https://openalex.org/W2155221538","https://openalex.org/W2159591963","https://openalex.org/W2160930653","https://openalex.org/W2166129645","https://openalex.org/W2564286502","https://openalex.org/W2798786901","https://openalex.org/W2901454403","https://openalex.org/W2913811625","https://openalex.org/W2949578585","https://openalex.org/W2963937673","https://openalex.org/W2964121680","https://openalex.org/W3161649146","https://openalex.org/W4205760119","https://openalex.org/W4206532593","https://openalex.org/W4225491786","https://openalex.org/W6948889815"],"related_works":["https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W4391375266","https://openalex.org/W1979597421","https://openalex.org/W2007980826","https://openalex.org/W2061531152","https://openalex.org/W3002753104","https://openalex.org/W2077600819","https://openalex.org/W2142036596","https://openalex.org/W2072657027"],"abstract_inverted_index":{"This":[0],"paper":[1],"considers":[2],"direct":[3],"encodings":[4],"of":[5,23,85,112],"generalized":[6],"algebraic":[7],"data":[8],"types":[9,29],"(GADTs)":[10],"in":[11,51,76,93,153],"a":[12,62,90,103,115,121,134,154],"minimal":[13],"suitable":[14],"lambda-calculus.":[15],"To":[16],"this":[17],"end,":[18],"we":[19,107],"develop":[20],"an":[21],"extension":[22],"System":[24],"F":[25,94],"\u03c9":[26,95],"with":[27,34,78,157],"recursive":[28],"and":[30,43,97,133],"internalized":[31,73],"type":[32,37,74],"equalities":[33,75],"injective":[35],"constant":[36],"constructors.":[38],"We":[39,69],"show":[40],"how":[41],"GADTs":[42],"associated":[44],"pattern-matching":[45],"constructs":[46],"can":[47],"be":[48,59],"directly":[49],"expressed":[50],"the":[52,72,82,86,99,130,141,146],"calculus,":[53],"thus":[54],"showing":[55],"that":[56,71,119,139],"it":[57],"may":[58],"treated":[60],"as":[61],"highly":[63],"idealized":[64],"modern":[65],"functional":[66],"programming":[67],"language.":[68],"prove":[70,98],"conjunction":[77],"injectivity":[79],"rules":[80],"increase":[81],"expressive":[83],"power":[84],"calculus":[87,155],"by":[88],"establishing":[89],"non-macro-expressibility":[91],"result":[92],",":[96],"system":[100],"type-sound":[101],"via":[102],"syntactic":[104],"argument.":[105],"Finally,":[106],"build":[108],"two":[109],"relational":[110],"models":[111],"our":[113],"calculus:":[114],"simple,":[116],"unary":[117],"model":[118,138],"illustrates":[120],"novel,":[122],"two-stage":[123],"interpretation":[124],"technique,":[125],"necessary":[126],"to":[127,143],"account":[128],"for":[129,145],"equational":[131],"constraints;":[132],"more":[135],"sophisticated,":[136],"binary":[137],"relaxes":[140],"construction":[142],"allow,":[144],"first":[147],"time,":[148],"formal":[149],"reasoning":[150],"about":[151],"data-abstraction":[152],"equipped":[156],"GADTs.":[158]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2}],"updated_date":"2026-08-29T07:29:34.045763","created_date":"2025-10-10T00:00:00"}
