{"id":"https://openalex.org/W2155762556","doi":"https://doi.org/10.1145/2034675.2034685","title":"A monad for deterministic parallelism","display_name":"A monad for deterministic parallelism","publication_year":2011,"publication_date":"2011-09-22","ids":{"openalex":"https://openalex.org/W2155762556","doi":"https://doi.org/10.1145/2034675.2034685","mag":"2155762556"},"language":"en","primary_location":{"id":"doi:10.1145/2034675.2034685","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2034675.2034685","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th ACM symposium on Haskell","raw_type":"proceedings-article"},"type":"conference-paper","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/A5055243106","display_name":"Simon Marlow","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":"Simon Marlow","raw_affiliation_strings":["Microsoft Research Ltd., Cambridge, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research Ltd., Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078145335","display_name":"Ryan Newton","orcid":"https://orcid.org/0000-0003-3934-9165"},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ryan Newton","raw_affiliation_strings":["Intel, Hudson, MA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Intel, Hudson, MA, USA","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027817074","display_name":"Simon Peyton Jones","orcid":"https://orcid.org/0000-0002-6085-1435"},"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":"Simon Peyton Jones","raw_affiliation_strings":["Microsoft Reseaarch Ltd., Cambridge, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Reseaarch Ltd., Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":9.5008,"has_fulltext":false,"cited_by_count":96,"citation_normalized_percentile":{"value":0.98853503,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"71","last_page":"82"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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":0.9998999834060669,"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.9997000098228455,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9983999729156494,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.8887414932250977},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8863368034362793},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.7370336055755615},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.7040903568267822},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6960965394973755},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.6447158455848694},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6381590366363525},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5214078426361084},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.506367564201355},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.49597010016441345},{"id":"https://openalex.org/keywords/granularity","display_name":"Granularity","score":0.47309473156929016},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.4414512515068054},{"id":"https://openalex.org/keywords/lazy-evaluation","display_name":"Lazy evaluation","score":0.4218651056289673},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3893132209777832}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8887414932250977},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8863368034362793},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.7370336055755615},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.7040903568267822},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6960965394973755},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.6447158455848694},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6381590366363525},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5214078426361084},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.506367564201355},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.49597010016441345},{"id":"https://openalex.org/C177774035","wikidata":"https://www.wikidata.org/wiki/Q1246948","display_name":"Granularity","level":2,"score":0.47309473156929016},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.4414512515068054},{"id":"https://openalex.org/C128099668","wikidata":"https://www.wikidata.org/wiki/Q573952","display_name":"Lazy evaluation","level":3,"score":0.4218651056289673},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3893132209777832},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2034675.2034685","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2034675.2034685","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th ACM symposium on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W68178695","https://openalex.org/W1489689515","https://openalex.org/W1514004212","https://openalex.org/W1580566336","https://openalex.org/W1963584947","https://openalex.org/W1976194690","https://openalex.org/W1986804682","https://openalex.org/W1990195720","https://openalex.org/W2014257084","https://openalex.org/W2041641737","https://openalex.org/W2074802267","https://openalex.org/W2104861744","https://openalex.org/W2111534760","https://openalex.org/W2112123380","https://openalex.org/W2137399459","https://openalex.org/W2150848984","https://openalex.org/W2165100134","https://openalex.org/W2464478691","https://openalex.org/W2978215638"],"related_works":["https://openalex.org/W1911419940","https://openalex.org/W2373472360","https://openalex.org/W2995031344","https://openalex.org/W2466718051","https://openalex.org/W2913635267","https://openalex.org/W2392016641","https://openalex.org/W2521829344","https://openalex.org/W1734457603","https://openalex.org/W60003963","https://openalex.org/W154014553"],"abstract_inverted_index":{"We":[0,65],"present":[1,66,81],"a":[2,11,82,88],"new":[3],"programming":[4,105],"model":[5,16],"for":[6],"deterministic":[7,37],"parallel":[8,75,104],"computation":[9],"in":[10,57,107],"pure":[12],"functional":[13,58],"language.":[14],"The":[15,40],"is":[17,42,77],"monadic":[18,45],"and":[19,38,72,91],"has":[20,48],"explicit":[21],"granularity,":[22],"but":[23],"allows":[24],"dynamic":[25],"construction":[26],"of":[27],"dataflow":[28],"networks":[29],"that":[30,74,94],"are":[31],"scheduled":[32],"at":[33,97],"runtime,":[34],"while":[35],"remaining":[36],"pure.":[39],"implementation":[41],"based":[43],"on":[44],"concurrency,":[46],"which":[47],"until":[49],"now":[50],"only":[51],"been":[52],"used":[53],"to":[54,62],"simulate":[55],"concurrency":[56],"languages,":[59],"rather":[60],"than":[61],"provide":[63],"parallelism.":[64],"the":[67,102],"API":[68],"with":[69],"its":[70],"semantics,":[71],"argue":[73],"execution":[76],"deterministic.":[78],"Furthermore,":[79],"we":[80,92],"complete":[83],"work-stealing":[84],"scheduler":[85],"implemented":[86],"as":[87,99,101],"Haskell":[89],"library,":[90],"show":[93],"it":[95],"performs":[96],"least":[98],"well":[100],"existing":[103],"models":[106],"Haskell.":[108]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":11},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":13},{"year":2014,"cited_by_count":18},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":15}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
