{"id":"https://openalex.org/W4384811769","doi":"https://doi.org/10.1145/3632896","title":"Soundly Handling Linearity","display_name":"Soundly Handling Linearity","publication_year":2024,"publication_date":"2024-01-02","ids":{"openalex":"https://openalex.org/W4384811769","doi":"https://doi.org/10.1145/3632896"},"language":"en","primary_location":{"id":"doi:10.1145/3632896","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632896","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632896","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":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3632896","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103098209","display_name":"Wenhao Tang","orcid":"https://orcid.org/0009-0000-6589-3821"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Wenhao Tang","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0009-0000-6589-3821","affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044923804","display_name":"Daniel Hillerstr\u00f6m","orcid":"https://orcid.org/0000-0003-4730-9315"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Daniel Hillerstr\u00f6m","raw_affiliation_strings":["Huawei Zurich Research Center, Z\u00fcrich, Switzerland"],"raw_orcid":"https://orcid.org/0000-0003-4730-9315","affiliations":[{"raw_affiliation_string":"Huawei Zurich Research Center, Z\u00fcrich, Switzerland","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061903791","display_name":"Sam Lindley","orcid":"https://orcid.org/0000-0002-1360-4714"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Sam Lindley","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0002-1360-4714","affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5067671067","display_name":"J. Garrett Morris","orcid":"https://orcid.org/0000-0002-3992-1080"},"institutions":[{"id":"https://openalex.org/I126307644","display_name":"University of Iowa","ror":"https://ror.org/036jqmy94","country_code":"US","type":"education","lineage":["https://openalex.org/I126307644"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"J. Garrett Morris","raw_affiliation_strings":["University of Iowa, Iowa, USA"],"raw_orcid":"https://orcid.org/0000-0002-3992-1080","affiliations":[{"raw_affiliation_string":"University of Iowa, Iowa, USA","institution_ids":["https://openalex.org/I126307644"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.8378,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.86142947,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":93,"max":98},"biblio":{"volume":"8","issue":"POPL","first_page":"1600","last_page":"1628"},"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.9936000108718872,"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.9921000003814697,"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.9237658977508545},{"id":"https://openalex.org/keywords/linearity","display_name":"Linearity","score":0.8009256720542908},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7410471439361572},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6263293027877808},{"id":"https://openalex.org/keywords/linear-logic","display_name":"Linear logic","score":0.5548386573791504},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.5074126124382019},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4628888964653015},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.458488404750824},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3309951424598694},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.07853224873542786}],"concepts":[{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.9237658977508545},{"id":"https://openalex.org/C77170095","wikidata":"https://www.wikidata.org/wiki/Q1753188","display_name":"Linearity","level":2,"score":0.8009256720542908},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7410471439361572},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6263293027877808},{"id":"https://openalex.org/C28077239","wikidata":"https://www.wikidata.org/wiki/Q841728","display_name":"Linear logic","level":2,"score":0.5548386573791504},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5074126124382019},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4628888964653015},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.458488404750824},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3309951424598694},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.07853224873542786},{"id":"https://openalex.org/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3632896","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632896","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632896","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:2307.09383","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2307.09383","pdf_url":"https://arxiv.org/pdf/2307.09383","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:pure.ed.ac.uk:publications/32a535c5-b61b-4af6-8fa2-976045b9da84","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/32a535c5-b61b-4af6-8fa2-976045b9da84","pdf_url":"https://www.research.ed.ac.uk/files/407801113/Soundly_Handling_TANG_DOA07112023_VOR_CC_BY.pdf","source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"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":"Tang, W, Hillerstr\u00f6m, D, Lindley, S & Morris, J G 2024, 'Soundly Handling Linearity', Proceedings of the ACM on Programming Languages, vol. 8, no. POPL, 54, pp. 1600\u20131628. https://doi.org/10.1145/3632896","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3632896","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632896","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632896","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/G3189292693","display_name":null,"funder_award_id":"MR\\/T043830\\/1","funder_id":"https://openalex.org/F4320314731","funder_display_name":"UK Research and Innovation"}],"funders":[{"id":"https://openalex.org/F4320314731","display_name":"UK Research and Innovation","ror":"https://ror.org/001aqnf71"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4384811769.pdf","grobid_xml":"https://content.openalex.org/works/W4384811769.grobid-xml"},"referenced_works_count":64,"referenced_works":["https://openalex.org/W15833160","https://openalex.org/W20138908","https://openalex.org/W46322832","https://openalex.org/W646636825","https://openalex.org/W1572739102","https://openalex.org/W1831716037","https://openalex.org/W1900140818","https://openalex.org/W1971752790","https://openalex.org/W1980746605","https://openalex.org/W1984766364","https://openalex.org/W2013518037","https://openalex.org/W2033675214","https://openalex.org/W2050801551","https://openalex.org/W2054299141","https://openalex.org/W2093036100","https://openalex.org/W2104200012","https://openalex.org/W2113722134","https://openalex.org/W2129902163","https://openalex.org/W2131067178","https://openalex.org/W2136327713","https://openalex.org/W2143661661","https://openalex.org/W2145029935","https://openalex.org/W2163976959","https://openalex.org/W2184230987","https://openalex.org/W2293168108","https://openalex.org/W2295840408","https://openalex.org/W2484189767","https://openalex.org/W2510433231","https://openalex.org/W2510703714","https://openalex.org/W2561708922","https://openalex.org/W2563592207","https://openalex.org/W2597834528","https://openalex.org/W2766220735","https://openalex.org/W2799182172","https://openalex.org/W2896434942","https://openalex.org/W2899650865","https://openalex.org/W2899873839","https://openalex.org/W2914468402","https://openalex.org/W2949330042","https://openalex.org/W2955613535","https://openalex.org/W2980302423","https://openalex.org/W2995698344","https://openalex.org/W3012366501","https://openalex.org/W3030705729","https://openalex.org/W3038246809","https://openalex.org/W3047969424","https://openalex.org/W3098769964","https://openalex.org/W3100615663","https://openalex.org/W3103017830","https://openalex.org/W3103594074","https://openalex.org/W3103786913","https://openalex.org/W3107145433","https://openalex.org/W3149432941","https://openalex.org/W3170236839","https://openalex.org/W3184092516","https://openalex.org/W4234461277","https://openalex.org/W4242423436","https://openalex.org/W4248324061","https://openalex.org/W4307884506","https://openalex.org/W4307888371","https://openalex.org/W4364373499","https://openalex.org/W4387667212","https://openalex.org/W4393978505","https://openalex.org/W6948782168"],"related_works":["https://openalex.org/W2466303427","https://openalex.org/W1511249877","https://openalex.org/W2109858088","https://openalex.org/W2120421136","https://openalex.org/W2950960864","https://openalex.org/W2889297400","https://openalex.org/W4301300805","https://openalex.org/W874095766","https://openalex.org/W4387686364","https://openalex.org/W156668154"],"abstract_inverted_index":{"We":[0,108,136,163],"propose":[1],"a":[2,35,113,144,165,221,278,298],"novel":[3],"approach":[4],"to":[5,46,48,69,86,115,170,196,226,261],"soundly":[6],"combining":[7],"linear":[8,52,154,181,188],"types":[9],"with":[10,105,123,153],"multi-shot":[11],"effect":[12,65,106,157,161],"handlers.":[13,107,162],"Linear":[14],"type":[15,53,158,259,295],"systems":[16,54,91],"statically":[17],"ensure":[18,116],"that":[19,59,117,173,186,198],"resources":[20,128],"such":[21,92,133],"as":[22,93,112],"file":[23],"handles":[24],"and":[25,160,254,267,297],"communication":[26],"channels":[27],"are":[28,61,119,269],"used":[29,120],"exactly":[30,63],"once.":[31],"Effect":[32],"handlers":[33,66],"provide":[34],"rich":[36],"modular":[37],"programming":[38,95],"abstraction":[39,289],"for":[40,73,81],"implementing":[41],"features":[42],"ranging":[43],"from":[44],"exceptions":[45],"concurrency":[47],"backtracking.":[49],"Whereas":[50],"conventional":[51],"bake":[55],"in":[56,89,121,143,168,183,217],"the":[57,94,124,138,178,184,210,229],"assumption":[58],"continuations":[60,68,118],"invoked":[62,76],"once,":[64],"allow":[67],"be":[70,202],"discarded":[71,191],"(e.g.":[72,80],"exceptions)":[74],"or":[75,192],"more":[77,300],"than":[78],"once":[79],"backtracking).":[82],"This":[83],"mismatch":[84],"leads":[85],"soundness":[87,134,223],"bugs":[88],"existing":[90],"language":[96],"Links":[97,207],",":[98,216,243,287],"which":[99,248],"combines":[100],"linearity":[101,111,125,142,200,266,292],"(for":[102],"session":[103],"types)":[104],"introduce":[109],"control-flow":[110,141,199,232,263,304],"means":[114],"accordance":[122],"of":[126,140,180,212,231,280,283,303],"any":[127],"they":[129],"capture,":[130],"ruling":[131],"out":[132],"bugs.":[135],"formalise":[137],"notion":[139,302],"System":[145],"F-style":[146],"core":[147,238],"calculus":[148,239],"F":[149,174,213,284],"eff":[150,175,214,241,275,285],"\u2218":[151,176,215,242,276,286],"equipped":[152],"types,":[155,247],"an":[156,236],"system,":[159],"define":[164,235],"linearity-aware":[166],"semantics":[167],"order":[169,195],"formally":[171],"prove":[172],"preserves":[177],"integrity":[179],"values":[182],"sense":[185],"no":[187,250],"value":[189],"is":[190],"duplicated.":[193],"In":[194],"show":[197],"can":[201],"made":[203],"practical,":[204],"we":[205,234],"adapt":[206],"based":[208,244],"on":[209,245,258],"design":[211],"doing":[218],"so":[219],"fixing":[220],"long-standing":[222],"bug.":[224],"Finally,":[225],"better":[227],"expose":[228],"potential":[230],"linearity,":[233,291],"ML-style":[237],"Q":[240,274],"qualified":[246,272],"requires":[249],"programmer":[251],"provided":[252],"annotations,":[253],"instead":[255],"relies":[256],"entirely":[257],"inference":[260],"infer":[262],"linearity.":[264,305],"Both":[265],"effects":[268],"captured":[270],"by":[271],"types.":[273],"overcomes":[277],"number":[279],"practical":[281],"limitations":[282],"supporting":[288],"over":[290],"dependencies":[293],"between":[294],"variables,":[296],"much":[299],"fine-grained":[301]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":3}],"updated_date":"2026-08-31T07:19:18.363097","created_date":"2025-10-10T00:00:00"}
