{"id":"https://openalex.org/W2886591801","doi":"https://doi.org/10.1145/3236771","title":"Capturing the future by replaying the past (functional pearl)","display_name":"Capturing the future by replaying the past (functional pearl)","publication_year":2018,"publication_date":"2018-07-30","ids":{"openalex":"https://openalex.org/W2886591801","doi":"https://doi.org/10.1145/3236771","mag":"2886591801"},"language":"en","primary_location":{"id":"doi:10.1145/3236771","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236771","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236771","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3236771","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5064054725","display_name":"James Koppel","orcid":null},"institutions":[{"id":"https://openalex.org/I126820664","display_name":"Vassar College","ror":"https://ror.org/022x6qg61","country_code":"US","type":"education","lineage":["https://openalex.org/I126820664"]},{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"James Koppel","raw_affiliation_strings":["Massachusetts Institute of Technology, USA","CSAIL - Computer Science and Artificial Intelligence Laboratory [Cambridge] (The Stata Center, Building 32 32 Vassar Street Cambridge, MA 02139 - United States)"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]},{"raw_affiliation_string":"CSAIL - Computer Science and Artificial Intelligence Laboratory [Cambridge] (The Stata Center, Building 32 32 Vassar Street Cambridge, MA 02139 - United States)","institution_ids":["https://openalex.org/I126820664"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047042180","display_name":"Gabriel Scherer","orcid":"https://orcid.org/0000-0003-1758-3938"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en informatique et en automatique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"funder","lineage":["https://openalex.org/I1326498283"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Gabriel Scherer","raw_affiliation_strings":["Inria, France","PARSIFAL - Proof search and reasoning with logic specifications (France)"],"affiliations":[{"raw_affiliation_string":"Inria, France","institution_ids":["https://openalex.org/I1326498283"]},{"raw_affiliation_string":"PARSIFAL - Proof search and reasoning with logic specifications (France)","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5010786661","display_name":"Armando Solar-Lezama","orcid":"https://orcid.org/0000-0001-7604-8252"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]},{"id":"https://openalex.org/I126820664","display_name":"Vassar College","ror":"https://ror.org/022x6qg61","country_code":"US","type":"education","lineage":["https://openalex.org/I126820664"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Armando Solar-Lezama","raw_affiliation_strings":["Massachusetts Institute of Technology, USA","CSAIL - Computer Science and Artificial Intelligence Laboratory [Cambridge] (The Stata Center, Building 32 32 Vassar Street Cambridge, MA 02139 - United States)"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]},{"raw_affiliation_string":"CSAIL - Computer Science and Artificial Intelligence Laboratory [Cambridge] (The Stata Center, Building 32 32 Vassar Street Cambridge, MA 02139 - United States)","institution_ids":["https://openalex.org/I126820664"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5064054725"],"corresponding_institution_ids":["https://openalex.org/I126820664","https://openalex.org/I63966007"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.08642816,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":"2","issue":"ICFP","first_page":"1","last_page":"29"},"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.9987000226974487,"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.9975000023841858,"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/computer-science","display_name":"Computer science","score":0.7810784578323364},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6941742897033691},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6451884508132935},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.5886328220367432},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5358535051345825}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7810784578323364},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6941742897033691},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6451884508132935},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.5886328220367432},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5358535051345825},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3236771","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236771","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236771","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:HAL:hal-01929178v1","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-01929178","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2018, 2 (ICFP), pp.1 - 29. &#x27E8;10.1145/3236771&#x27E9;","raw_type":"Journal articles"},{"id":"pmh:oai:dspace.mit.edu:1721.1/117385","is_oa":true,"landing_page_url":"http://hdl.handle.net/1721.1/117385","pdf_url":null,"source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Prof. Solar-Lezama","raw_type":"http://purl.org/eprint/type/JournalArticle"}],"best_oa_location":{"id":"doi:10.1145/3236771","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236771","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236771","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3526151021","display_name":null,"funder_award_id":"1122374","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5635854791","display_name":null,"funder_award_id":"112237","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7297461854","display_name":null,"funder_award_id":"122374","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2886591801.pdf","grobid_xml":"https://content.openalex.org/works/W2886591801.grobid-xml"},"referenced_works_count":21,"referenced_works":["https://openalex.org/W1528843027","https://openalex.org/W1569805491","https://openalex.org/W1584951182","https://openalex.org/W1585088833","https://openalex.org/W1606105243","https://openalex.org/W1764096108","https://openalex.org/W1980476455","https://openalex.org/W1997644097","https://openalex.org/W2007759294","https://openalex.org/W2086744387","https://openalex.org/W2102222848","https://openalex.org/W2157998816","https://openalex.org/W2159430067","https://openalex.org/W2181929711","https://openalex.org/W2294422796","https://openalex.org/W2738478951","https://openalex.org/W2765212444","https://openalex.org/W2907553500","https://openalex.org/W3123143760","https://openalex.org/W4256135566","https://openalex.org/W6635002482"],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W2379153735","https://openalex.org/W4297824900","https://openalex.org/W2046172023","https://openalex.org/W2186798288","https://openalex.org/W2950290350","https://openalex.org/W2972896947","https://openalex.org/W622882839","https://openalex.org/W2185017216","https://openalex.org/W2016345697"],"abstract_inverted_index":{"Delimited":[0],"continuations":[1,21,73,85,92,108,144,155],"are":[2,57],"the":[3,10,28,41,59,102,104,117,121,130,135,139,150],"mother":[4,60],"of":[5,61,76,90,96,101,106],"all":[6,62],"monads!":[7,63],"So":[8],"goes":[9],"slogan":[11],"inspired":[12],"by":[13,115,174],"Filinski\u2019s":[14],"1994":[15],"paper,":[16],"which":[17],"showed":[18],"that":[19,46,129,177],"delimited":[20,51,72,91,143],"can":[22],"implement":[23,71],"any":[24,157],"monadic":[25,146,158],"effect,":[26,159],"letting":[27],"programmer":[29],"use":[30],"an":[31,98,161],"effect":[32],"as":[33,35],"easily":[34],"if":[36],"it":[37,124],"was":[38],"built":[39],"into":[40],"language.":[42],"It\u2019s":[43],"a":[44,80,126],"shame":[45],"not":[47,172],"many":[48],"languages":[49],"have":[50],"continuations.":[52,183],"Luckily,":[53],"exceptions":[54,77,178],"and":[55,78,145,166,179],"state":[56,100,114,180],"also":[58],"In":[64],"this":[65,112],"Pearl,":[66],"we":[67,82,141],"show":[68,148],"how":[69,149],"to":[70,110],"in":[74],"terms":[75],"state,":[79],"construction":[81,152,170],"call":[83],"thermometer":[84,107,154],".":[86],"While":[87],"traditional":[88],"implementations":[89],"require":[93],"some":[94],"way":[95],"\u201dcapturing\u201d":[97],"intermediate":[99,113],"computation,":[103],"insight":[105],"is":[109,171],"reach":[111],"replaying":[116],"entire":[118],"computation":[119],"from":[120],"start,":[122],"guiding":[123],"using":[125],"recording":[127],"so":[128],"same":[131],"thing":[132],"happens":[133],"until":[134],"captured":[136],"point.":[137],"Along":[138],"way,":[140],"explain":[142],"reflection,":[147],"Filinski":[151],"lets":[153],"express":[156],"share":[160],"elegant":[162],"special-case":[163],"for":[164],"nondeterminism,":[165],"discuss":[167],"why":[168],"our":[169],"prevented":[173],"theoretical":[175],"results":[176],"cannot":[181],"macro-express":[182]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2}],"updated_date":"2026-04-21T08:09:41.155169","created_date":"2025-10-10T00:00:00"}
