{"id":"https://openalex.org/W2099741881","doi":"https://doi.org/10.1145/2500365.2500581","title":"Programming and reasoning with algebraic effects and dependent types","display_name":"Programming and reasoning with algebraic effects and dependent types","publication_year":2013,"publication_date":"2013-09-25","ids":{"openalex":"https://openalex.org/W2099741881","doi":"https://doi.org/10.1145/2500365.2500581","mag":"2099741881"},"language":"en","primary_location":{"id":"doi:10.1145/2500365.2500581","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2500365.2500581","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th 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/A5042121684","display_name":"Edwin Brady","orcid":"https://orcid.org/0000-0002-9734-367X"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Edwin Brady","raw_affiliation_strings":["University of St Andrews, St Andrews, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of St Andrews, St Andrews, United Kingdom","institution_ids":["https://openalex.org/I16835326"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5042121684"],"corresponding_institution_ids":["https://openalex.org/I16835326"],"apc_list":null,"apc_paid":null,"fwci":22.2474,"has_fulltext":false,"cited_by_count":97,"citation_normalized_percentile":{"value":0.99440756,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"133","last_page":"144"},"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.9998000264167786,"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.9998000264167786,"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.993399977684021,"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/T10142","display_name":"Formal Methods in Verification","score":0.9843000173568726,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9274104833602905},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.8857306241989136},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8194946050643921},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7524949312210083},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6601026058197021},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.5196148753166199},{"id":"https://openalex.org/keywords/determinism","display_name":"Determinism","score":0.5054483413696289},{"id":"https://openalex.org/keywords/functional-reactive-programming","display_name":"Functional reactive programming","score":0.49638301134109497},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4446975886821747},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.441714882850647},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.43855905532836914},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.4180278778076172},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.4003220796585083},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1573823094367981},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.11498275399208069}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9274104833602905},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.8857306241989136},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8194946050643921},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7524949312210083},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6601026058197021},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.5196148753166199},{"id":"https://openalex.org/C192183473","wikidata":"https://www.wikidata.org/wiki/Q131133","display_name":"Determinism","level":2,"score":0.5054483413696289},{"id":"https://openalex.org/C119489759","wikidata":"https://www.wikidata.org/wiki/Q5508843","display_name":"Functional reactive programming","level":5,"score":0.49638301134109497},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4446975886821747},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.441714882850647},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.43855905532836914},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.4180278778076172},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.4003220796585083},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1573823094367981},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.11498275399208069},{"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/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/2500365.2500581","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2500365.2500581","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.353.1364","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.353.1364","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://eb.host.cs.st-andrews.ac.uk/drafts/effects.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/16","score":0.6100000143051147,"display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":35,"referenced_works":["https://openalex.org/W49202426","https://openalex.org/W142612778","https://openalex.org/W169163224","https://openalex.org/W1495226832","https://openalex.org/W1499496279","https://openalex.org/W1529227536","https://openalex.org/W1556536463","https://openalex.org/W1591780766","https://openalex.org/W1830421783","https://openalex.org/W1963240911","https://openalex.org/W1968024460","https://openalex.org/W1971752790","https://openalex.org/W1980827618","https://openalex.org/W1990409169","https://openalex.org/W1993262756","https://openalex.org/W1996945638","https://openalex.org/W1998344822","https://openalex.org/W2044590882","https://openalex.org/W2066038668","https://openalex.org/W2096189519","https://openalex.org/W2106229114","https://openalex.org/W2114771706","https://openalex.org/W2116813111","https://openalex.org/W2123092976","https://openalex.org/W2136202785","https://openalex.org/W2141576692","https://openalex.org/W2160481396","https://openalex.org/W2160829153","https://openalex.org/W2163552400","https://openalex.org/W3032405501","https://openalex.org/W3103594074","https://openalex.org/W4245524452","https://openalex.org/W6629579983","https://openalex.org/W6677124578","https://openalex.org/W6785972659"],"related_works":["https://openalex.org/W3004782279","https://openalex.org/W2189001763","https://openalex.org/W4248653691","https://openalex.org/W2039406101","https://openalex.org/W2161156675","https://openalex.org/W2172209430","https://openalex.org/W1943224404","https://openalex.org/W4296878212","https://openalex.org/W1927794125","https://openalex.org/W2110317952"],"abstract_inverted_index":{"One":[0],"often":[1],"cited":[2],"benefit":[3],"of":[4,47],"pure":[5,10],"functional":[6],"programming":[7],"is":[8,12],"that":[9],"code":[11],"easier":[13],"to":[14,44],"test":[15],"and":[16,21,32,68,70],"reason":[17],"about,":[18],"both":[19],"formally":[20],"informally.":[22],"However,":[23],"real":[24],"programs":[25],"have":[26],"side-effects":[27],"including":[28],"state":[29],"management,":[30],"exceptions":[31],"interactions":[33],"with":[34],"the":[35],"outside":[36],"world.":[37],"Haskell":[38],"solves":[39],"this":[40],"problem":[41],"using":[42],"monads":[43,54],"capture":[45],"details":[46],"possibly":[48],"side-effecting":[49],"computations":[50],"---":[51],"it":[52],"provides":[53],"for":[55,62,78],"capturing":[56],"state,":[57],"I/O,":[58],"exceptions,":[59],"non-determinism,":[60],"libraries":[61],"practical":[63],"purposes":[64],"such":[65],"as":[66,73,75],"CGI":[67],"parsing,":[69],"many":[71],"others,":[72],"well":[74],"monad":[76],"transformers":[77],"combining":[79],"multiple":[80],"effects.":[81]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":9},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":11},{"year":2017,"cited_by_count":15},{"year":2016,"cited_by_count":16},{"year":2015,"cited_by_count":13},{"year":2014,"cited_by_count":10},{"year":2013,"cited_by_count":6}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
