{"id":"https://openalex.org/W2969973560","doi":"https://doi.org/10.1145/3408985","title":"Kindly bent to free us","display_name":"Kindly bent to free us","publication_year":2020,"publication_date":"2020-08-02","ids":{"openalex":"https://openalex.org/W2969973560","doi":"https://doi.org/10.1145/3408985","mag":"2969973560"},"language":"en","primary_location":{"id":"doi:10.1145/3408985","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3408985","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3408985","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":"preprint","indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3408985","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5062416594","display_name":"Gabriel Radanne","orcid":"https://orcid.org/0000-0002-2107-7678"},"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"]},{"id":"https://openalex.org/I161046081","display_name":"University of Freiburg","ror":"https://ror.org/0245cg223","country_code":"DE","type":"education","lineage":["https://openalex.org/I161046081"]}],"countries":["DE","FR"],"is_corresponding":false,"raw_author_name":"Gabriel Radanne","raw_affiliation_strings":["Inria, France","Albert-Ludwigs Univ. of Freiburg"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Inria, France","institution_ids":["https://openalex.org/I1326498283"]},{"raw_affiliation_string":"Albert-Ludwigs Univ. of Freiburg","institution_ids":["https://openalex.org/I161046081"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081655484","display_name":"Hannes Saffrich","orcid":"https://orcid.org/0009-0004-7014-754X"},"institutions":[{"id":"https://openalex.org/I161046081","display_name":"University of Freiburg","ror":"https://ror.org/0245cg223","country_code":"DE","type":"education","lineage":["https://openalex.org/I161046081"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Hannes Saffrich","raw_affiliation_strings":["University of Freiburg, Germany","[University of Freiburg,Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Freiburg, Germany","institution_ids":["https://openalex.org/I161046081"]},{"raw_affiliation_string":"[University of Freiburg,Germany]","institution_ids":["https://openalex.org/I161046081"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5000384936","display_name":"Peter Thiemann","orcid":"https://orcid.org/0000-0002-9000-1239"},"institutions":[{"id":"https://openalex.org/I161046081","display_name":"University of Freiburg","ror":"https://ror.org/0245cg223","country_code":"DE","type":"education","lineage":["https://openalex.org/I161046081"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Peter Thiemann","raw_affiliation_strings":["University of Freiburg, Germany","[University of Freiburg,Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Freiburg, Germany","institution_ids":["https://openalex.org/I161046081"]},{"raw_affiliation_string":"[University of Freiburg,Germany]","institution_ids":["https://openalex.org/I161046081"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.00594179,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"4","issue":"ICFP","first_page":"1","last_page":"29"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9994999766349792,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9962000250816345,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/soundness","display_name":"Soundness","score":0.8234978914260864},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7685179710388184},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.7121784090995789},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.588776707649231},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.5594714879989624},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5475812554359436},{"id":"https://openalex.org/keywords/affine-transformation","display_name":"Affine transformation","score":0.5212622284889221},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5013928413391113},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4956706762313843},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.45402437448501587},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.4475105106830597},{"id":"https://openalex.org/keywords/principal","display_name":"Principal (computer security)","score":0.43318772315979004},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17792841792106628},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.1523691713809967},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1265530288219452},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.11671227216720581}],"concepts":[{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.8234978914260864},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7685179710388184},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.7121784090995789},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.588776707649231},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.5594714879989624},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5475812554359436},{"id":"https://openalex.org/C92757383","wikidata":"https://www.wikidata.org/wiki/Q382497","display_name":"Affine transformation","level":2,"score":0.5212622284889221},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5013928413391113},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4956706762313843},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.45402437448501587},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.4475105106830597},{"id":"https://openalex.org/C144559511","wikidata":"https://www.wikidata.org/wiki/Q2986279","display_name":"Principal (computer security)","level":2,"score":0.43318772315979004},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17792841792106628},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.1523691713809967},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1265530288219452},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.11671227216720581},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"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/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/3408985","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3408985","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3408985","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:arXiv.org:1908.09681","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1908.09681","pdf_url":"https://arxiv.org/pdf/1908.09681","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"mag:2969973560","is_oa":true,"landing_page_url":"http://arxiv.org/pdf/1908.09681.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"arXiv (Cornell University)","raw_type":null},{"id":"pmh:oai:HAL:hal-02938020v1","is_oa":true,"landing_page_url":"https://hal.science/hal-02938020","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, 2020, 4 (ICFP), pp.1-29. &#x27E8;10.1145/3408985&#x27E9;","raw_type":"info:eu-repo/semantics/article"},{"id":"doi:10.48550/arxiv.1908.09681","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.1908.09681","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.1145/3408985","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3408985","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3408985","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/G1236030623","display_name":null,"funder_award_id":"TH 665/11-1","funder_id":"https://openalex.org/F4320320879","funder_display_name":"Deutsche Forschungsgemeinschaft"}],"funders":[{"id":"https://openalex.org/F4320320879","display_name":"Deutsche Forschungsgemeinschaft","ror":"https://ror.org/018mejw64"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2969973560.pdf","grobid_xml":"https://content.openalex.org/works/W2969973560.grobid-xml"},"referenced_works_count":39,"referenced_works":["https://openalex.org/W1507723317","https://openalex.org/W1559945648","https://openalex.org/W1784055113","https://openalex.org/W1941373452","https://openalex.org/W1971591193","https://openalex.org/W1976247299","https://openalex.org/W1976764708","https://openalex.org/W1981962444","https://openalex.org/W1998070736","https://openalex.org/W1998344822","https://openalex.org/W2013892605","https://openalex.org/W2032249605","https://openalex.org/W2035448420","https://openalex.org/W2040669676","https://openalex.org/W2057943413","https://openalex.org/W2068457689","https://openalex.org/W2076004629","https://openalex.org/W2093737074","https://openalex.org/W2123691799","https://openalex.org/W2124126159","https://openalex.org/W2137628566","https://openalex.org/W2145029935","https://openalex.org/W2154218921","https://openalex.org/W2390888944","https://openalex.org/W2402424078","https://openalex.org/W2476818328","https://openalex.org/W2510433231","https://openalex.org/W2560908054","https://openalex.org/W2752983867","https://openalex.org/W2766220735","https://openalex.org/W2779850521","https://openalex.org/W2798644064","https://openalex.org/W2898640692","https://openalex.org/W2911865844","https://openalex.org/W2919341221","https://openalex.org/W3022512114","https://openalex.org/W3047969424","https://openalex.org/W4242423436","https://openalex.org/W6730625064"],"related_works":["https://openalex.org/W3047233922","https://openalex.org/W115880509","https://openalex.org/W2188254117","https://openalex.org/W2562397426","https://openalex.org/W2128886249","https://openalex.org/W2048486205","https://openalex.org/W1580969192","https://openalex.org/W3086584368","https://openalex.org/W105397881","https://openalex.org/W2002188117","https://openalex.org/W2129991479","https://openalex.org/W2002506563","https://openalex.org/W1508358016","https://openalex.org/W17417822","https://openalex.org/W2979650553","https://openalex.org/W2885496368","https://openalex.org/W1587667242","https://openalex.org/W171500847","https://openalex.org/W2598552290","https://openalex.org/W2069869386"],"abstract_inverted_index":{"Systems":[0],"programming":[1,56,182],"often":[2,48],"requires":[3],"the":[4,86,99,131,147,151],"manipulation":[5],"of":[6,67,77,88,114,136,142,150],"resources":[7,26,84],"like":[8],"file":[9],"handles,":[10],"network":[11],"connections,":[12],"or":[13],"dynamically":[14],"allocated":[15],"memory.":[16],"Programmers":[17],"need":[18],"to":[19,23,40,50],"follow":[20],"certain":[21],"protocols":[22,30],"handle":[24],"these":[25,29],"correctly.":[27],"Violating":[28],"causes":[31],"bugs":[32,47],"ranging":[33],"from":[34,74],"type":[35,59,107,165,168],"mismatches":[36],"over":[37],"data":[38],"races":[39],"use-after-free":[41],"errors":[42],"and":[43,61,90,119,124,133,167,178],"memory":[44,62],"leaks.":[45],"These":[46],"lead":[49],"security":[51],"vulnerabilities.":[52],"While":[53],"statically":[54],"typed":[55],"languages":[57,101],"guarantee":[58],"soundness":[60],"safety":[63],"by":[64,140],"design,":[65],"most":[66],"them":[68],"do":[69],"not":[70,171],"address":[71],"issues":[72],"arising":[73],"improper":[75],"handling":[76,83],"resources.":[78],"An":[79],"important":[80],"step":[81],"towards":[82],"is":[85,155],"adoption":[87],"linear":[89],"affine":[91,137],"types":[92,104],"that":[93,116],"enforce":[94],"single-threaded":[95],"resource":[96],"usage.":[97],"However,":[98],"few":[100],"supporting":[102],"such":[103],"require":[105,172],"heavy":[106],"annotations.":[108],"We":[109],"present":[110],"Affe,":[111],"an":[112,156],"extension":[113],"ML":[115,152],"manages":[117],"linearity":[118,174],"affinity":[120],"properties":[121],"using":[122],"kinds":[123],"constrained":[125],"types.":[126],"In":[127],"addition":[128],"Affe":[129,145],"supports":[130,179],"exclusive":[132],"shared":[134],"borrowing":[135],"resources,":[138],"inspired":[139],"features":[141,149],"Rust.":[143],"Moreover,":[144],"retains":[146],"defining":[148],"family:":[153],"it":[154],"impure,":[157],"strict,":[158],"functional":[159,181],"expression":[160],"language":[161],"with":[162],"complete":[163],"principal":[164],"inference":[166],"abstraction.":[169],"does":[170],"any":[173],"annotations":[175],"in":[176],"expressions":[177],"common":[180],"idioms.":[183]},"counts_by_year":[],"updated_date":"2026-07-02T09:51:11.867554","created_date":"2025-10-10T00:00:00"}
