{"id":"https://openalex.org/W4390604785","doi":"https://doi.org/10.1145/3632921","title":"Explicit Effects and Effect Constraints in ReML","display_name":"Explicit Effects and Effect Constraints in ReML","publication_year":2024,"publication_date":"2024-01-02","ids":{"openalex":"https://openalex.org/W4390604785","doi":"https://doi.org/10.1145/3632921"},"language":"en","primary_location":{"id":"doi:10.1145/3632921","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632921","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632921","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/3632921","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5081028559","display_name":"Martin Elsman","orcid":"https://orcid.org/0000-0002-6061-5993"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":true,"raw_author_name":"Martin Elsman","raw_affiliation_strings":["University of Copenhagen, Copenhagen, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-6061-5993","affiliations":[{"raw_affiliation_string":"University of Copenhagen, Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5081028559"],"corresponding_institution_ids":["https://openalex.org/I124055696"],"apc_list":null,"apc_paid":null,"fwci":0.7203,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.74509122,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":98},"biblio":{"volume":"8","issue":"POPL","first_page":"2370","last_page":"2394"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"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/T10142","display_name":"Formal Methods in Verification","score":0.9980999827384949,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/compiler","display_name":"Compiler","score":0.8429656028747559},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8232090473175049},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6995124816894531},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.6084595322608948},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5383037328720093},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5088784694671631},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4914339780807495},{"id":"https://openalex.org/keywords/restricted-maximum-likelihood","display_name":"Restricted maximum likelihood","score":0.4617166221141815},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.45355042815208435},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.22018113732337952},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.1791979968547821},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.12268301844596863},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.07410469651222229}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8429656028747559},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8232090473175049},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6995124816894531},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.6084595322608948},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5383037328720093},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5088784694671631},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4914339780807495},{"id":"https://openalex.org/C61420037","wikidata":"https://www.wikidata.org/wiki/Q7316301","display_name":"Restricted maximum likelihood","level":3,"score":0.4617166221141815},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.45355042815208435},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.22018113732337952},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.1791979968547821},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.12268301844596863},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.07410469651222229},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C167928553","wikidata":"https://www.wikidata.org/wiki/Q1376021","display_name":"Estimation theory","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3632921","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632921","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632921","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.atira.dk:openaire_cris_publications/d7f1b628-9042-4313-85a2-e6ed9d6e1736","is_oa":true,"landing_page_url":"https://researchprofiles.ku.dk/da/publications/d7f1b628-9042-4313-85a2-e6ed9d6e1736","pdf_url":"https://curis.ku.dk/ws/files/390399938/3632921.pdf","source":{"id":"https://openalex.org/S4306401983","display_name":"Research at the University of Copenhagen (University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I124055696","host_organization_name":"University of Copenhagen","host_organization_lineage":["https://openalex.org/I124055696"],"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":"Elsman , M 2024 , ' Explicit Effects and Effect Constraints in ReML ' , Proceedings of the ACM on Programming Languages , vol. 8 , no. POPL , 79 , pp. 2370-2394 . https://doi.org/10.1145/3632921","raw_type":"article"}],"best_oa_location":{"id":"doi:10.1145/3632921","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632921","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632921","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":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4390604785.pdf","grobid_xml":"https://content.openalex.org/works/W4390604785.grobid-xml"},"referenced_works_count":53,"referenced_works":["https://openalex.org/W1538706620","https://openalex.org/W1972611814","https://openalex.org/W1980939032","https://openalex.org/W1981962444","https://openalex.org/W1988661738","https://openalex.org/W2001218627","https://openalex.org/W2006638707","https://openalex.org/W2007435074","https://openalex.org/W2013766080","https://openalex.org/W2017112188","https://openalex.org/W2017381819","https://openalex.org/W2029649561","https://openalex.org/W2029849818","https://openalex.org/W2032131014","https://openalex.org/W2033540531","https://openalex.org/W2045900383","https://openalex.org/W2046137117","https://openalex.org/W2068457689","https://openalex.org/W2070111977","https://openalex.org/W2074003683","https://openalex.org/W2084861262","https://openalex.org/W2087875803","https://openalex.org/W2095136535","https://openalex.org/W2101085206","https://openalex.org/W2104656753","https://openalex.org/W2109375905","https://openalex.org/W2118002698","https://openalex.org/W2123683215","https://openalex.org/W2131067178","https://openalex.org/W2134801812","https://openalex.org/W2145761885","https://openalex.org/W2152432695","https://openalex.org/W2156268601","https://openalex.org/W2163365446","https://openalex.org/W2508222108","https://openalex.org/W2528770764","https://openalex.org/W2779850521","https://openalex.org/W2995576800","https://openalex.org/W3014236027","https://openalex.org/W3019259517","https://openalex.org/W3033957710","https://openalex.org/W3103594074","https://openalex.org/W3107145433","https://openalex.org/W3122002490","https://openalex.org/W3131361326","https://openalex.org/W4225138414","https://openalex.org/W4235392789","https://openalex.org/W4244257941","https://openalex.org/W4293812587","https://openalex.org/W4379534024","https://openalex.org/W4379537177","https://openalex.org/W4386317475","https://openalex.org/W6968898765"],"related_works":["https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4392500255","https://openalex.org/W4321184925","https://openalex.org/W2255990315","https://openalex.org/W60915090","https://openalex.org/W2025840053","https://openalex.org/W2161692994","https://openalex.org/W3122369893"],"abstract_inverted_index":{"An":[0],"important":[1],"aspect":[2],"of":[3,106],"building":[4],"robust":[5,79],"systems":[6],"that":[7,102,119],"execute":[8],"on":[9,104],"dedicated":[10],"hardware":[11],"and":[12,20,49,70,87],"perhaps":[13],"in":[14,50,66,82,112],"constrained":[15],"environments":[16],"is":[17,95,110],"to":[18,39,54,59,80,88],"control":[19],"manage":[21],"the":[22,43,64,71,83,113],"effects":[23,44,52],"performed":[24,45],"by":[25,46],"program":[26,47,84],"code.":[27],"We":[28],"present":[29],"ReML,":[30],"a":[31,98,115],"higher-order":[32],"statically-typed":[33],"functional":[34],"language,":[35],"which":[36,67,74],"allows":[37],"programmers":[38,58],"be":[40,60],"explicit":[41,61],"about":[42,62],"code":[48,75,86],"particular":[51],"related":[53],"memory":[55,122,127],"management":[56,123,128],"Allowing":[57],"effects,":[63],"regions":[65],"values":[68],"reside,":[69],"constraints":[72],"under":[73],"execute,":[76],"makes":[77],"programs":[78],"changes":[81],"source":[85],"compiler":[89,92,118],"updates,":[90],"including":[91],"optimisations.":[93],"ReML":[94],"integrated":[96],"with":[97],"polymorphic":[99],"inference":[100],"system":[101],"builds":[103],"top":[105],"region-inference,":[107],"as":[108,124],"it":[109],"implemented":[111],"MLKit,":[114],"Standard":[116],"ML":[117],"uses":[120],"region-based":[121],"its":[125],"primary":[126],"scheme.":[129]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":1}],"updated_date":"2026-08-25T07:29:55.448023","created_date":"2025-10-10T00:00:00"}
