{"id":"https://openalex.org/W2966669184","doi":"https://doi.org/10.1145/3341718","title":"Call-by-need is clairvoyant call-by-value","display_name":"Call-by-need is clairvoyant call-by-value","publication_year":2019,"publication_date":"2019-07-26","ids":{"openalex":"https://openalex.org/W2966669184","doi":"https://doi.org/10.1145/3341718","mag":"2966669184"},"language":"en","primary_location":{"id":"doi:10.1145/3341718","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341718","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341718","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/3341718","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5003806684","display_name":"Jennifer Hackett","orcid":null},"institutions":[{"id":"https://openalex.org/I142263535","display_name":"University of Nottingham","ror":"https://ror.org/01ee9ar58","country_code":"GB","type":"education","lineage":["https://openalex.org/I142263535"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Jennifer Hackett","raw_affiliation_strings":["University of Nottingham, UK"],"affiliations":[{"raw_affiliation_string":"University of Nottingham, UK","institution_ids":["https://openalex.org/I142263535"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5069634739","display_name":"Graham Hutton","orcid":"https://orcid.org/0000-0001-9584-5150"},"institutions":[{"id":"https://openalex.org/I142263535","display_name":"University of Nottingham","ror":"https://ror.org/01ee9ar58","country_code":"GB","type":"education","lineage":["https://openalex.org/I142263535"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Graham Hutton","raw_affiliation_strings":["University of Nottingham, UK"],"affiliations":[{"raw_affiliation_string":"University of Nottingham, UK","institution_ids":["https://openalex.org/I142263535"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5003806684"],"corresponding_institution_ids":["https://openalex.org/I142263535"],"apc_list":null,"apc_paid":null,"fwci":0.7225,"has_fulltext":true,"cited_by_count":14,"citation_normalized_percentile":{"value":0.78719491,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"3","issue":"ICFP","first_page":"1","last_page":"23"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9965000152587891,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9952999949455261,"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/laziness","display_name":"Laziness","score":0.8251103758811951},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7489563226699829},{"id":"https://openalex.org/keywords/lazy-evaluation","display_name":"Lazy evaluation","score":0.6677473783493042},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.6543017625808716},{"id":"https://openalex.org/keywords/denotational-semantics","display_name":"Denotational semantics","score":0.6539051532745361},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.6531887054443359},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6500799059867859},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5962992906570435},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.48865893483161926},{"id":"https://openalex.org/keywords/action-semantics","display_name":"Action semantics","score":0.46851491928100586},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3968597948551178}],"concepts":[{"id":"https://openalex.org/C2776447739","wikidata":"https://www.wikidata.org/wiki/Q484","display_name":"Laziness","level":2,"score":0.8251103758811951},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7489563226699829},{"id":"https://openalex.org/C128099668","wikidata":"https://www.wikidata.org/wiki/Q573952","display_name":"Lazy evaluation","level":3,"score":0.6677473783493042},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.6543017625808716},{"id":"https://openalex.org/C207648694","wikidata":"https://www.wikidata.org/wiki/Q1189746","display_name":"Denotational semantics","level":4,"score":0.6539051532745361},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.6531887054443359},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6500799059867859},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5962992906570435},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.48865893483161926},{"id":"https://openalex.org/C150607116","wikidata":"https://www.wikidata.org/wiki/Q4677421","display_name":"Action semantics","level":5,"score":0.46851491928100586},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3968597948551178},{"id":"https://openalex.org/C118552586","wikidata":"https://www.wikidata.org/wiki/Q7867","display_name":"Psychiatry","level":1,"score":0.0},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3341718","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341718","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341718","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:nottingham-repository.worktribe.com:2222777","is_oa":true,"landing_page_url":"https://nottingham-repository.worktribe.com/output/2222777","pdf_url":null,"source":{"id":"https://openalex.org/S4306402483","display_name":"Repository@Nottingham (University of Nottingham)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I142263535","host_organization_name":"University of Nottingham","host_organization_lineage":["https://openalex.org/I142263535"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Journal Article"}],"best_oa_location":{"id":"doi:10.1145/3341718","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341718","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341718","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/G1934935867","display_name":null,"funder_award_id":"Engineering and Physical Sciences R","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G2211032190","display_name":null,"funder_award_id":"EP/P00587X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G2771246334","display_name":"Mind the Gap: Unified Reasoning About Program Correctness and Efficiency","funder_award_id":"EP/P00587X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8719353587","display_name":null,"funder_award_id":"EP/P0","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"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/W2966669184.pdf","grobid_xml":"https://content.openalex.org/works/W2966669184.grobid-xml"},"referenced_works_count":36,"referenced_works":["https://openalex.org/W1537537016","https://openalex.org/W1539402181","https://openalex.org/W1559686260","https://openalex.org/W1567612444","https://openalex.org/W1597593202","https://openalex.org/W1995338553","https://openalex.org/W2004843654","https://openalex.org/W2011565534","https://openalex.org/W2016408482","https://openalex.org/W2024189573","https://openalex.org/W2030663607","https://openalex.org/W2035636826","https://openalex.org/W2046280690","https://openalex.org/W2050400596","https://openalex.org/W2051600983","https://openalex.org/W2054386188","https://openalex.org/W2058538117","https://openalex.org/W2062838731","https://openalex.org/W2067911767","https://openalex.org/W2070811535","https://openalex.org/W2079399972","https://openalex.org/W2088030260","https://openalex.org/W2089241138","https://openalex.org/W2090759054","https://openalex.org/W2092408876","https://openalex.org/W2094647969","https://openalex.org/W2105045857","https://openalex.org/W2112022010","https://openalex.org/W2141568518","https://openalex.org/W2500774680","https://openalex.org/W2750915892","https://openalex.org/W2788380076","https://openalex.org/W2883850570","https://openalex.org/W3016525019","https://openalex.org/W3145350942","https://openalex.org/W3195620086"],"related_works":["https://openalex.org/W1422032522","https://openalex.org/W2083686643","https://openalex.org/W1822389052","https://openalex.org/W2035082615","https://openalex.org/W2738461706","https://openalex.org/W783270985","https://openalex.org/W1585037119","https://openalex.org/W2804733059","https://openalex.org/W2966669184","https://openalex.org/W2753815840"],"abstract_inverted_index":{"Call-by-need":[0],"evaluation,":[1,6],"also":[2],"known":[3],"as":[4],"lazy":[5,52,120],"provides":[7],"two":[8],"key":[9],"benefits:":[10],"compositional":[11],"programming":[12],"and":[13,74,109],"infinite":[14],"data.":[15],"The":[16],"standard":[17,85],"semantics":[18,24,61,77,92,118],"for":[19,62,119],"laziness":[20],"is":[21],"Launchbury\u2019s":[22],"natural":[23],"DBLP:conf/popl/Launchbury93,":[25],"which":[26],"uses":[27],"a":[28,80,102],"heap":[29,43],"to":[30,83,113],"memoise":[31],"the":[32,38,48,69,84,107,114],"results":[33,105],"of":[34,41,51,101,104],"delayed":[35],"evaluations.":[36],"However,":[37],"stateful":[39],"nature":[40],"this":[42,55,76,90],"greatly":[44,93],"complicates":[45],"reasoning":[46],"about":[47],"operational":[49,95],"behaviour":[50],"programs.":[53],"In":[54],"article,":[56],"we":[57],"propose":[58],"an":[59],"alternative":[60],"laziness,":[63],"clairvoyant":[64],"evaluation":[65],",":[66],"that":[67],"replaces":[68],"state":[70],"effect":[71],"with":[72],"nondeterminism,":[73],"prove":[75],"equivalent":[78],"in":[79],"strong":[81],"sense":[82],"semantics.":[86],"We":[87],"show":[88],"how":[89,110],"new":[91],"simplifies":[94],"reasoning,":[96],"admitting":[97],"much":[98],"simpler":[99],"proofs":[100],"number":[103],"from":[106],"literature,":[108],"it":[111],"leads":[112],"first":[115],"denotational":[116],"cost":[117],"evaluation.":[121]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
