{"id":"https://openalex.org/W2149844031","doi":"https://doi.org/10.1145/1596638.1596648","title":"A compositional theory for STM Haskell","display_name":"A compositional theory for STM Haskell","publication_year":2009,"publication_date":"2009-09-03","ids":{"openalex":"https://openalex.org/W2149844031","doi":"https://doi.org/10.1145/1596638.1596648","mag":"2149844031"},"language":"en","primary_location":{"id":"doi:10.1145/1596638.1596648","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596638.1596648","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd ACM SIGPLAN symposium on Haskell","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5038036076","display_name":"Johannes Borgstr\u00f6m","orcid":"https://orcid.org/0000-0001-5990-5742"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Johannes Borgstr\u00f6m","raw_affiliation_strings":["Microsoft Research, Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026297326","display_name":"Karthikeyan Bhargavan","orcid":"https://orcid.org/0000-0002-3152-8997"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Karthikeyan Bhargavan","raw_affiliation_strings":["Microsoft Research, Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110910266","display_name":"Andrew D. Gordon","orcid":null},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Andrew D. Gordon","raw_affiliation_strings":["Microsoft Research, Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5038036076"],"corresponding_institution_ids":["https://openalex.org/I4210164937"],"apc_list":null,"apc_paid":null,"fwci":0.7251,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.75968369,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"69","last_page":"80"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998000264167786,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998000264167786,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9973000288009644,"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.9930999875068665,"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/haskell","display_name":"Haskell","score":0.9640116095542908},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7921146154403687},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6802024841308594},{"id":"https://openalex.org/keywords/bisimulation","display_name":"Bisimulation","score":0.673445463180542},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6633898019790649},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.6211370229721069},{"id":"https://openalex.org/keywords/liveness","display_name":"Liveness","score":0.6060702800750732},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.5144243836402893},{"id":"https://openalex.org/keywords/hoare-logic","display_name":"Hoare logic","score":0.48321664333343506},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4790850281715393},{"id":"https://openalex.org/keywords/process-calculus","display_name":"Process calculus","score":0.46531036496162415},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.4254933297634125},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.4128704071044922},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.2050243616104126},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.17406201362609863}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9640116095542908},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7921146154403687},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6802024841308594},{"id":"https://openalex.org/C135315306","wikidata":"https://www.wikidata.org/wiki/Q866364","display_name":"Bisimulation","level":2,"score":0.673445463180542},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6633898019790649},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6211370229721069},{"id":"https://openalex.org/C15569618","wikidata":"https://www.wikidata.org/wiki/Q3561421","display_name":"Liveness","level":2,"score":0.6060702800750732},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.5144243836402893},{"id":"https://openalex.org/C104949639","wikidata":"https://www.wikidata.org/wiki/Q1375924","display_name":"Hoare logic","level":3,"score":0.48321664333343506},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4790850281715393},{"id":"https://openalex.org/C161771561","wikidata":"https://www.wikidata.org/wiki/Q1970286","display_name":"Process calculus","level":2,"score":0.46531036496162415},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.4254933297634125},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.4128704071044922},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.2050243616104126},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.17406201362609863},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1596638.1596648","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596638.1596648","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd ACM SIGPLAN symposium on Haskell","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.153.5474","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.153.5474","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.research.microsoft.com/~adg/Publications/stm-haskell09.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":34,"referenced_works":["https://openalex.org/W91716996","https://openalex.org/W258022877","https://openalex.org/W303190792","https://openalex.org/W1490472435","https://openalex.org/W1503973138","https://openalex.org/W1577383226","https://openalex.org/W1590443834","https://openalex.org/W1761177680","https://openalex.org/W1789499891","https://openalex.org/W1797302310","https://openalex.org/W2006433153","https://openalex.org/W2023149698","https://openalex.org/W2038479570","https://openalex.org/W2076149580","https://openalex.org/W2086512828","https://openalex.org/W2089241138","https://openalex.org/W2101431901","https://openalex.org/W2106190666","https://openalex.org/W2108204150","https://openalex.org/W2119964141","https://openalex.org/W2125379835","https://openalex.org/W2127898325","https://openalex.org/W2128995870","https://openalex.org/W2129990308","https://openalex.org/W2130646238","https://openalex.org/W2134334571","https://openalex.org/W2144562508","https://openalex.org/W2152988224","https://openalex.org/W2154606502","https://openalex.org/W2158553637","https://openalex.org/W2296715995","https://openalex.org/W2769656678","https://openalex.org/W2912003593","https://openalex.org/W4242949098"],"related_works":["https://openalex.org/W2951374406","https://openalex.org/W1532145728","https://openalex.org/W2091970733","https://openalex.org/W3020829080","https://openalex.org/W4300624557","https://openalex.org/W3081656401","https://openalex.org/W2560421581","https://openalex.org/W4247534063","https://openalex.org/W2166928437","https://openalex.org/W1878907071"],"abstract_inverted_index":{"We":[0,95,168],"address":[1],"the":[2,31,35,48,54,90,123,128,157,163],"problem":[3],"of":[4,34,40,50,53,57,130,165],"reasoning":[5,72,149,180],"about":[6,73,150,181],"Haskell":[7,21,60,111,152],"programs":[8],"that":[9,170],"use":[10],"Software":[11],"Transactional":[12],"Memory":[13],"(STM).":[14],"As":[15],"a":[16,24,44,131,172],"motivating":[17],"example,":[18],"we":[19,143],"consider":[20],"code":[22],"for":[23,148,156],"concurrent":[25,182],"non-deterministic":[26],"tree":[27],"rewriting":[28],"algorithm":[29],"implementing":[30],"operational":[32],"semantics":[33],"ambient":[36],"calculus.":[37,141],"The":[38,62],"core":[39],"our":[41],"theory":[42,147],"is":[43],"uniform":[45],"model,":[46],"in":[47,89,127],"spirit":[49],"process":[51,140],"calculi,":[52],"run-time":[55],"state":[56,96],"multi-threaded":[58],"STM":[59,74,91,151,166,178],"programs.":[61,75],"model":[63],"was":[64],"designed":[65],"to":[66],"simplify":[67],"both":[68,81],"local":[69],"and":[70,85,92,97,103,109,154],"compositional":[71],"A":[76],"single":[77],"reduction":[78],"relation":[79],"captures":[80],"pure":[82,173],"functional":[83,174],"computations":[84,88],"also":[86],"effectful":[87],"I/O":[93],"monads.":[94],"prove":[98],"liveness,":[99],"soundness,":[100],"completeness,":[101],"safety,":[102],"termination":[104],"properties":[105],"relating":[106],"source":[107],"processes":[108],"their":[110],"implementation.":[112],"Our":[113],"proof":[114],"exploits":[115],"various":[116],"ideas":[117],"from":[118],"concurrency":[119],"theory,":[120],"such":[121],"as":[122],"bisimulation":[124],"technique,":[125],"but":[126],"setting":[129],"widely":[132],"used":[133],"programming":[134],"language":[135,175],"rather":[136],"than":[137],"an":[138,145],"abstract":[139],"Additionally,":[142],"develop":[144],"equational":[146],"programs,":[153],"establish":[155],"first":[158],"time":[159],"equations":[160],"conjectured":[161],"by":[162],"designers":[164],"Haskell.":[167],"conclude":[169],"using":[171],"extended":[176],"with":[177],"facilitates":[179],"implementation":[183],"code.":[184]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":3}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
