{"id":"https://openalex.org/W4401596829","doi":"https://doi.org/10.1145/3674642","title":"Oxidizing OCaml with Modal Memory Management","display_name":"Oxidizing OCaml with Modal Memory Management","publication_year":2024,"publication_date":"2024-08-15","ids":{"openalex":"https://openalex.org/W4401596829","doi":"https://doi.org/10.1145/3674642"},"language":"en","primary_location":{"id":"doi:10.1145/3674642","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3674642","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","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3674642","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017738891","display_name":"Anton Lorenzen","orcid":"https://orcid.org/0000-0003-3538-9688"},"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":"Anton Lorenzen","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0003-3538-9688","affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034258018","display_name":"Leo White","orcid":"https://orcid.org/0009-0003-7046-3035"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Leo White","raw_affiliation_strings":["Jane Street, London, United Kingdom"],"raw_orcid":"https://orcid.org/0009-0003-7046-3035","affiliations":[{"raw_affiliation_string":"Jane Street, London, United Kingdom","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5093657661","display_name":"Stephen Dolan","orcid":"https://orcid.org/0000-0002-4609-9101"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Stephen Dolan","raw_affiliation_strings":["Jane Street, London, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0002-4609-9101","affiliations":[{"raw_affiliation_string":"Jane Street, London, United Kingdom","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082913747","display_name":"Richard A. Eisenberg","orcid":"https://orcid.org/0000-0002-7669-9781"},"institutions":[{"id":"https://openalex.org/I26128692","display_name":"The Jane Goodall Institute","ror":"https://ror.org/029d3gv02","country_code":"US","type":"nonprofit","lineage":["https://openalex.org/I26128692"]},{"id":"https://openalex.org/I4401726835","display_name":"Jane Street (United States)","ror":"https://ror.org/05p5v2j38","country_code":null,"type":"company","lineage":["https://openalex.org/I4401726835"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Richard A. Eisenberg","raw_affiliation_strings":["Jane Street, NYC, USA"],"raw_orcid":"https://orcid.org/0000-0002-7669-9781","affiliations":[{"raw_affiliation_string":"Jane Street, NYC, USA","institution_ids":["https://openalex.org/I26128692","https://openalex.org/I4401726835"]}]},{"author_position":"last","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"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.3805,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.89811646,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"8","issue":"ICFP","first_page":"485","last_page":"514"},"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.9943000078201294,"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.9943000078201294,"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.9905999898910522,"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/T11407","display_name":"Innovative Microfluidic and Catalytic Techniques Innovation","score":0.9768000245094299,"subfield":{"id":"https://openalex.org/subfields/2204","display_name":"Biomedical Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/modal","display_name":"Modal","score":0.5334753394126892},{"id":"https://openalex.org/keywords/oxidizing-agent","display_name":"Oxidizing agent","score":0.5110853910446167},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.47757986187934875},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39413902163505554},{"id":"https://openalex.org/keywords/materials-science","display_name":"Materials science","score":0.1486726999282837},{"id":"https://openalex.org/keywords/chemistry","display_name":"Chemistry","score":0.07049494981765747},{"id":"https://openalex.org/keywords/composite-material","display_name":"Composite material","score":0.06050443649291992}],"concepts":[{"id":"https://openalex.org/C71139939","wikidata":"https://www.wikidata.org/wiki/Q910194","display_name":"Modal","level":2,"score":0.5334753394126892},{"id":"https://openalex.org/C77176794","wikidata":"https://www.wikidata.org/wiki/Q187689","display_name":"Oxidizing agent","level":2,"score":0.5110853910446167},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.47757986187934875},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39413902163505554},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.1486726999282837},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.07049494981765747},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.06050443649291992},{"id":"https://openalex.org/C178790620","wikidata":"https://www.wikidata.org/wiki/Q11351","display_name":"Organic chemistry","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3674642","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3674642","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","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:pure.ed.ac.uk:openaire/99507fde-df9e-4878-b2d3-0e389ad92b44","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/99507fde-df9e-4878-b2d3-0e389ad92b44","pdf_url":"https://www.research.ed.ac.uk/files/475247237/LorenzenEtalPACMPL2024OxidizingOCamlWith.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":"Lorenzen, A, White, L, Dolan, S, Eisenberg, R A & Lindley, S 2024, 'Oxidizing OCaml with modal memory management', Proceedings of the ACM on Programming Languages, vol. 8, no. ICFP, 253, pp. 485-514. https://doi.org/10.1145/3674642","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.ed.ac.uk:publications/99507fde-df9e-4878-b2d3-0e389ad92b44","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/files/475247237/LorenzenEtalPACMPL2024OxidizingOCamlWith.pdf","pdf_url":null,"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":"Lorenzen, A, White, L, Dolan, S, Eisenberg, R A & Lindley, S 2024, 'Oxidizing OCaml with modal memory management', Proceedings of the ACM on Programming Languages, vol. 8, no. ICFP, 253, pp. 485-514. https://doi.org/10.1145/3674642","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3674642","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3674642","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","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/G2989041308","display_name":null,"funder_award_id":"Future Leaders Fellowship MR/T043830/1 (EHOP)","funder_id":"https://openalex.org/F4320314731","funder_display_name":"UK Research and Innovation"},{"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":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":45,"referenced_works":["https://openalex.org/W111511002","https://openalex.org/W1491698270","https://openalex.org/W1503535982","https://openalex.org/W1963569294","https://openalex.org/W1967544098","https://openalex.org/W1971591193","https://openalex.org/W1971906578","https://openalex.org/W2033540531","https://openalex.org/W2052822938","https://openalex.org/W2087359745","https://openalex.org/W2121408440","https://openalex.org/W2136327713","https://openalex.org/W2137282578","https://openalex.org/W2138051462","https://openalex.org/W2145029935","https://openalex.org/W2154218921","https://openalex.org/W2267766518","https://openalex.org/W2293895310","https://openalex.org/W2515656721","https://openalex.org/W2740956688","https://openalex.org/W2762273594","https://openalex.org/W2766220735","https://openalex.org/W2798013195","https://openalex.org/W2799182172","https://openalex.org/W2964755768","https://openalex.org/W2999554463","https://openalex.org/W3030119148","https://openalex.org/W3040288220","https://openalex.org/W3047163819","https://openalex.org/W3112414036","https://openalex.org/W3117925125","https://openalex.org/W4226031883","https://openalex.org/W4226204098","https://openalex.org/W4230341943","https://openalex.org/W4233723952","https://openalex.org/W4234461277","https://openalex.org/W4238949052","https://openalex.org/W4241006348","https://openalex.org/W4288014869","https://openalex.org/W4297816582","https://openalex.org/W4323557380","https://openalex.org/W4366503982","https://openalex.org/W4384811769","https://openalex.org/W4386317020","https://openalex.org/W4388926641"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2327766684","https://openalex.org/W2354810034","https://openalex.org/W2517199759","https://openalex.org/W1971734251","https://openalex.org/W2358923205","https://openalex.org/W2386584131","https://openalex.org/W2313860265","https://openalex.org/W2384974966"],"abstract_inverted_index":{"Programmers":[0],"can":[1,30,87],"often":[2],"improve":[3],"the":[4,17,108],"performance":[5],"of":[6,64,110],"their":[7],"programs":[8],"by":[9,14,57],"reducing":[10],"heap":[11],"allocations:":[12],"either":[13],"allocating":[15],"on":[16,48,69],"stack":[18,59],"or":[19],"reusing":[20],"existing":[21,83],"memory":[22,95],"in-place.":[23],"However,":[24],"without":[25],"safety":[26],"guarantees,":[27],"these":[28],"optimizations":[29],"easily":[31],"lead":[32],"to":[33,53,112],"use-after-free":[34],"errors":[35],"and":[36,61,75,86,100,102],"even":[37],"type":[38],"unsoundness.":[39],"In":[40],"this":[41],"paper,":[42],"we":[43],"present":[44],"a":[45,104],"design":[46],"based":[47],"modes":[49],"which":[50],"allows":[51],"programmers":[52],"safely":[54],"reduce":[55],"allocations":[56],"using":[58],"allocation":[60],"in-place":[62],"updates":[63],"immutable":[65],"structures.":[66],"We":[67],"focus":[68],"three":[70],"mode":[71],"axes:":[72],"affinity,":[73],"uniqueness":[74],"locality.":[76],"Modes":[77],"are":[78],"fully":[79],"backwards":[80],"compatible":[81],"with":[82],"OCaml":[84,98],"code":[85],"be":[88],"completely":[89],"inferred.":[90],"Our":[91],"work":[92],"makes":[93],"manual":[94],"management":[96],"in":[97],"safe":[99],"convenient":[101],"charts":[103],"path":[105],"towards":[106],"bringing":[107],"benefits":[109],"Rust":[111],"OCaml.":[113]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":9}],"updated_date":"2026-08-04T08:18:43.703281","created_date":"2025-10-10T00:00:00"}
