{"id":"https://openalex.org/W4409310641","doi":"https://doi.org/10.1145/3720434","title":"Notions of Stack-Manipulating Computation and Relative Monads","display_name":"Notions of Stack-Manipulating Computation and Relative Monads","publication_year":2025,"publication_date":"2025-04-09","ids":{"openalex":"https://openalex.org/W4409310641","doi":"https://doi.org/10.1145/3720434"},"language":"en","primary_location":{"id":"doi:10.1145/3720434","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3720434","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3720434","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":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3720434","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5112134273","display_name":"Yajun Jiang","orcid":"https://orcid.org/0000-0002-1274-1450"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yuchen Jiang","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0000-0002-1274-1450","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081830518","display_name":"Ruiyang Xue","orcid":"https://orcid.org/0000-0003-1274-0922"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]},{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"Runze Xue","raw_affiliation_strings":["University of Cambridge, Cambridge, United Kingdom","University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0000-0003-1274-0922","affiliations":[{"raw_affiliation_string":"University of Cambridge, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]},{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050680882","display_name":"Max S. New","orcid":"https://orcid.org/0000-0001-8141-195X"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Max S. New","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0000-0001-8141-195X","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.1494,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.88305571,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":97,"max":98},"biblio":{"volume":"9","issue":"OOPSLA1","first_page":"563","last_page":"589"},"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.9997000098228455,"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.9997000098228455,"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/T10260","display_name":"Software Engineering Research","score":0.9966999888420105,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.9911999702453613,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.9282243251800537},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8142126798629761},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8077682256698608},{"id":"https://openalex.org/keywords/call-stack","display_name":"Call stack","score":0.5954744219779968},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.551087498664856},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.5237836241722107},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.44812458753585815},{"id":"https://openalex.org/keywords/type-theory","display_name":"Type theory","score":0.4175110459327698},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4139259159564972},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1485072672367096},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.11705395579338074},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.0992337167263031}],"concepts":[{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.9282243251800537},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8142126798629761},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8077682256698608},{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.5954744219779968},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.551087498664856},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.5237836241722107},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.44812458753585815},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.4175110459327698},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4139259159564972},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1485072672367096},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.11705395579338074},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0992337167263031},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3720434","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3720434","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3720434","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:arXiv.org:2502.15031","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2502.15031","pdf_url":"https://arxiv.org/pdf/2502.15031","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/3720434","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3720434","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3720434","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/W4409310641.pdf","grobid_xml":"https://content.openalex.org/works/W4409310641.grobid-xml"},"referenced_works_count":31,"referenced_works":["https://openalex.org/W129833001","https://openalex.org/W1499496279","https://openalex.org/W1604632361","https://openalex.org/W1977443637","https://openalex.org/W1997143185","https://openalex.org/W2026028037","https://openalex.org/W2043416466","https://openalex.org/W2050584095","https://openalex.org/W2078944436","https://openalex.org/W2097704879","https://openalex.org/W2120677003","https://openalex.org/W2128271514","https://openalex.org/W2141576692","https://openalex.org/W2161616972","https://openalex.org/W2184230987","https://openalex.org/W2267766518","https://openalex.org/W2295914203","https://openalex.org/W2509085585","https://openalex.org/W2610742227","https://openalex.org/W2736423681","https://openalex.org/W2991260502","https://openalex.org/W2999328989","https://openalex.org/W3147781287","https://openalex.org/W4230636828","https://openalex.org/W4241907611","https://openalex.org/W4242659600","https://openalex.org/W4393409302","https://openalex.org/W4401597454","https://openalex.org/W4413966238","https://openalex.org/W6930866313","https://openalex.org/W6966597346"],"related_works":["https://openalex.org/W2087972928","https://openalex.org/W2767001837","https://openalex.org/W2367523195","https://openalex.org/W3015514077","https://openalex.org/W4387686449","https://openalex.org/W1527172253","https://openalex.org/W2803130631","https://openalex.org/W1968278738","https://openalex.org/W2466718051","https://openalex.org/W3123725507"],"abstract_inverted_index":{"Monads":[0],"provide":[1],"a":[2,89,108,118,124,133,155,174,191,229],"simple":[3],"and":[4,25,39,46],"concise":[5],"interface":[6,98],"to":[7,32,107,139,161,179,204,207,225],"user-defined":[8],"computational":[9,167],"effects":[10,59],"in":[11,76,88,237],"functional":[12,105],"programming":[13,91,106],"languages.":[14,239],"This":[15],"enables":[16],"equational":[17],"reasoning":[18],"about":[19],"effects,":[20,45],"abstraction":[21],"over":[22],"monadic":[23,97],"interfaces":[24],"the":[26,55,63,73,77,80,96,128,150,163],"development":[27],"of":[28,58,72,79,130,154,166,176,193],"monad":[29,65,157,227],"transformer":[30],"stacks":[31],"allow":[33,200],"for":[34,235],"multiple":[35],"effects.":[36,168],"Compiler":[37],"implementors":[38],"assembly":[40],"code":[41,203],"programmers":[42],"similarly":[43],"virtualize":[44],"would":[47],"benefit":[48,189],"from":[49,62,103,190],"similar":[50],"abstractions":[51],"if":[52],"possible.":[53],"However,":[54],"implementation":[56,165],"details":[57],"seem":[60],"disconnected":[61],"high-level":[64,90,104],"interface:":[66],"at":[67],"this":[68,145],"lower":[69,109],"level":[70,110],"much":[71],"design":[74],"is":[75,85,232],"layout":[78],"runtime":[81],"stack":[82,114,142],",":[83],"which":[84,231],"not":[86,233],"accessible":[87],"language.":[92],"We":[93,116],"demonstrate":[94,170],"that":[95,126,136,149,185,199,219],"can":[99,158,188],"be":[100,159,205],"faithfully":[101],"adapted":[102],"setting":[111,125],"with":[112,132,209],"explicit":[113],"manipulation.":[115],"use":[117],"polymorphic":[119],"call-by-push-value":[120],"(CBPV)":[121],"calculus":[122],"as":[123],"captures":[127],"essence":[129],"stack-manipulation,":[131],"type":[134],"system":[135],"allows":[137],"programs":[138,187],"define":[140],"domain-specific":[141],"structures.":[143],"Within":[144],"setting,":[146],"we":[147,172,183,195,217],"show":[148,184,218],"existing":[151],"category-theoretic":[152],"notion":[153],"relative":[156,180,212,221,226],"used":[160],"model":[162],"stack-based":[164],"To":[169],"generality,":[171],"adapt":[173],"variety":[175],"standard":[177],"monads":[178,222,236],"monads.":[181],"Additionally,":[182],"stack-manipulating":[186],"generalization":[192],"do-notation":[194],"call":[196],"\u201cmonadic":[197],"blocks\u201d":[198],"all":[201,220],"CBPV":[202],"reinterpreted":[206],"work":[208],"an":[210,215],"arbitrary":[211],"monad.":[213],"As":[214],"application,":[216],"extend":[223],"automatically":[224],"transformers,":[228],"process":[230],"automatic":[234],"pure":[238]},"counts_by_year":[{"year":2026,"cited_by_count":2}],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2025-04-10T00:00:00"}
