{"id":"https://openalex.org/W3114438252","doi":"https://doi.org/10.1145/3434299","title":"Provably space-efficient parallel functional programming","display_name":"Provably space-efficient parallel functional programming","publication_year":2021,"publication_date":"2021-01-04","ids":{"openalex":"https://openalex.org/W3114438252","doi":"https://doi.org/10.1145/3434299","mag":"3114438252"},"language":"en","primary_location":{"id":"doi:10.1145/3434299","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3434299","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3434299","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://dl.acm.org/doi/pdf/10.1145/3434299","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5035801565","display_name":"Jatin Arora","orcid":"https://orcid.org/0000-0001-8302-6844"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jatin Arora","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5052738437","display_name":"Sam Westrick","orcid":"https://orcid.org/0000-0003-2848-9808"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sam Westrick","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5015051107","display_name":"Umut A. Acar","orcid":"https://orcid.org/0000-0002-2623-4986"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Umut A. Acar","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":1.8376,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.84170338,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"5","issue":"POPL","first_page":"1","last_page":"33"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9962999820709229,"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"}},{"id":"https://openalex.org/T10829","display_name":"Interconnection Networks and Systems","score":0.9962999820709229,"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/computer-science","display_name":"Computer science","score":0.8192029595375061},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.785109281539917},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5848436951637268},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.4767378568649292},{"id":"https://openalex.org/keywords/uniform-memory-access","display_name":"Uniform memory access","score":0.46450090408325195},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.45794743299484253},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.4564301371574402},{"id":"https://openalex.org/keywords/determinacy","display_name":"Determinacy","score":0.43589848279953003},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.42947518825531006},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.4237288236618042},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.4200965166091919},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.40661436319351196},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4043188691139221},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.3597464859485626}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8192029595375061},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.785109281539917},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5848436951637268},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.4767378568649292},{"id":"https://openalex.org/C51290061","wikidata":"https://www.wikidata.org/wiki/Q1936765","display_name":"Uniform memory access","level":4,"score":0.46450090408325195},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.45794743299484253},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.4564301371574402},{"id":"https://openalex.org/C58468513","wikidata":"https://www.wikidata.org/wiki/Q1201165","display_name":"Determinacy","level":2,"score":0.43589848279953003},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.42947518825531006},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.4237288236618042},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.4200965166091919},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.40661436319351196},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4043188691139221},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.3597464859485626},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3434299","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3434299","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3434299","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"}],"best_oa_location":{"id":"doi:10.1145/3434299","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3434299","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3434299","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":[{"display_name":"Zero hunger","score":0.8299999833106995,"id":"https://metadata.un.org/sdg/2"}],"awards":[{"id":"https://openalex.org/G1560875024","display_name":"SHF: Medium: Collaborative Research: Automatic Locality Management for Dynamically Scheduled Parallelism","funder_award_id":"1408940","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7587430710","display_name":"SHF: Medium: Algorithmic lambda-Calculus for the Design, Analysis, and Implementation of Parallel Algorithms","funder_award_id":"1901381","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3114438252.pdf","grobid_xml":"https://content.openalex.org/works/W3114438252.grobid-xml"},"referenced_works_count":126,"referenced_works":["https://openalex.org/W57462620","https://openalex.org/W92412884","https://openalex.org/W134879198","https://openalex.org/W158220501","https://openalex.org/W869573524","https://openalex.org/W1482680420","https://openalex.org/W1525599808","https://openalex.org/W1543830735","https://openalex.org/W1567423028","https://openalex.org/W1576762382","https://openalex.org/W1583642359","https://openalex.org/W1811793995","https://openalex.org/W1819989006","https://openalex.org/W1843718812","https://openalex.org/W1931688030","https://openalex.org/W1963506672","https://openalex.org/W1965122136","https://openalex.org/W1965708711","https://openalex.org/W1970603441","https://openalex.org/W1972174903","https://openalex.org/W1972200437","https://openalex.org/W1975579741","https://openalex.org/W1979201594","https://openalex.org/W1981962444","https://openalex.org/W1983225374","https://openalex.org/W1986804682","https://openalex.org/W1993621349","https://openalex.org/W1994257154","https://openalex.org/W1995674161","https://openalex.org/W1995873479","https://openalex.org/W1999241319","https://openalex.org/W1999662401","https://openalex.org/W2000041758","https://openalex.org/W2003607268","https://openalex.org/W2009122662","https://openalex.org/W2010459485","https://openalex.org/W2016559894","https://openalex.org/W2018377917","https://openalex.org/W2019380637","https://openalex.org/W2024929322","https://openalex.org/W2025442455","https://openalex.org/W2028861803","https://openalex.org/W2032401773","https://openalex.org/W2034256728","https://openalex.org/W2036551003","https://openalex.org/W2046525202","https://openalex.org/W2048117434","https://openalex.org/W2048921878","https://openalex.org/W2051600983","https://openalex.org/W2059259057","https://openalex.org/W2062273873","https://openalex.org/W2062372058","https://openalex.org/W2063591933","https://openalex.org/W2065413511","https://openalex.org/W2066952803","https://openalex.org/W2069789831","https://openalex.org/W2072725684","https://openalex.org/W2074802267","https://openalex.org/W2078944436","https://openalex.org/W2085118703","https://openalex.org/W2087875803","https://openalex.org/W2089064856","https://openalex.org/W2095951614","https://openalex.org/W2098297530","https://openalex.org/W2098298678","https://openalex.org/W2098815550","https://openalex.org/W2098903349","https://openalex.org/W2104861744","https://openalex.org/W2105794846","https://openalex.org/W2109065830","https://openalex.org/W2110839939","https://openalex.org/W2113563476","https://openalex.org/W2119816515","https://openalex.org/W2121783057","https://openalex.org/W2125269219","https://openalex.org/W2125650214","https://openalex.org/W2126763866","https://openalex.org/W2130566259","https://openalex.org/W2135490589","https://openalex.org/W2137628566","https://openalex.org/W2140300123","https://openalex.org/W2141157907","https://openalex.org/W2148481016","https://openalex.org/W2148599839","https://openalex.org/W2150848984","https://openalex.org/W2151792522","https://openalex.org/W2157179926","https://openalex.org/W2169347615","https://openalex.org/W2169907127","https://openalex.org/W2170200862","https://openalex.org/W2171537091","https://openalex.org/W2172013743","https://openalex.org/W2176686728","https://openalex.org/W2330123543","https://openalex.org/W2405985696","https://openalex.org/W2436525433","https://openalex.org/W2472681217","https://openalex.org/W2475636809","https://openalex.org/W2507118912","https://openalex.org/W2508222108","https://openalex.org/W2554354717","https://openalex.org/W2624869780","https://openalex.org/W2779850521","https://openalex.org/W2783280912","https://openalex.org/W2799001871","https://openalex.org/W2900397097","https://openalex.org/W2901454403","https://openalex.org/W2913263777","https://openalex.org/W2913891523","https://openalex.org/W2995576800","https://openalex.org/W3015218457","https://openalex.org/W3033203490","https://openalex.org/W3098874119","https://openalex.org/W3113163436","https://openalex.org/W4230609379","https://openalex.org/W4232836277","https://openalex.org/W4237877977","https://openalex.org/W4238347373","https://openalex.org/W4238388226","https://openalex.org/W4240363966","https://openalex.org/W4244157805","https://openalex.org/W4244329725","https://openalex.org/W4248722156","https://openalex.org/W4248901744","https://openalex.org/W4256739278","https://openalex.org/W6649120592"],"related_works":["https://openalex.org/W4317827391","https://openalex.org/W2048436701","https://openalex.org/W1839004754","https://openalex.org/W2107163823","https://openalex.org/W2186451538","https://openalex.org/W2294342103","https://openalex.org/W1496676675","https://openalex.org/W278332018","https://openalex.org/W120656789","https://openalex.org/W2182797201"],"abstract_inverted_index":{"Because":[0],"of":[1,42,95,105,115,172,199,217,259],"its":[2,8],"many":[3],"desirable":[4],"properties,":[5],"such":[6],"as":[7,58,293],"ability":[9],"to":[10,25,82,234,296],"control":[11],"effects":[12],"and":[13,44,60,153,238,254,275,310,316],"thus":[14],"potentially":[15],"disastrous":[16],"race":[17],"conditions,":[18],"functional":[19,36,147],"programming":[20,26],"offers":[21],"a":[22,92,102,166,196,257,263],"viable":[23],"approach":[24,287],"modern":[27],"multicore":[28],"computers.":[29],"Over":[30],"the":[31,113,215,286,297,313],"past":[32],"decade":[33],"several":[34],"parallel":[35,107,148,180],"languages,":[37,50],"typically":[38],"based":[39],"on":[40,97],"dialects":[41],"ML":[43],"Haskell,":[45],"have":[46,52],"been":[47],"developed.":[48],"These":[49],"however,":[51],"traditionally":[53],"underperformed":[54],"procedural":[55],"languages":[56],"(such":[57],"C":[59],"Java).":[61],"The":[62,123,231,269],"primary":[63],"reason":[64],"for":[65,70,87,145,165,208,214,300],"this":[66,98,135],"is":[67,233,272,288],"their":[68],"hunger":[69],"memory,":[71],"which":[72,111,266],"only":[73],"grows":[74],"with":[75,168,228,241,280],"parallelism,":[76],"causing":[77],"traditional":[78],"memory":[79,103,121,142,157,171,229,236,251,260],"management":[80,143],"techniques":[81,144,314],"buckle":[83],"under":[84],"increased":[85],"demand":[86],"memory.":[88,192],"Recent":[89],"work":[90,124,197],"opened":[91],"new":[93],"angle":[94],"attack":[96],"problem":[99],"by":[100,261,290],"identifying":[101],"property":[104],"determinacy-race-free":[106,146],"programs,":[108,149],"called":[109],"disentanglement,":[110],"limits":[112],"knowledge":[114],"concurrent":[116],"computations":[117],"about":[118],"each":[119,247],"other\u2019s":[120],"allocations.":[122],"has":[125],"showed":[126],"some":[127],"promise":[128],"in":[129],"delivering":[130],"good":[131],"time":[132],"scalability.":[133],"In":[134],"paper,":[136],"we":[137,224,267],"present":[138],"provably":[139],"space-efficient":[140],"automatic":[141],"allowing":[150],"both":[151],"pure":[152],"imperative":[154],"programs":[155],"where":[156],"may":[158],"be":[159],"destructively":[160],"updated.":[161],"We":[162,193,283],"prove":[163,195],"that":[164,246,285,312],"program":[167],"sequential":[169],"live":[170],"R":[173,187,204],"*":[174,188,205],",":[175],"any":[176],"P":[177,190,206,209],"-processor":[178,210],"garbage-collected":[179],"run":[181],"requires":[182],"at":[183],"most":[184],"O":[185,200],"(":[186,201],"\u00b7":[189],")":[191,207],"also":[194,213],"bound":[198],"W":[202],"+":[203],"executions,":[211],"accounting":[212],"cost":[216],"garbage":[218,239],"collection.":[219],"To":[220],"achieve":[221],"these":[222],"results,":[223],"integrate":[225],"thread":[226,242],"scheduling":[227,243],"management.":[230],"idea":[232],"coordinate":[235],"allocation":[237],"collection":[240,264,270],"decisions":[244],"so":[245],"processor":[248],"can":[249],"allocate":[250],"without":[252],"synchronization":[253],"independently":[255],"collect":[256],"portion":[258],"consulting":[262],"policy,":[265],"formulate.":[268],"policy":[271],"fully":[273],"distributed":[274],"does":[276],"not":[277],"require":[278],"communicating":[279],"other":[281],"processors.":[282],"show":[284,311],"practical":[289],"implementing":[291],"it":[292],"an":[294],"extension":[295],"MPL":[298],"compiler":[299],"Parallel":[301],"ML.":[302],"Our":[303],"experimental":[304],"results":[305],"confirm":[306],"our":[307],"theoretical":[308],"bounds":[309],"perform":[315],"scale":[317],"well.":[318]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":3},{"year":2021,"cited_by_count":1}],"updated_date":"2026-08-06T08:24:18.245995","created_date":"2025-10-10T00:00:00"}
