{"id":"https://openalex.org/W2513970686","doi":"https://doi.org/10.1145/2976002.2976007","title":"Desugaring Haskell's do-notation into applicative operations","display_name":"Desugaring Haskell's do-notation into applicative operations","publication_year":2016,"publication_date":"2016-08-26","ids":{"openalex":"https://openalex.org/W2513970686","doi":"https://doi.org/10.1145/2976002.2976007","mag":"2513970686"},"language":"en","primary_location":{"id":"doi:10.1145/2976002.2976007","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2976002.2976007","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2976007&type=pdf","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th International Symposium on Haskell","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=2976007&type=pdf","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5055243106","display_name":"Simon Marlow","orcid":null},"institutions":[{"id":"https://openalex.org/I4210111288","display_name":"Meta (United Kingdom)","ror":"https://ror.org/020ye1821","country_code":"GB","type":"company","lineage":["https://openalex.org/I4210111288","https://openalex.org/I4210114444"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Simon Marlow","raw_affiliation_strings":["Facebook, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Facebook, UK","institution_ids":["https://openalex.org/I4210111288"]}]},{"author_position":"middle","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 Research, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, UK","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034819828","display_name":"Edward Kmett","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Edward Kmett","raw_affiliation_strings":["S&amp;P Global, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"S&amp;P Global, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041019594","display_name":"Andrey Mokhov","orcid":"https://orcid.org/0000-0002-2493-3177"},"institutions":[{"id":"https://openalex.org/I84884186","display_name":"Newcastle University","ror":"https://ror.org/01kj2bm70","country_code":"GB","type":"education","lineage":["https://openalex.org/I84884186"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Andrey Mokhov","raw_affiliation_strings":["Newcastle University, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Newcastle University, UK","institution_ids":["https://openalex.org/I84884186"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":15,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"92","last_page":"104"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9986000061035156,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9986000061035156,"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/T11986","display_name":"Scientific Computing and Data Management","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9973999857902527,"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/haskell","display_name":"Haskell","score":0.9688056707382202},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8681000471115112},{"id":"https://openalex.org/keywords/notation","display_name":"Notation","score":0.84416663646698},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8002088069915771},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.7381079196929932},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5646246075630188},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3345886170864105},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.08811244368553162}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9688056707382202},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8681000471115112},{"id":"https://openalex.org/C45357846","wikidata":"https://www.wikidata.org/wiki/Q2001982","display_name":"Notation","level":2,"score":0.84416663646698},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8002088069915771},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.7381079196929932},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5646246075630188},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3345886170864105},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.08811244368553162},{"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":2,"locations":[{"id":"doi:10.1145/2976002.2976007","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2976002.2976007","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2976007&type=pdf","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th International Symposium on Haskell","raw_type":"proceedings-article"},{"id":"pmh:oai:eprint.ncl.ac.uk:226640","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306402485","display_name":"Newcastle University ePrints (Newcastle Univesity)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I84884186","host_organization_name":"Newcastle University","host_organization_lineage":["https://openalex.org/I84884186"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"doi:10.1145/2976002.2976007","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2976002.2976007","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2976007&type=pdf","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th International Symposium on Haskell","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G743971790","display_name":null,"funder_award_id":"EP/K503885/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320308943","display_name":"Microsoft Research","ror":"https://ror.org/00d0nc645"},{"id":"https://openalex.org/F4320320295","display_name":"Newcastle University","ror":"https://ror.org/01kj2bm70"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2513970686.pdf","grobid_xml":"https://content.openalex.org/works/W2513970686.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W115425660","https://openalex.org/W1488750823","https://openalex.org/W1891773423","https://openalex.org/W1937976299","https://openalex.org/W2044417921","https://openalex.org/W2068873267","https://openalex.org/W2088182101","https://openalex.org/W2098037505","https://openalex.org/W2104958979","https://openalex.org/W2116813111","https://openalex.org/W2119176020","https://openalex.org/W2129603526","https://openalex.org/W2145108549","https://openalex.org/W2149935768","https://openalex.org/W2157803532","https://openalex.org/W2166229534","https://openalex.org/W2171022981","https://openalex.org/W2173213060","https://openalex.org/W2182283312","https://openalex.org/W2259919125","https://openalex.org/W2295914203","https://openalex.org/W2794030829","https://openalex.org/W3022433793","https://openalex.org/W6685798501"],"related_works":["https://openalex.org/W154014553","https://openalex.org/W2913635267","https://openalex.org/W2099741881","https://openalex.org/W2547899303","https://openalex.org/W4255783807","https://openalex.org/W1533419251","https://openalex.org/W1601811574","https://openalex.org/W2513970686","https://openalex.org/W4236866362","https://openalex.org/W1485115102"],"abstract_inverted_index":{"Monads":[0],"have":[1,30],"taken":[2],"the":[3,22,36,49],"world":[4],"by":[5,10,35],"storm,":[6],"and":[7,24,69,71,91],"are":[8,17,66,77],"supported":[9],"do-notation":[11,52],"(at":[12],"least":[13],"in":[14,89,93,105],"Haskell).":[15],"Programmers":[16],"increasingly":[18],"waking":[19],"up":[20],"to":[21,47,53,97,101],"usefulness":[23],"ubiquity":[25],"of":[26,38],"Applicatives,":[27],"but":[28],"they":[29],"so":[31],"far":[32],"been":[33],"hampered":[34],"absence":[37],"supporting":[39],"notation.":[40],"In":[41],"this":[42],"paper":[43],"we":[44],"show":[45],"how":[46],"re-use":[48],"very":[50],"same":[51],"work":[54],"for":[55,62,74],"Applicatives":[56],"as":[57,85],"well,":[58],"providing":[59],"efficiency":[60],"benefits":[61],"some":[63],"types":[64],"that":[65,76],"both":[67],"Monad":[68],"Applicative,":[70],"syntactic":[72],"convenience":[73],"those":[75],"merely":[78],"Applicative.":[79],"The":[80],"result":[81],"is":[82,92],"fully":[83],"implemented":[84],"an":[86],"optional":[87],"extension":[88],"GHC,":[90],"use":[94],"at":[95],"Facebook":[96],"make":[98],"it":[99],"easy":[100],"write":[102],"highly-parallel":[103],"queries":[104],"a":[106],"distributed":[107],"system.":[108]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
