{"id":"https://openalex.org/W4411267694","doi":"https://doi.org/10.1145/3729321","title":"Handling the Selection Monad","display_name":"Handling the Selection Monad","publication_year":2025,"publication_date":"2025-06-10","ids":{"openalex":"https://openalex.org/W4411267694","doi":"https://doi.org/10.1145/3729321"},"language":"en","primary_location":{"id":"doi:10.1145/3729321","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729321","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3729321","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/3729321","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5070609290","display_name":"Gordon Plotkin","orcid":"https://orcid.org/0000-0001-8496-6096"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Gordon Plotkin","raw_affiliation_strings":["Google DeepMind, Mountain View, USA"],"raw_orcid":"https://orcid.org/0000-0001-8496-6096","affiliations":[{"raw_affiliation_string":"Google DeepMind, Mountain View, USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008249278","display_name":"Ningning Xie","orcid":"https://orcid.org/0000-0002-5961-1493"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]},{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]},{"id":"https://openalex.org/I4210090411","display_name":"Google DeepMind (United Kingdom)","ror":"https://ror.org/00971b260","country_code":"GB","type":"company","lineage":["https://openalex.org/I4210090411","https://openalex.org/I4210128969"]},{"id":"https://openalex.org/I4210148186","display_name":"Google (Canada)","ror":"https://ror.org/04d06q394","country_code":"CA","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969","https://openalex.org/I4210148186"]}],"countries":["CA","GB","US"],"is_corresponding":false,"raw_author_name":"Ningning Xie","raw_affiliation_strings":["Google DeepMind; University of Toronto, Toronto, Canada","Google DeepMind"],"raw_orcid":"https://orcid.org/0000-0002-5961-1493","affiliations":[{"raw_affiliation_string":"Google DeepMind; University of Toronto, Toronto, Canada","institution_ids":["https://openalex.org/I185261750","https://openalex.org/I4210148186"]},{"raw_affiliation_string":"Google DeepMind","institution_ids":["https://openalex.org/I1291425158","https://openalex.org/I4210090411"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.0988,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.83107134,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"9","issue":"PLDI","first_page":"1766","last_page":"1790"},"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.9991999864578247,"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.9991999864578247,"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/T10142","display_name":"Formal Methods in Verification","score":0.9846000075340271,"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"}},{"id":"https://openalex.org/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9670000076293945,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.8224762678146362},{"id":"https://openalex.org/keywords/selection","display_name":"Selection (genetic algorithm)","score":0.6471547484397888},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.47483521699905396},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3497995138168335},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.24814647436141968},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24557217955589294},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.08297055959701538},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.04939255118370056}],"concepts":[{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.8224762678146362},{"id":"https://openalex.org/C81917197","wikidata":"https://www.wikidata.org/wiki/Q628760","display_name":"Selection (genetic algorithm)","level":2,"score":0.6471547484397888},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.47483521699905396},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3497995138168335},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.24814647436141968},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24557217955589294},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.08297055959701538},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.04939255118370056}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3729321","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729321","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3729321","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/3729321","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729321","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3729321","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":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4411267694.pdf","grobid_xml":"https://content.openalex.org/works/W4411267694.grobid-xml"},"referenced_works_count":44,"referenced_works":["https://openalex.org/W166862392","https://openalex.org/W1497793230","https://openalex.org/W1508489761","https://openalex.org/W1517302412","https://openalex.org/W1610317994","https://openalex.org/W1735825634","https://openalex.org/W1830421783","https://openalex.org/W1971752790","https://openalex.org/W1980827618","https://openalex.org/W2007435074","https://openalex.org/W2039430744","https://openalex.org/W2048835253","https://openalex.org/W2086744387","https://openalex.org/W2106315319","https://openalex.org/W2109375905","https://openalex.org/W2113109742","https://openalex.org/W2129902163","https://openalex.org/W2149837936","https://openalex.org/W2151716725","https://openalex.org/W2208976468","https://openalex.org/W2294422796","https://openalex.org/W2510703714","https://openalex.org/W2544085948","https://openalex.org/W2559655401","https://openalex.org/W2561708922","https://openalex.org/W2988918532","https://openalex.org/W2995075587","https://openalex.org/W3042976617","https://openalex.org/W3101155261","https://openalex.org/W3103594074","https://openalex.org/W3123526065","https://openalex.org/W3124307800","https://openalex.org/W3149432941","https://openalex.org/W3167737351","https://openalex.org/W3170236839","https://openalex.org/W3174421213","https://openalex.org/W4211116959","https://openalex.org/W4214717370","https://openalex.org/W4289465120","https://openalex.org/W4307884506","https://openalex.org/W4313351001","https://openalex.org/W4387667212","https://openalex.org/W4403223564","https://openalex.org/W4406166093"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W4226430568","https://openalex.org/W2115785609","https://openalex.org/W2770491433","https://openalex.org/W2754254730","https://openalex.org/W4296959858","https://openalex.org/W2008880956","https://openalex.org/W4385473798"],"abstract_inverted_index":{"The":[0],"selection":[1,8,104,192],"monad":[2,39,193],"on":[3,18,183],"a":[4,19,29,42,81,91,159,176,179,191,205,210],"set":[5],"consists":[6],"of":[7,31,48,52,93,117,145,212],"functions.":[9],"These":[10],"select":[11],"an":[12,32,155],"element":[13],"from":[14,28,58,149],"the":[15,25,38,53,103,110,128,146],"set,":[16],"based":[17],"loss":[20,26,54],"(dually,":[21],"reward)":[22],"function":[23],"giving":[24],"resulting":[27],"choice":[30,123],"element.":[33],"Abadi":[34],"and":[35,66,165,173,196,199,208],"Plotkin":[36],"used":[37],"to":[40,86,122],"model":[41,161],"language":[43,162],"with":[44,178],"operations":[45,138],"making":[46],"choices":[47,63],"computations":[49],"taking":[50],"account":[51],"that":[55,126,142],"would":[56],"arise":[57],"each":[59],"choice.":[60],"However,":[61],"their":[62,150],"were":[64],"optimal,":[65],"they":[67,70],"asked":[68],"if":[69],"could":[71],"instead":[72],"be":[73],"programmer":[74],"provided.":[75],"In":[76,132],"this":[77,133,189],"work,":[78],"we":[79],"present":[80,90,204],"novel":[82],"design":[83],"enabling":[84],"programmers":[85,135],"do":[87],"so.":[88],"We":[89,153,187,202],"version":[92],"algebraic":[94],"effect":[95],"handlers":[96,118],"enriched":[97],"by":[98,102],"computational":[99],"ideas":[100],"inspired":[101],"monad.":[105],"Specifically,":[106],"as":[107,109],"well":[108],"usual":[111],"delimited":[112],"continuations,":[113],"our":[114],"new":[115],"kind":[116],"additionally":[119],"have":[120],"access":[121],"continuations":[124],",":[125,164],"give":[127,154,188,209],"possible":[129,151],"future":[130],"losses.":[131],"way":[134],"can":[136],"write":[137],"implementing":[139],"optimisation":[140],"algorithms":[141],"are":[143],"aware":[144],"losses":[147],"arising":[148],"choices.":[152],"operational":[156],"semantics":[157],"for":[158,175],"higher-order":[160],"\u03bbC":[163],"establish":[166],"desirable":[167],"properties":[168],"including":[169],"progress,":[170],"type":[171],"soundness,":[172],"termination":[174],"subset":[177,190],"mild":[180],"hierarchical":[181],"constraint":[182],"allowable":[184],"operation":[185],"types.":[186],"denotational":[194],"semantics,":[195],"prove":[197],"soundness":[198],"adequacy":[200],"results.":[201],"also":[203],"Haskell":[206],"implementation":[207],"variety":[211],"programming":[213],"examples.":[214]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-08-24T07:32:12.397491","created_date":"2025-10-10T00:00:00"}
