{"id":"https://openalex.org/W4412989468","doi":"https://doi.org/10.1145/3747524","title":"Correctness Meets Performance: From Agda to Futhark","display_name":"Correctness Meets Performance: From Agda to Futhark","publication_year":2025,"publication_date":"2025-08-05","ids":{"openalex":"https://openalex.org/W4412989468","doi":"https://doi.org/10.1145/3747524"},"language":"en","primary_location":{"id":"doi:10.1145/3747524","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3747524","pdf_url":null,"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-sa","license_id":"https://openalex.org/licenses/cc-by-sa","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://doi.org/10.1145/3747524","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017082458","display_name":"Artjoms \u0160inkarovs","orcid":"https://orcid.org/0000-0003-3292-2985"},"institutions":[{"id":"https://openalex.org/I43439940","display_name":"University of Southampton","ror":"https://ror.org/01ryk1543","country_code":"GB","type":"education","lineage":["https://openalex.org/I43439940"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Artjoms \u0160inkarovs","raw_affiliation_strings":["University of Southampton, Southampton, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Southampton, Southampton, United Kingdom","institution_ids":["https://openalex.org/I43439940"]}]},{"author_position":"last","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, Copenhagen, Denmark"],"affiliations":[{"raw_affiliation_string":"University of Copenhagen, Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5017082458"],"corresponding_institution_ids":["https://openalex.org/I43439940"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.21407376,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"ICFP","first_page":"567","last_page":"596"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T12303","display_name":"Tensor decomposition and applications","score":0.9850000143051147,"subfield":{"id":"https://openalex.org/subfields/2605","display_name":"Computational Mathematics"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13650","display_name":"Computational Physics and Python Applications","score":0.9830999970436096,"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/programming-language","display_name":"Programming language","score":0.7586108446121216},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7191837430000305},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6744218468666077}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7586108446121216},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7191837430000305},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6744218468666077}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3747524","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3747524","pdf_url":null,"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-sa","license_id":"https://openalex.org/licenses/cc-by-sa","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_cris_publications/920b2493-5c06-43ae-9976-747b823dedeb","is_oa":true,"landing_page_url":"https://researchprofiles.ku.dk/da/publications/920b2493-5c06-43ae-9976-747b823dedeb","pdf_url":"https://curis.ku.dk/ws/files/523049762/Correctness_Meets_Performance.pdf","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":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Sinkarovs , A & Henriksen , T 2025 , ' Correctness Meets Performance : From Agda to Futhark ' , Proceedings of the Acm on Programming Languages-pacmpl , vol. 9 , no. ICFP , 255 . https://doi.org/10.1145/3747524","raw_type":"article"}],"best_oa_location":{"id":"doi:10.1145/3747524","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3747524","pdf_url":null,"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-sa","license_id":"https://openalex.org/licenses/cc-by-sa","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":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":37,"referenced_works":["https://openalex.org/W1019939734","https://openalex.org/W1765415708","https://openalex.org/W1844712737","https://openalex.org/W1996747354","https://openalex.org/W2005192022","https://openalex.org/W2007339694","https://openalex.org/W2039138656","https://openalex.org/W2079640625","https://openalex.org/W2104958979","https://openalex.org/W2116813111","https://openalex.org/W2158094629","https://openalex.org/W2159419736","https://openalex.org/W2402209726","https://openalex.org/W2509681955","https://openalex.org/W2510726753","https://openalex.org/W2564286502","https://openalex.org/W2884724299","https://openalex.org/W2914196042","https://openalex.org/W2962727772","https://openalex.org/W2976069993","https://openalex.org/W2994999218","https://openalex.org/W3122093772","https://openalex.org/W3195241200","https://openalex.org/W4205614912","https://openalex.org/W4206834996","https://openalex.org/W4225158182","https://openalex.org/W4236324644","https://openalex.org/W4238358364","https://openalex.org/W4240072532","https://openalex.org/W4287285802","https://openalex.org/W4295312788","https://openalex.org/W4379512454","https://openalex.org/W4384389552","https://openalex.org/W4385804225","https://openalex.org/W4386316385","https://openalex.org/W4386316509","https://openalex.org/W6638908295"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W3008339103","https://openalex.org/W1667647204","https://openalex.org/W2404647514","https://openalex.org/W4247536566","https://openalex.org/W4241418540","https://openalex.org/W2018477250","https://openalex.org/W3119814709"],"abstract_inverted_index":{"In":[0],"this":[1],"paper":[2],"we":[3,20,42,58],"demonstrate":[4,116],"a":[5,17,22,51,64,97,130],"technique":[6],"for":[7,66,83,110],"developing":[8],"high":[9],"performance":[10,123],"applications":[11],"with":[12,80],"strong":[13],"correctness":[14,30],"guarantees.":[15],"Using":[16],"theorem":[18,40],"prover,":[19,41],"derive":[21],"high-level":[23],"specification":[24],"of":[25,32,46,54,124],"the":[26,38,47,87,103,107,111,118,122],"application":[27,49],"that":[28,71,117],"includes":[29],"invariants":[31],"our":[33,55],"choice.":[34,56],"After":[35],"that,":[36],"within":[37,102],"same":[39],"implement":[43],"an":[44,81],"extraction":[45],"specified":[48],"into":[50,93],"high-performance":[52],"language":[53],"Concretely,":[57],"are":[59],"using":[60],"Agda":[61],"to":[62,89],"specify":[63,96],"framework":[65,78],"automatic":[67],"differentiation":[68],"(reverse":[69],"mode)":[70],"is":[72],"focused":[73],"on":[74,129],"index-safe":[75],"tensors.":[76],"This":[77],"comes":[79],"optimiser":[82],"tensor":[84],"expressions":[85,92],"and":[86,114],"ability":[88],"translate":[90],"these":[91],"Futhark.":[94],"We":[95],"canonical":[98],"convolutional":[99],"neural":[100],"network":[101],"proposed":[104],"framework,":[105],"compute":[106],"derivatives":[108],"needed":[109],"training":[112],"phase":[113],"then":[115],"generated":[119],"code":[120,126],"approaches":[121],"TensorFlow":[125],"when":[127],"running":[128],"GPU.":[131]},"counts_by_year":[],"updated_date":"2026-03-09T08:58:05.943551","created_date":"2025-10-10T00:00:00"}
