{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,9]],"date-time":"2026-06-09T08:41:27Z","timestamp":1780994487095,"version":"3.54.1"},"reference-count":94,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2023,10,16]],"date-time":"2023-10-16T00:00:00Z","timestamp":1697414400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Swedish Research Council","award":["2020-05346"],"award-info":[{"award-number":["2020-05346"]}]},{"name":"The Royal Society of New Zealand Te Aparangi Marsden Fund Te Putea Rangahau a Marsden","award":["CRP1801"],"award-info":[{"award-number":["CRP1801"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2023,10,16]]},"abstract":"<jats:p>Verona is a concurrent object-oriented programming language that organises all the objects in a program into a forest of isolated regions. Memory is managed locally for each region, so programmers can control a program's memory use by adjusting objects' partition into regions, and by setting each region's memory management strategy. A thread can only mutate (allocate, deallocate) objects within one active region---its \"window of mutability\". Memory management costs are localised to the active region, ensuring overheads can be predicted and controlled. Moving the mutability window between regions is explicit, so code can be executed wherever it is required, yet programs remain in control of memory use. An ownership type system based on reference capabilities enforces region isolation, controlling aliasing within and between regions, yet supporting objects moving between regions and threads. Data accesses never need expensive atomic operations, and are always thread-safe.<\/jats:p>","DOI":"10.1145\/3622846","type":"journal-article","created":{"date-parts":[[2023,10,16]],"date-time":"2023-10-16T15:41:29Z","timestamp":1697470889000},"page":"1363-1393","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Reference Capabilities for Flexible Memory Management"],"prefix":"10.1145","volume":"7","author":[{"ORCID":"https:\/\/orcid.org\/0009-0004-0878-3641","authenticated-orcid":false,"given":"Ellen","family":"Arvidsson","sequence":"first","affiliation":[{"name":"Uppsala University, Uppsala, Sweden"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4918-6582","authenticated-orcid":false,"given":"Elias","family":"Castegren","sequence":"additional","affiliation":[{"name":"Uppsala University, Uppsala, Sweden"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-4049-134X","authenticated-orcid":false,"given":"Sylvan","family":"Clebsch","sequence":"additional","affiliation":[{"name":"Azure Research, Microsoft, Austin, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1993-1142","authenticated-orcid":false,"given":"Sophia","family":"Drossopoulou","sequence":"additional","affiliation":[{"name":"Imperial College London, London, United Kingdom"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9036-5692","authenticated-orcid":false,"given":"James","family":"Noble","sequence":"additional","affiliation":[{"name":"Creative Research &amp; Programming, Wellington, New Zealand"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-3937-1260","authenticated-orcid":false,"given":"Matthew J.","family":"Parkinson","sequence":"additional","affiliation":[{"name":"Azure Research, Microsoft, Cambridge, UK"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4269-5408","authenticated-orcid":false,"given":"Tobias","family":"Wrigstad","sequence":"additional","affiliation":[{"name":"Uppsala University, Uppsala, Sweden"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,10,16]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3334480.3383069"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24851-4_1"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1238844.1238850"},{"key":"#cr-split#-e_1_2_1_4_1.1","unstructured":"Ellen Arvidsson Elias Castegren Sylvan Clebsch Sophia Drossopoulou James Noble Matthew J. Parkinson and Tobias Wrigstad. 2023. Reference Capabilities for Flexible Memory Management: Extended Version. arXiv:2309.02983 [cs.PL] 10 https:\/\/doi.org\/10.48550\/arXiv.2309.02983 10.48550\/arXiv.2309.02983"},{"key":"#cr-split#-e_1_2_1_4_1.2","unstructured":"Ellen Arvidsson Elias Castegren Sylvan Clebsch Sophia Drossopoulou James Noble Matthew J. Parkinson and Tobias Wrigstad. 2023. Reference Capabilities for Flexible Memory Management: Extended Version. arXiv:2309.02983 [cs.PL] 10 https:\/\/doi.org\/10.48550\/arXiv.2309.02983"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91652"},{"key":"e_1_2_1_6_1","volume-title":"You can\u2019t spell Trust without Rust. Master\u2019s thesis. Computer Science","author":"Beingessner Aria","unstructured":"Aria Beingessner . 2015. You can\u2019t spell Trust without Rust. Master\u2019s thesis. Computer Science , Carleton University . Aria Beingessner. 2015. You can\u2019t spell Trust without Rust. Master\u2019s thesis. Computer Science, Carleton University."},{"key":"e_1_2_1_7_1","unstructured":"Aria Beingessner. 2019. Learn Rust With Entirely Too Many Linked Lists. https:\/\/rust-unofficial.github.io\/too-many-lists. Accessed 2023-04-14. Aria Beingessner. 2019. Learn Rust With Entirely Too Many Linked Lists. https:\/\/rust-unofficial.github.io\/too-many-lists. Accessed 2023-04-14."},{"key":"e_1_2_1_8_1","unstructured":"Eli Bendersky. 2021. Rust data structures with circular references. eli.thegreenplace.net\/2021\/rust-data-structures-with-circular-references\/. Eli Bendersky. 2021. Rust data structures with circular references. eli.thegreenplace.net\/2021\/rust-data-structures-with-circular-references\/."},{"key":"e_1_2_1_9_1","unstructured":"David Blaser. 2019. Simple Explanation of Complex Lifetime Errors in Rust. Bachelor Thesis ETH Z\u00fcrich. David Blaser. 2019. Simple Explanation of Complex Lifetime Errors in Rust. Bachelor Thesis ETH Z\u00fcrich."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-09766-4_119"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/949344.949443"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504287"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781168"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.370"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36946-9_10"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45337-7_2"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3527320"},{"key":"e_1_2_1_18_1","volume-title":"\u201cbest","author":"Cameron Nicholas","year":"2015","unstructured":"Nicholas Cameron . 2015. What\u2019s the \u201cbest \u201d way to implement a doubly-linked list in Rust? http:\/\/featherweightmusings.blogspot.com\/ 2015 \/04\/graphs-in-rust.html. Accessed 2023-04-14. Nicholas Cameron. 2015. What\u2019s the \u201cbest\u201d way to implement a doubly-linked list in Rust? http:\/\/featherweightmusings.blogspot.com\/2015\/04\/graphs-in-rust.html. Accessed 2023-04-14."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2016.5"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2017.6"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3622852"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582447"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45070-2_9"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36946-9"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-89330-1_11"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286947"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509557"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133896"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064979.1064988"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510107"},{"key":"e_1_2_1_32_1","unstructured":"Russell Cohen. 2018. Why Writing a Linked List in (safe) Rust is So Damned Hard. https:\/\/rcoh.me\/posts\/rust-linked-list-basically-impossible\/. Accessed 2023-04-14. Russell Cohen. 2018. Why Writing a Linked List in (safe) Rust is So Damned Hard. https:\/\/rcoh.me\/posts\/rust-linked-list-basically-impossible\/. Accessed 2023-04-14."},{"key":"e_1_2_1_33_1","unstructured":"2022. 2021 CWE Top 25 Most Dangerous Software Weaknesses. https:\/\/cwe.mitre.org\/top25\/archive\/2021\/2021_cwe_top25.html 2022. 2021 CWE Top 25 Most Dangerous Software Weaknesses. https:\/\/cwe.mitre.org\/top25\/archive\/2021\/2021_cwe_top25.html"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029879"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73589-2_3"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/512429.512439"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796821000010"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3486607.3486747"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349328"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2972206.2972210"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1016848.1016867"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/11693024_2"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/IA3.2016.020"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-89884-1_31"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/277652.277748"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/381694.378815"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3564529"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2020.10"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384619"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/543552.512563"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_12"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984042"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14107-2_17"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.90445"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029883"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/117954.117975"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/130943.130947"},{"key":"e_1_2_1_58_1","unstructured":"Vivian Hu. 2020. Rust Breaks into TIOBE Top 20 Most Popular Programming Languages. June InfoQ. Vivian Hu. 2020. Rust Breaks into TIOBE Top 20 Most Popular Programming Languages. June InfoQ."},{"key":"e_1_2_1_59_1","first-page":"286","article-title":"Design Principles Behind Smalltalk","volume":"6","author":"Ingalls Daniel H.","year":"1981","unstructured":"Daniel H. Ingalls . 1981 . Design Principles Behind Smalltalk . BYTE , 6 , 8 (1981), August , 286 \u2013 298 . Daniel H. Ingalls. 1981. Design Principles Behind Smalltalk. BYTE, 6, 8 (1981), August, 286\u2013298.","journal-title":"BYTE"},{"key":"e_1_2_1_60_1","volume-title":"The garbage collection handbook: the art of automatic memory management","author":"Jones Richard","unstructured":"Richard Jones , Antony Hosking , and Eliot Moss . 2016. The garbage collection handbook: the art of automatic memory management . CRC Press . Richard Jones, Antony Hosking, and Eliot Moss. 2016. The garbage collection handbook: the art of automatic memory management. CRC Press."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371109"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158154"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3418295"},{"key":"e_1_2_1_64_1","volume-title":"The Rust Programming Language (Covers Rust","author":"Klabnik Steve","year":"2018","unstructured":"Steve Klabnik and Carol Nichols . 2019. The Rust Programming Language (Covers Rust 2018 ). No Starch Press. Steve Klabnik and Carol Nichols. 2019. The Rust Programming Language (Covers Rust 2018). No Starch Press."},{"key":"e_1_2_1_65_1","unstructured":"Paul Krill. 2021. Microsoft forms Rust language team. Feb. InfoWorld. Paul Krill. 2021. Microsoft forms Rust language team. Feb. InfoWorld."},{"key":"e_1_2_1_66_1","first-page":"18","article-title":"Report on the Programming Language Euclid","volume":"12","author":"Lampson Butler","year":"1977","unstructured":"Butler Lampson , Jim Horning , Ralph London , Jim Mitchell , and Gerry Popek . 1977 . Report on the Programming Language Euclid . ACM Sigplan Notices , 12 , 3 (1977), March , 18 \u2013 79 . Butler Lampson, Jim Horning, Ralph London, Jim Mitchell, and Gerry Popek. 1977. Report on the Programming Language Euclid. ACM Sigplan Notices, 12, 3 (1977), March, 18\u201379.","journal-title":"ACM Sigplan Notices"},{"key":"e_1_2_1_67_1","volume-title":"Concurrent Programming in Java","author":"Lea Doug","unstructured":"Doug Lea . 1998. Concurrent Programming in Java ( 2 nd ed.). Addison-Wesley . Doug Lea. 1998. Concurrent Programming in Java (2nd ed.). Addison-Wesley.","edition":"2"},{"key":"e_1_2_1_68_1","volume-title":"Object-Oriented Programming in the BETA Programming Language","author":"Madsen Ole Lehrmann","unstructured":"Ole Lehrmann Madsen , Birger M\u00f8ller-Pedersen , and Kristen Nygaard . 1993. Object-Oriented Programming in the BETA Programming Language . Addison-Wesley . Ole Lehrmann Madsen, Birger M\u00f8ller-Pedersen, and Kristen Nygaard. 1993. Object-Oriented Programming in the BETA Programming Language. Addison-Wesley."},{"key":"e_1_2_1_69_1","unstructured":"Paley Li Nicholas Cameron and James Noble. 2012. Sheep Cloning with Ownership Types. In Foundations of Object-Oriented Programming Languages (FOOL). ACM. Paley Li Nicholas Cameron and James Noble. 2012. Sheep Cloning with Ownership Types. In Foundations of Object-Oriented Programming Languages (FOOL). ACM."},{"key":"e_1_2_1_70_1","unstructured":"Per Lid\u00e9n and Stefan Karlsson. 2018. The Z Garbage Collector\u2014Low Latency GC for OpenJDK. http:\/\/cr.openjdk.java.net\/ pliden\/slides\/ZGC-Jfokus-2018.pdf Per Lid\u00e9n and Stefan Karlsson. 2018. The Z Garbage Collector\u2014Low Latency GC for OpenJDK. http:\/\/cr.openjdk.java.net\/ pliden\/slides\/ZGC-Jfokus-2018.pdf"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/52.35588"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814313"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/3519939.3523443"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0054091"},{"key":"e_1_2_1_75_1","volume-title":"\u201cbest","author":"What\u2019s","year":"2023","unstructured":"ndrewxie. 2019. What\u2019s the \u201cbest \u201d way to implement a doubly-linked list in Rust? https:\/\/users.rust-lang.org\/t\/whats-the-best-way-to-implement-a-doubly-linked-list-in-rust\/27899\/7. Accessed 2023 -04-14. ndrewxie. 2019. What\u2019s the \u201cbest\u201d way to implement a doubly-linked list in Rust? https:\/\/users.rust-lang.org\/t\/whats-the-best-way-to-implement-a-doubly-linked-list-in-rust\/27899\/7. Accessed 2023-04-14."},{"key":"e_1_2_1_76_1","doi-asserted-by":"crossref","unstructured":"James Noble Julian Mackay and Tobias Wrigstad. 2022. Rusty Links in Local Chains. In FTfJP. James Noble Julian Mackay and Tobias Wrigstad. 2022. Rusty Links in Local Chains. In FTfJP.","DOI":"10.1145\/3611096.3611097"},{"key":"e_1_2_1_77_1","volume-title":"ECOOP\u201998 \u2014 Object-Oriented Programming","author":"Noble James","unstructured":"James Noble , Jan Vitek , and John Potter . 1998. Flexible Alias Protection . In ECOOP\u201998 \u2014 Object-Oriented Programming , Eric Jul (Ed.). Springer Berlin Heidelberg, Berlin , Heidelberg . 158\u2013185. isbn:978-3-540-69064-1 James Noble, Jan Vitek, and John Potter. 1998. Flexible Alias Protection. In ECOOP\u201998 \u2014 Object-Oriented Programming, Eric Jul (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 158\u2013185. isbn:978-3-540-69064-1"},{"key":"e_1_2_1_78_1","volume-title":"Small Memory Software: Patterns for Systems with Limited Memory","author":"Noble James","unstructured":"James Noble and Charles Weir . 2000. Small Memory Software: Patterns for Systems with Limited Memory . Addison-Wesley . James Noble and Charles Weir. 2000. Small Memory Software: Patterns for Systems with Limited Memory. Addison-Wesley."},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679682100023X"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254766.1254784"},{"key":"e_1_2_1_81_1","doi-asserted-by":"crossref","unstructured":"J. Potter J. Noble and D. Clarke. 1998. The Ins and Outs of Objects. In ASWEC. J. Potter J. Noble and D. Clarke. 1998. The Ins and Outs of Objects. In ASWEC.","DOI":"10.1109\/ASWEC.1998.730915"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_2_1_83_1","unstructured":"Ryan James Spencer. 2020. Four Ways To Avoid The Wrath Of The Borrow Checker. justanotherdot.com. Ryan James Spencer. 2020. Four Ways To Avoid The Wrath Of The Borrow Checker. justanotherdot.com."},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_6"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993478.1993491"},{"key":"e_1_2_1_86_1","volume-title":"TIOBE Index for","year":"2022","unstructured":"2022. TIOBE Index for June 2022 . https:\/\/www.tiobe.com\/tiobe-index\/ 2022. TIOBE Index for June 2022. https:\/\/www.tiobe.com\/tiobe-index\/"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:LISP.0000029446.78563.a4"},{"key":"e_1_2_1_88_1","volume-title":"Tommy H\u00f8jfeld Olesen, and Peter Sestoft","author":"Tofte Mads","year":"2021","unstructured":"Mads Tofte , Lars Birkedal , Martin Elsman , Niels Hallenberg , Tommy H\u00f8jfeld Olesen, and Peter Sestoft . 2021 . Programming with Regions in the MLKit (Revised for Version 4.6.0). Department of Computer Science, University of Copenhagen , Denmark. Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy H\u00f8jfeld Olesen, and Peter Sestoft. 2021. Programming with Regions in the MLKit (Revised for Version 4.6.0). Department of Computer Science, University of Copenhagen, Denmark."},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1006\/inco.1996.2613"},{"key":"e_1_2_1_90_1","unstructured":"Aaron Turon. 2015. Fearless Concurrency with Rust. https:\/\/blog.rust-lang.org\/2015\/04\/10\/Fearless-Concurrency.html Aaron Turon. 2015. Fearless Concurrency with Rust. https:\/\/blog.rust-lang.org\/2015\/04\/10\/Fearless-Concurrency.html"},{"key":"e_1_2_1_91_1","volume-title":"Fourth Australasian Refinement Workshop.","author":"Utting Mark","year":"1995","unstructured":"Mark Utting . 1995 . Reasoning about aliasing . In Fourth Australasian Refinement Workshop. Mark Utting. 1995. Reasoning about aliasing. In Fourth Australasian Refinement Workshop."},{"key":"e_1_2_1_92_1","first-page":"347","article-title":"Linear types can change the world","author":"Wadler Philip","year":"1990","unstructured":"Philip Wadler . 1990 . Linear types can change the world . In IFIP TC. 2, Citeseer , 347 \u2013 359 . Philip Wadler. 1990. Linear types can change the world. In IFIP TC. 2, Citeseer, 347\u2013359.","journal-title":"IFIP TC. 2, Citeseer"},{"key":"e_1_2_1_94_1","doi-asserted-by":"publisher","DOI":"10.1145\/3092255.3092274"},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.1145\/3473597"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3622846","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3622846","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:57:27Z","timestamp":1750298247000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3622846"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,10,16]]},"references-count":94,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2023,10,16]]}},"alternative-id":["10.1145\/3622846"],"URL":"https:\/\/doi.org\/10.1145\/3622846","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,10,16]]},"assertion":[{"value":"2023-10-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}