{"id":"https://openalex.org/W2936237205","doi":"https://doi.org/10.1145/3341706","title":"Higher-order type-level programming in Haskell","display_name":"Higher-order type-level programming in Haskell","publication_year":2019,"publication_date":"2019-07-26","ids":{"openalex":"https://openalex.org/W2936237205","doi":"https://doi.org/10.1145/3341706","mag":"2936237205"},"language":"en","primary_location":{"id":"doi:10.1145/3341706","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341706","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341706","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://dl.acm.org/doi/pdf/10.1145/3341706","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5075863493","display_name":"Csongor Kiss","orcid":"https://orcid.org/0000-0001-5170-5965"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Csongor Kiss","raw_affiliation_strings":["Imperial College London, UK"],"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019333691","display_name":"Tony Field","orcid":null},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tony Field","raw_affiliation_strings":["Imperial College London, UK"],"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060800643","display_name":"Susan Eisenbach","orcid":"https://orcid.org/0000-0001-9072-6689"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Susan Eisenbach","raw_affiliation_strings":["Imperial College London, UK"],"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027817074","display_name":"Simon Peyton Jones","orcid":"https://orcid.org/0000-0002-6085-1435"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Simon Peyton Jones","raw_affiliation_strings":["Microsoft Research, UK"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, UK","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5075863493"],"corresponding_institution_ids":["https://openalex.org/I47508984"],"apc_list":null,"apc_paid":null,"fwci":0.9801,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.81697186,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"3","issue":"ICFP","first_page":"1","last_page":"26"},"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.9998000264167786,"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.9998000264167786,"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.9927999973297119,"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/T10260","display_name":"Software Engineering Research","score":0.9901000261306763,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/haskell","display_name":"Haskell","score":0.976026177406311},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.8791323900222778},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6936326622962952},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6699861288070679},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6656812429428101},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.6049187183380127},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5304350852966309},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5111621022224426},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.41985422372817993}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.976026177406311},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.8791323900222778},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6936326622962952},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6699861288070679},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6656812429428101},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.6049187183380127},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5304350852966309},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5111621022224426},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.41985422372817993},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3341706","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341706","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341706","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/3341706","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341706","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341706","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":[{"display_name":"Quality Education","score":0.5,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2936237205.pdf","grobid_xml":"https://content.openalex.org/works/W2936237205.grobid-xml"},"referenced_works_count":26,"referenced_works":["https://openalex.org/W775976006","https://openalex.org/W1575675278","https://openalex.org/W1614164110","https://openalex.org/W1968424997","https://openalex.org/W1984514567","https://openalex.org/W2007492338","https://openalex.org/W2009775190","https://openalex.org/W2023266231","https://openalex.org/W2043416466","https://openalex.org/W2050702141","https://openalex.org/W2058162377","https://openalex.org/W2069858276","https://openalex.org/W2093737074","https://openalex.org/W2093896470","https://openalex.org/W2107214848","https://openalex.org/W2112474400","https://openalex.org/W2125690388","https://openalex.org/W2129777450","https://openalex.org/W2134394225","https://openalex.org/W2136758562","https://openalex.org/W2494122154","https://openalex.org/W2539859881","https://openalex.org/W2735673197","https://openalex.org/W2913347981","https://openalex.org/W2966631854","https://openalex.org/W4213422035"],"related_works":["https://openalex.org/W2111594816","https://openalex.org/W1601811574","https://openalex.org/W1481383228","https://openalex.org/W2744451700","https://openalex.org/W3122287590","https://openalex.org/W2936237205","https://openalex.org/W2520254002","https://openalex.org/W1592890940","https://openalex.org/W1827112781","https://openalex.org/W1434978938"],"abstract_inverted_index":{"Type":[0],"family":[1],"applications":[2],"in":[3,83],"Haskell":[4],"must":[5],"be":[6,17],"fully":[7],"saturated.":[8],"This":[9],"means":[10],"that":[11,22,37,54],"all":[12],"type-level":[13,85,89],"functions":[14],"have":[15],"to":[16,20,35,77],"first-order,":[18],"leading":[19],"code":[21,94],"is":[23,67],"both":[24],"messy":[25],"and":[26,96],"longwinded.":[27],"In":[28],"this":[29,39],"paper":[30],"we":[31],"detail":[32],"an":[33,49],"extension":[34],"GHC":[36],"removes":[38],"restriction.":[40],"We":[41,69],"augment":[42],"Haskell\u2019s":[43],"existing":[44],"type":[45,59],"arrow,":[46,51],"|-&gt;|,":[47],"with":[48],"unmatchable":[50],"|":[52],"&gt;|,":[53],"supports":[55],"partial":[56],"application":[57],"of":[58,87],"families":[60],"without":[61],"compromising":[62],"soundness.":[63],"A":[64],"soundness":[65],"proof":[66],"provided.":[68],"show":[70],"how":[71],"the":[72,84],"techniques":[73],"described":[74],"can":[75],"lead":[76],"substantial":[78],"code-size":[79],"reduction":[80],"(circa":[81],"80%)":[82],"logic":[86],"commonly-used":[88],"libraries":[90],"whilst":[91],"simultaneously":[92],"improving":[93],"quality":[95],"readability.":[97]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
