{"id":"https://openalex.org/W3148154580","doi":"https://doi.org/10.1007/978-3-030-72019-3_22","title":"Reverse AD at Higher Types: Pure, Principled and Denotationally Correct","display_name":"Reverse AD at Higher Types: Pure, Principled and Denotationally Correct","publication_year":2021,"publication_date":"2021-01-01","ids":{"openalex":"https://openalex.org/W3148154580","doi":"https://doi.org/10.1007/978-3-030-72019-3_22","mag":"3148154580"},"language":"en","primary_location":{"id":"doi:10.1007/978-3-030-72019-3_22","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-72019-3_22","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-72019-3_22.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},"type":"book-chapter","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-72019-3_22.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5031234153","display_name":"Matthijs V\u00e1k\u00e1r","orcid":"https://orcid.org/0000-0003-4603-0523"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Matthijs V\u00e1k\u00e1r","raw_affiliation_strings":["Utrecht University, Utrecht, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Utrecht University, Utrecht, Netherlands","institution_ids":["https://openalex.org/I193662353"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5031234153"],"corresponding_institution_ids":["https://openalex.org/I193662353"],"apc_list":{"value":5000,"currency":"EUR","value_usd":5392},"apc_paid":{"value":5000,"currency":"EUR","value_usd":5392},"fwci":4.3092,"has_fulltext":true,"cited_by_count":13,"citation_normalized_percentile":{"value":0.95244203,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"607","last_page":"634"},"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.9990000128746033,"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.9990000128746033,"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.9958000183105469,"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"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9896000027656555,"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/correctness","display_name":"Correctness","score":0.8520156145095825},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8498432040214539},{"id":"https://openalex.org/keywords/categorical-variable","display_name":"Categorical variable","score":0.6562070250511169},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6187734603881836},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6003901958465576},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5696352124214172},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.5271503329277039},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5005373954772949},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.46947798132896423},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.4377455711364746},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.34399956464767456},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.1654224991798401}],"concepts":[{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.8520156145095825},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8498432040214539},{"id":"https://openalex.org/C5274069","wikidata":"https://www.wikidata.org/wiki/Q2285707","display_name":"Categorical variable","level":2,"score":0.6562070250511169},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6187734603881836},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6003901958465576},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5696352124214172},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.5271503329277039},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5005373954772949},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.46947798132896423},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.4377455711364746},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.34399956464767456},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.1654224991798401},{"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/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","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},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/978-3-030-72019-3_22","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-72019-3_22","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-72019-3_22.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},{"id":"pmh:oai:pubmedcentral.nih.gov:7984537","is_oa":true,"landing_page_url":"https://www.ncbi.nlm.nih.gov/pmc/articles/7984537","pdf_url":null,"source":{"id":"https://openalex.org/S2764455111","display_name":"PubMed Central","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"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":"Programming Languages and Systems","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1007/978-3-030-72019-3_22","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-72019-3_22","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-72019-3_22.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.4300000071525574}],"awards":[{"id":"https://openalex.org/G5115959585","display_name":null,"funder_award_id":"895827","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"}],"funders":[{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3148154580.pdf","grobid_xml":"https://content.openalex.org/works/W3148154580.grobid-xml"},"referenced_works_count":45,"referenced_works":["https://openalex.org/W20138908","https://openalex.org/W53839316","https://openalex.org/W1493411447","https://openalex.org/W1500744869","https://openalex.org/W1505195721","https://openalex.org/W1520174560","https://openalex.org/W1589741152","https://openalex.org/W1594900487","https://openalex.org/W1626042158","https://openalex.org/W1923962694","https://openalex.org/W1965256357","https://openalex.org/W2049362364","https://openalex.org/W2222603224","https://openalex.org/W2296333763","https://openalex.org/W2409783831","https://openalex.org/W2519501411","https://openalex.org/W2794949442","https://openalex.org/W2899771611","https://openalex.org/W2912512531","https://openalex.org/W2914196042","https://openalex.org/W2953384591","https://openalex.org/W2962743500","https://openalex.org/W2966177220","https://openalex.org/W2966295917","https://openalex.org/W2976069993","https://openalex.org/W2980693978","https://openalex.org/W2980945615","https://openalex.org/W2988918532","https://openalex.org/W3007691352","https://openalex.org/W3021448353","https://openalex.org/W3023853936","https://openalex.org/W3041150120","https://openalex.org/W3041191542","https://openalex.org/W3122093772","https://openalex.org/W3123526065","https://openalex.org/W3181070739","https://openalex.org/W4230716512","https://openalex.org/W4235981942","https://openalex.org/W4253428543","https://openalex.org/W6600569212","https://openalex.org/W6602441863","https://openalex.org/W6604860239","https://openalex.org/W6605744180","https://openalex.org/W6607684868","https://openalex.org/W6713134421"],"related_works":["https://openalex.org/W4320074517","https://openalex.org/W2053824427","https://openalex.org/W4233224599","https://openalex.org/W2166753208","https://openalex.org/W1511530761","https://openalex.org/W2264209468","https://openalex.org/W4213453328","https://openalex.org/W2157002568","https://openalex.org/W247933517","https://openalex.org/W1601722070"],"abstract_inverted_index":{"Abstract":[0],"We":[1,42],"show":[2],"how":[3,67],"to":[4,91],"define":[5],"forward-":[6],"and":[7,26],"reverse-mode":[8],"automatic":[9],"differentiation":[10],"source-code":[11],"transformations":[12,21,58,69],"or":[13],"on":[14],"a":[15,38,44,74,102],"standard":[16,75],"higher-order":[17],"functional":[18,24,76],"language.":[19],"The":[20],"generate":[22,59],"purely":[23],"code,":[25],"they":[27],"are":[28],"principled":[29],"in":[30,73],"the":[31,50,57,68,93,99],"sense":[32],"that":[33],"their":[34,53],"definition":[35],"arises":[36],"from":[37],"categorical":[39],"universal":[40],"property.":[41],"give":[43],"semantic":[45],"proof":[46],"of":[47,49,87,101],"correctness":[48],"transformations.":[51],"In":[52],"most":[54],"elegant":[55],"formulation,":[56],"code":[60],"with":[61],"linear":[62,95],"types.":[63],"However,":[64],"we":[65,84],"demonstrate":[66],"can":[70],"be":[71],"implemented":[72],"language":[77],"without":[78],"sacrificing":[79],"correctness.":[80],"To":[81],"do":[82],"so,":[83],"make":[85],"use":[86,100],"abstract":[88],"data":[89],"types":[90],"represent":[92],"required":[94],"types,":[96],"e.g.":[97],"through":[98],"basic":[103],"module":[104],"system.":[105]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":1}],"updated_date":"2026-05-23T08:51:43.019350","created_date":"2025-10-10T00:00:00"}
