{"id":"https://openalex.org/W2738478951","doi":"https://doi.org/10.1145/3110256","title":"Abstracting definitional interpreters (functional pearl)","display_name":"Abstracting definitional interpreters (functional pearl)","publication_year":2017,"publication_date":"2017-08-29","ids":{"openalex":"https://openalex.org/W2738478951","doi":"https://doi.org/10.1145/3110256","mag":"2738478951"},"language":"en","primary_location":{"id":"doi:10.1145/3110256","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110256","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110256&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=3110256&type=pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"David Darais","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David Darais","raw_affiliation_strings":["University of Maryland, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Nicholas Labich","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nicholas Labich","raw_affiliation_strings":["University of Maryland, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Ph\u00fac C. Nguyen","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ph\u00fac C. Nguyen","raw_affiliation_strings":["University of Maryland, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":null,"display_name":"David Van Horn","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Van Horn","raw_affiliation_strings":["University of Maryland, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":2.7022,"has_fulltext":true,"cited_by_count":46,"citation_normalized_percentile":{"value":0.92343526,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":99},"biblio":{"volume":"1","issue":"ICFP","first_page":"1","last_page":"25"},"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.9239000082015991,"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.9239000082015991,"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.02419999986886978,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.011300000362098217,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.7368999719619751},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.527899980545044},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5097000002861023},{"id":"https://openalex.org/keywords/interpretation","display_name":"Interpretation (philosophy)","score":0.4602000117301941},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.4542999863624573},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.4092999994754791},{"id":"https://openalex.org/keywords/subject","display_name":"Subject (documents)","score":0.3571999967098236}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7505000233650208},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.7368999719619751},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6126000285148621},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.527899980545044},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5097000002861023},{"id":"https://openalex.org/C527412718","wikidata":"https://www.wikidata.org/wiki/Q855395","display_name":"Interpretation (philosophy)","level":2,"score":0.4602000117301941},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.4542999863624573},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.4092999994754791},{"id":"https://openalex.org/C2777855551","wikidata":"https://www.wikidata.org/wiki/Q12310021","display_name":"Subject (documents)","level":2,"score":0.3571999967098236},{"id":"https://openalex.org/C136197465","wikidata":"https://www.wikidata.org/wiki/Q1729295","display_name":"Variety (cybernetics)","level":2,"score":0.350600004196167},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.33250001072883606},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.3124000132083893},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3061999976634979},{"id":"https://openalex.org/C2776937656","wikidata":"https://www.wikidata.org/wiki/Q2229669","display_name":"Nesting (process)","level":2,"score":0.29019999504089355},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.2800999879837036},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.275299996137619},{"id":"https://openalex.org/C12426560","wikidata":"https://www.wikidata.org/wiki/Q189569","display_name":"Basis (linear algebra)","level":2,"score":0.26660001277923584},{"id":"https://openalex.org/C48859967","wikidata":"https://www.wikidata.org/wiki/Q6486712","display_name":"Language construct","level":2,"score":0.26179999113082886},{"id":"https://openalex.org/C141141315","wikidata":"https://www.wikidata.org/wiki/Q2379942","display_name":"Guard (computer science)","level":2,"score":0.2590999901294708},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.25839999318122864}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3110256","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110256","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110256&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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:arXiv.org:1707.04755","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1707.04755","pdf_url":"https://arxiv.org/pdf/1707.04755","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/3110256","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110256","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110256&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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/G1732280479","display_name":"TWC: Large: Collaborative: The Science and Applications of Crypto-Currency","funder_award_id":"1518765","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6268822357","display_name":null,"funder_award_id":"1618756","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6507447573","display_name":null,"funder_award_id":"several","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":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2738478951.pdf","grobid_xml":"https://content.openalex.org/works/W2738478951.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W1253240651","https://openalex.org/W1489879801","https://openalex.org/W1509346803","https://openalex.org/W1521434182","https://openalex.org/W1522225310","https://openalex.org/W1553894716","https://openalex.org/W1595745052","https://openalex.org/W1915934711","https://openalex.org/W1970782371","https://openalex.org/W1974939942","https://openalex.org/W1979039632","https://openalex.org/W1984188064","https://openalex.org/W1990810662","https://openalex.org/W1995674161","https://openalex.org/W1998915208","https://openalex.org/W2013885073","https://openalex.org/W2014359987","https://openalex.org/W2043261859","https://openalex.org/W2043416466","https://openalex.org/W2046656770","https://openalex.org/W2048802511","https://openalex.org/W2049836546","https://openalex.org/W2060205259","https://openalex.org/W2063019130","https://openalex.org/W2070598037","https://openalex.org/W2073569229","https://openalex.org/W2081841061","https://openalex.org/W2083878525","https://openalex.org/W2099107163","https://openalex.org/W2101512909","https://openalex.org/W2105443946","https://openalex.org/W2110507526","https://openalex.org/W2113098044","https://openalex.org/W2141576692","https://openalex.org/W2153036969","https://openalex.org/W2165876990","https://openalex.org/W2174627168","https://openalex.org/W2681883877","https://openalex.org/W2952100912","https://openalex.org/W4235903093","https://openalex.org/W4236379125","https://openalex.org/W6723118080","https://openalex.org/W6785525254"],"related_works":[],"abstract_inverted_index":{"In":[0,185],"this":[1,57,144],"functional":[2],"pearl,":[3],"we":[4,102],"examine":[5],"the":[6,53,83,89,93,110,125,132,137,151,159,179,192,200],"use":[7],"of":[8,17,42,56,62,88,131,136,161,181],"definitional":[9,25,80,98,106,190],"interpreters":[10,81,107],"as":[11],"a":[12,35,39,60,168,189],"basis":[13,37],"for":[14,38,71,97,146],"abstract":[15,45,99,105,126],"interpretation":[16],"higher-order":[18,147],"programming":[19],"languages.":[20],"As":[21],"it":[22],"turns":[23],"out,":[24],"interpreters,":[26],"especially":[27],"those":[28],"written":[29],"in":[30,76,124,199],"monadic":[31],"style,":[32],"can":[33,108],"provide":[34],"nice":[36],"wide":[40],"variety":[41],"collecting":[43],"semantics,":[44,127],"interpretations,":[46],"symbolic":[47],"executions,":[48],"and":[49,119,155,171,202],"their":[50],"intermixings.":[51],"But":[52],"real":[54],"insight":[55,64],"story":[58],"is":[59,197],"replaying":[61],"an":[63],"from":[65,167,188],"Reynold's":[66],"landmark":[67],"paper,":[68],"Definitional":[69],"Interpreters":[70],"Higher-Order":[72],"Programming":[73],"Languages":[74],",":[75],"which":[77],"he":[78],"observes":[79],"enable":[82],"defined-language":[84],"to":[85,142,177,208],"inherit":[86,109],"properties":[87],"defining-language.":[90,138],"We":[91],"show":[92],"same":[94],"holds":[95],"true":[96],"interpreters.":[100],"Remarkably,":[101],"observe":[103],"that":[104],"so-called":[111],"\u201cpushdown":[112],"control":[113,183,194],"flow\u201d":[114],"property,":[115],"wherein":[116],"function":[117,133],"calls":[118],"returns":[120],"are":[121],"precisely":[122],"matched":[123],"simply":[128],"by":[129],"virtue":[130],"call":[134],"mechanism":[135,207],"The":[139],"first":[140],"approaches":[141,165],"achieve":[143],"property":[145,196],"languages":[148],"appeared":[149],"within":[150],"last":[152],"ten":[153],"years,":[154],"have":[156],"since":[157],"been":[158],"subject":[160],"many":[162],"papers.":[163],"These":[164],"start":[166],"state-machine":[169],"semantics":[170],"uniformly":[172],"involve":[173],"significant":[174],"technical":[175,206],"engineering":[176],"recover":[178],"precision":[180],"pushdown":[182,193],"flow.":[184],"contrast,":[186],"starting":[187],"interpreter,":[191],"flow":[195],"inherent":[198],"meta-language":[201],"requires":[203],"no":[204],"further":[205],"achieve.":[209]},"counts_by_year":[{"year":2025,"cited_by_count":10},{"year":2024,"cited_by_count":7},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":7},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":3}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2017-07-31T00:00:00"}
