{"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":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.8328,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.86451963,"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: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":[],"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":"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/publishedVersion"},{"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"},{"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":"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/publishedVersion"}],"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":{"pdf":true,"grobid_xml":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,92,126],"generalized":[6],"algebraic":[7],"data":[8],"types":[9,36],"(GADTs)":[10],"in":[11,58,83,100,167],"a":[12,69,97,117,129,135,148,168],"minimal":[13],"suitable":[14],"lambda-calculus.":[15],"To":[16],"this":[17],"end,":[18],"we":[19,121],"develop":[20],"an":[21],"extension":[22],"System":[24],"<mml:math":[25,101],"xmlns:mml=\"http://www.w3.org/1998/Math/MathML\"":[26,102],"display=\"inline\">":[27,103],"<mml:msub>":[28,104],"<mml:mi":[29,105],"mathvariant=\"normal\">F</mml:mi>":[30,106],"<mml:mi>\u03c9</mml:mi>":[31,107],"</mml:msub>":[32,108],"</mml:math>":[33,109],"with":[34,41,85,171],"recursive":[35],"and":[37,50,111,147],"internalized":[38,80],"type":[39,44,81],"equalities":[40,82],"injective":[42],"constant":[43],"constructors.":[45],"We":[46,76],"show":[47],"how":[48],"GADTs":[49],"associated":[51],"pattern-matching":[52],"constructs":[53],"can":[54],"be":[55,66],"directly":[56],"expressed":[57],"the":[59,79,89,93,113,144,155,160],"calculus,":[60],"thus":[61],"showing":[62],"that":[63,78,133,153],"it":[64],"may":[65],"treated":[67],"as":[68],"highly":[70],"idealized":[71],"modern":[72],"functional":[73],"programming":[74],"language.":[75],"prove":[77,112],"conjunction":[84],"injectivity":[86],"rules":[87],"increase":[88],"expressive":[90],"power":[91],"calculus":[94,169],"by":[95],"establishing":[96],"non-macro-expressibility":[98],"result":[99],",":[110],"system":[114],"type-sound":[115],"via":[116],"syntactic":[118],"argument.":[119],"Finally,":[120],"build":[122],"two":[123],"relational":[124],"models":[125],"our":[127],"calculus:":[128],"simple,":[130],"unary":[131],"model":[132,152],"illustrates":[134],"novel,":[136],"two-stage":[137],"interpretation":[138],"technique,":[139],"necessary":[140],"to":[141,157],"account":[142],"for":[143,159],"equational":[145],"constraints;":[146],"more":[149],"sophisticated,":[150],"binary":[151],"relaxes":[154],"construction":[156],"allow,":[158],"first":[161],"time,":[162],"formal":[163],"reasoning":[164],"about":[165],"data-abstraction":[166],"equipped":[170],"GADTs.":[172]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
