{"id":"https://openalex.org/W2887315144","doi":"https://doi.org/10.1145/3236792","title":"Static interpretation of higher-order modules in Futhark: functional GPU programming in the large","display_name":"Static interpretation of higher-order modules in Futhark: functional GPU programming in the large","publication_year":2018,"publication_date":"2018-07-30","ids":{"openalex":"https://openalex.org/W2887315144","doi":"https://doi.org/10.1145/3236792","mag":"2887315144"},"language":"en","primary_location":{"id":"doi:10.1145/3236792","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236792","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236792","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/3236792","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5081028559","display_name":"Martin Elsman","orcid":"https://orcid.org/0000-0002-6061-5993"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Martin Elsman","raw_affiliation_strings":["University of Copenhagen, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034400099","display_name":"Troels Henriksen","orcid":"https://orcid.org/0000-0002-1195-9722"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Troels Henriksen","raw_affiliation_strings":["University of Copenhagen, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026969338","display_name":"Danil Annenkov","orcid":"https://orcid.org/0000-0001-8278-3069"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Danil Annenkov","raw_affiliation_strings":["Inria, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Inria, France","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5080735312","display_name":"Cosmin E. Oancea","orcid":"https://orcid.org/0000-0001-5421-6876"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Cosmin E. Oancea","raw_affiliation_strings":["University of Copenhagen, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.3516,"has_fulltext":true,"cited_by_count":13,"citation_normalized_percentile":{"value":0.85916846,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"2","issue":"ICFP","first_page":"1","last_page":"30"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9957000017166138,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/computer-science","display_name":"Computer science","score":0.83099764585495},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.777485728263855},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6579769849777222},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6086990237236023},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.49877142906188965},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4888738989830017},{"id":"https://openalex.org/keywords/first-generation-programming-language","display_name":"First-generation programming language","score":0.41025155782699585},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.4101675748825073},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.3231222629547119}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.83099764585495},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.777485728263855},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6579769849777222},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6086990237236023},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.49877142906188965},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4888738989830017},{"id":"https://openalex.org/C570499","wikidata":"https://www.wikidata.org/wiki/Q1289116","display_name":"First-generation programming language","level":3,"score":0.41025155782699585},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.4101675748825073},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3231222629547119},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3236792","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236792","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236792","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"},{"id":"pmh:oai:HAL:hal-01883524v1","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-01883524","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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2018, 2 (ICFP), pp.97:1--97:30. &#x27E8;10.1145/3236792&#x27E9;","raw_type":"Journal articles"},{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/49559d10-e0f9-4a28-82d0-279c87fe4a3e","is_oa":false,"landing_page_url":"https://curis.ku.dk/portal/da/publications/static-interpretation-of-higherorder-modules-in-futhark(49559d10-e0f9-4a28-82d0-279c87fe4a3e).html","pdf_url":null,"source":{"id":"https://openalex.org/S4306401983","display_name":"Research at the University of Copenhagen (University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I124055696","host_organization_name":"University of Copenhagen","host_organization_lineage":["https://openalex.org/I124055696"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Elsman , M , Henriksen , T , Annenkov , D & Oancea , C E 2018 , Static Interpretation of Higher-order Modules in Futhark : Functional GPU Programming in the Large . in Proceedings of the ACM on Programming Languages . ICFP edn , vol. 2 , Association for Computing Machinery , pp. 97:1-97:30 . https://doi.org/10.1145/3236792","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.atira.dk:publications/49559d10-e0f9-4a28-82d0-279c87fe4a3e","is_oa":false,"landing_page_url":"https://researchprofiles.ku.dk/da/publications/49559d10-e0f9-4a28-82d0-279c87fe4a3e","pdf_url":null,"source":{"id":"https://openalex.org/S4306401983","display_name":"Research at the University of Copenhagen (University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I124055696","host_organization_name":"University of Copenhagen","host_organization_lineage":["https://openalex.org/I124055696"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Elsman , M , Henriksen , T , Annenkov , D & Oancea , C E 2018 , Static Interpretation of Higher-order Modules in Futhark : Functional GPU Programming in the Large . in Proceedings of the ACM on Programming Languages . ICFP edn , vol. 2 , Association for Computing Machinery , pp. 97:1-97:30 . https://doi.org/10.1145/3236792","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"doi:10.1145/3236792","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236792","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236792","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","id":"https://metadata.un.org/sdg/4","score":0.5699999928474426}],"awards":[],"funders":[{"id":"https://openalex.org/F4320335354","display_name":"Strategic Research Council","ror":null}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2887315144.pdf","grobid_xml":"https://content.openalex.org/works/W2887315144.grobid-xml"},"referenced_works_count":63,"referenced_works":["https://openalex.org/W121172531","https://openalex.org/W427601738","https://openalex.org/W606696939","https://openalex.org/W1546727036","https://openalex.org/W1567587382","https://openalex.org/W1597824249","https://openalex.org/W1967321130","https://openalex.org/W1968029549","https://openalex.org/W1971362449","https://openalex.org/W1975082667","https://openalex.org/W1979811002","https://openalex.org/W1983895125","https://openalex.org/W1987755707","https://openalex.org/W1989760056","https://openalex.org/W1989792478","https://openalex.org/W1995535937","https://openalex.org/W1996060755","https://openalex.org/W1997354605","https://openalex.org/W1997978901","https://openalex.org/W2017383728","https://openalex.org/W2020580827","https://openalex.org/W2024712769","https://openalex.org/W2033619100","https://openalex.org/W2048569219","https://openalex.org/W2050259926","https://openalex.org/W2054056443","https://openalex.org/W2057294029","https://openalex.org/W2059895047","https://openalex.org/W2083310717","https://openalex.org/W2087307736","https://openalex.org/W2087977509","https://openalex.org/W2094455839","https://openalex.org/W2104958979","https://openalex.org/W2110196404","https://openalex.org/W2112708371","https://openalex.org/W2114980032","https://openalex.org/W2118172707","https://openalex.org/W2118567331","https://openalex.org/W2122339407","https://openalex.org/W2127600624","https://openalex.org/W2133639043","https://openalex.org/W2136673842","https://openalex.org/W2143028982","https://openalex.org/W2149837936","https://openalex.org/W2151275061","https://openalex.org/W2152365225","https://openalex.org/W2165264979","https://openalex.org/W2167017930","https://openalex.org/W2472217442","https://openalex.org/W2504869045","https://openalex.org/W2516139633","https://openalex.org/W2517263820","https://openalex.org/W2560961062","https://openalex.org/W2594730095","https://openalex.org/W2644985445","https://openalex.org/W2752862883","https://openalex.org/W2887375098","https://openalex.org/W2911225697","https://openalex.org/W2952040453","https://openalex.org/W3043123483","https://openalex.org/W3163573021","https://openalex.org/W4234171087","https://openalex.org/W4237270226"],"related_works":["https://openalex.org/W3012836300","https://openalex.org/W76619263","https://openalex.org/W3004782279","https://openalex.org/W1579640669","https://openalex.org/W2529002779","https://openalex.org/W1967226206","https://openalex.org/W2356929711","https://openalex.org/W3169832545","https://openalex.org/W4296878212","https://openalex.org/W2152365487"],"abstract_inverted_index":{"We":[0],"present":[1],"a":[2,32,44,47,57,62,82,99],"higher-order":[3],"module":[4,15,96,103,119],"system":[5,60],"for":[6,35,50,114],"the":[7,18,51],"purely":[8],"functional":[9],"data-parallel":[10],"array":[11],"language":[12,16,52,97,108],"Futhark.":[13],"The":[14,41,75,95],"has":[17],"property":[19],"that":[20],"it":[21,29],"is":[22,77,111],"completely":[23],"eliminated":[24],"at":[25],"compile":[26],"time,":[27],"yet":[28],"serves":[30],"as":[31],"powerful":[33],"tool":[34],"organizing":[36],"libraries":[37],"and":[38,46,61,92,106,110],"complete":[39],"programs.":[40],"presentation":[42],"includes":[43],"static":[45,58],"dynamic":[48],"semantics":[49],"in":[53,79],"terms":[54,67,69],"of,":[55],"respectively,":[56],"type":[59,104],"provably":[63],"terminating":[64],"elaboration":[65],"of":[66,70,85,102,118],"into":[68],"an":[71],"underlying":[72],"target":[73],"language.":[74],"development":[76],"formalised":[78],"Coq":[80],"using":[81],"novel":[83],"encoding":[84],"semantic":[86],"objects":[87],"based":[88],"on":[89],"products,":[90],"sets,":[91],"finite":[93],"maps.":[94],"features":[98],"unified":[100],"treatment":[101],"abstraction":[105],"core":[107],"polymorphism":[109],"rich":[112],"enough":[113],"expressing":[115],"practical":[116],"forms":[117],"composition.":[120]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
