{"id":"https://openalex.org/W2094248892","doi":"https://doi.org/10.1145/1159803.1159823","title":"Modelling deterministic concurrent I/O","display_name":"Modelling deterministic concurrent I/O","publication_year":2006,"publication_date":"2006-09-16","ids":{"openalex":"https://openalex.org/W2094248892","doi":"https://doi.org/10.1145/1159803.1159823","mag":"2094248892"},"language":"en","primary_location":{"id":"doi:10.1145/1159803.1159823","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1159803.1159823","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming","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/A5068456836","display_name":"Malcolm Dowse","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Malcolm Dowse","raw_affiliation_strings":["Trinity College"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Trinity College","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5071048212","display_name":"Andrew Butterfield","orcid":"https://orcid.org/0000-0002-2337-2101"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Andrew Butterfield","raw_affiliation_strings":["Trinity College"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Trinity College","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.4663,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.74667668,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"148","last_page":"159"},"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.9995999932289124,"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.9995999932289124,"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.9926000237464905,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9919999837875366,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9044811129570007},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.8369486331939697},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8276147842407227},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6899851560592651},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.637740969657898},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5187528133392334},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5114599466323853},{"id":"https://openalex.org/keywords/confluence","display_name":"Confluence","score":0.5036308169364929},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.4688625931739807},{"id":"https://openalex.org/keywords/determinism","display_name":"Determinism","score":0.43772679567337036},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.43038439750671387},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.426127552986145}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9044811129570007},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.8369486331939697},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8276147842407227},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6899851560592651},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.637740969657898},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5187528133392334},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5114599466323853},{"id":"https://openalex.org/C77906462","wikidata":"https://www.wikidata.org/wiki/Q1140902","display_name":"Confluence","level":2,"score":0.5036308169364929},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.4688625931739807},{"id":"https://openalex.org/C192183473","wikidata":"https://www.wikidata.org/wiki/Q131133","display_name":"Determinism","level":2,"score":0.43772679567337036},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.43038439750671387},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.426127552986145},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1159803.1159823","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1159803.1159823","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.86.4188","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.86.4188","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.fit.edu/~ryan/cse5650/ICFP_2006/p148-dowse.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W329789253","https://openalex.org/W1491698270","https://openalex.org/W1520096901","https://openalex.org/W1548537923","https://openalex.org/W1558848517","https://openalex.org/W1567780099","https://openalex.org/W1591044060","https://openalex.org/W1594992894","https://openalex.org/W1608247613","https://openalex.org/W1762326996","https://openalex.org/W1825292874","https://openalex.org/W1829244603","https://openalex.org/W1861989620","https://openalex.org/W1986804682","https://openalex.org/W1987868327","https://openalex.org/W1998070736","https://openalex.org/W2037984920","https://openalex.org/W2038677544","https://openalex.org/W2074802267","https://openalex.org/W2076004629","https://openalex.org/W2078944436","https://openalex.org/W2087875803","https://openalex.org/W2090587238","https://openalex.org/W2097889836","https://openalex.org/W2118883965","https://openalex.org/W2129990308","https://openalex.org/W2153687851","https://openalex.org/W2188944230","https://openalex.org/W2246202158","https://openalex.org/W2296715995","https://openalex.org/W2548243341","https://openalex.org/W4238056673","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2063393078","https://openalex.org/W2741344200","https://openalex.org/W1556401754","https://openalex.org/W2112263414","https://openalex.org/W1602185604","https://openalex.org/W3006464425","https://openalex.org/W3004782279","https://openalex.org/W2521829344","https://openalex.org/W1734457603","https://openalex.org/W2155480936"],"abstract_inverted_index":{"The":[0],"problem":[1,19],"of":[2,95,113,119,157],"expressing":[3],"I/O":[4,34,122],"and":[5,35,53,106,152],"side":[6],"effects":[7],"in":[8,137],"functional":[9],"languages":[10],"is":[11,65,87,143],"a":[12,21,27,40,71,93,117,139],"well-established":[13],"one.":[14],"This":[15,63],"paper":[16],"addresses":[17],"this":[18],"from":[20,131],"general":[22],"semantic":[23],"viewpoint":[24],"by":[25],"giving":[26],"unified":[28],"framework":[29],"for":[30,70,92,149,165],"describing":[31],"shared":[32,101],"state,":[33],"deterministic":[36,73],"concurrency.":[37],"We":[38,108,146],"develop":[39],"modified":[41],"state":[42],"transformer":[43],"which":[44,60,79,124,158],"lets":[45],"us":[46],"mathematically":[47],"model":[48],"the":[49,68,155],"API,":[50],"then":[51,109],"investigate":[52],"machine":[54],"verify":[55],"some":[56,160],"broad":[57],"conditions":[58],"under":[59],"confluence":[61,85],"holds.":[62],"semantics":[64],"used":[66],"as":[67,99],"basis":[69],"small":[72,96,161],"Haskell":[74],"language":[75],"extension":[76],"called":[77],"CURIO,":[78],"enforces":[80],"determinism":[81,142],"using":[82,135],"runtime":[83],"checks.Our":[84],"condition":[86],"first":[88],"shown":[89],"to":[90,163],"hold":[91],"variety":[94],"components,":[97],"such":[98,138],"individual":[100],"variables,":[102],"1-to-1":[103],"communication":[104],"channels,":[105],"I-structures.":[107],"show":[110],"how":[111],"models":[112],"substantial":[114],"APIs":[115],"(like":[116],"modification":[118],"Haskell's":[120],"file":[121],"API":[123],"permits":[125],"inter-process":[126],"communication)":[127],"may":[128],"be":[129],"constructed":[130],"these":[132],"smaller":[133],"components":[134],"\"combinators\"":[136],"way":[140],"that":[141],"always":[144],"preserved.":[145],"describe":[147],"combinators":[148],"product,":[150],"name-indexing":[151],"dynamic":[153],"allocation,":[154],"last":[156],"requires":[159],"extensions":[162],"cater":[164],"process":[166],"locality.":[167]},"counts_by_year":[{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
