{"id":"https://openalex.org/W1971597822","doi":"https://doi.org/10.1145/1186632.1186634","title":"Adaptive functional programming","display_name":"Adaptive functional programming","publication_year":2006,"publication_date":"2006-11-01","ids":{"openalex":"https://openalex.org/W1971597822","doi":"https://doi.org/10.1145/1186632.1186634","mag":"1971597822"},"language":"en","primary_location":{"id":"doi:10.1145/1186632.1186634","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1186632.1186634","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1186632.1186634","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1186632.1186634","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5015051107","display_name":"Umut A. Acar","orcid":"https://orcid.org/0000-0002-2623-4986"},"institutions":[{"id":"https://openalex.org/I160992636","display_name":"Toyota Technological Institute at Chicago","ror":"https://ror.org/02sn5gb64","country_code":"US","type":"education","lineage":["https://openalex.org/I160992636"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Umut A. Acar","raw_affiliation_strings":["Toyota Technological Institute, Chicago, IL"],"affiliations":[{"raw_affiliation_string":"Toyota Technological Institute, Chicago, IL","institution_ids":["https://openalex.org/I160992636"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033930662","display_name":"Guy E. Blelloch","orcid":"https://orcid.org/0000-0003-0224-9187"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Guy E. Blelloch","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Carnegie-Mellon University, Pittsburgh, PA"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Carnegie-Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5028720578","display_name":"Robert Harper","orcid":"https://orcid.org/0000-0002-9400-2941"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Robert Harper","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Carnegie-Mellon University, Pittsburgh, PA"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Carnegie-Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5015051107"],"corresponding_institution_ids":["https://openalex.org/I160992636"],"apc_list":null,"apc_paid":null,"fwci":8.8473,"has_fulltext":true,"cited_by_count":116,"citation_normalized_percentile":{"value":0.97536371,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":"28","issue":"6","first_page":"990","last_page":"1034"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9983000159263611,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9983000159263611,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9970999956130981,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9952999949455261,"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.9104500412940979},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7425436973571777},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5300440788269043},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.5014016628265381},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4527840316295624},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4290927052497864},{"id":"https://openalex.org/keywords/dynamic-programming","display_name":"Dynamic programming","score":0.4287700951099396},{"id":"https://openalex.org/keywords/logarithm","display_name":"Logarithm","score":0.4166554808616638},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3473100960254669},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.34649941325187683}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9104500412940979},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7425436973571777},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5300440788269043},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.5014016628265381},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4527840316295624},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4290927052497864},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.4287700951099396},{"id":"https://openalex.org/C39927690","wikidata":"https://www.wikidata.org/wiki/Q11197","display_name":"Logarithm","level":2,"score":0.4166554808616638},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3473100960254669},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.34649941325187683},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":12,"locations":[{"id":"doi:10.1145/1186632.1186634","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1186632.1186634","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1186632.1186634","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:repository.cmu.edu:compsci-1917","is_oa":false,"landing_page_url":"http://repository.cmu.edu/compsci/921","pdf_url":null,"source":{"id":"https://openalex.org/S4306400668","display_name":"Research Showcase @ Carnegie Mellon University (Carnegie Mellon University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I74973139","host_organization_name":"Carnegie Mellon University","host_organization_lineage":["https://openalex.org/I74973139"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Department","raw_type":"text"},{"id":"pmh:doi:10.1184/r1/6603014","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4406922384","display_name":"Open MIND","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"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":"Journal contribution"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.117.932","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.932","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.aladdin.cs.cmu.edu/papers/pdfs/y2002/adaptive_functional _programing.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.138.1453","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.138.1453","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://ttic.uchicago.edu/~umut/papers/popl02.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.141.7551","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.7551","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/afs/cs/user/rwh/public/www/home/papers/afp/popl02.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.141.7619","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.7619","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/afs/cs/user/rwh/public/www/home/papers/afp/tr01.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.23.8885","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.8885","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/afs/cs.cmu.edu/user/guyb/www/papers/popl02.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.61.2257","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.2257","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/~rwh/papers/afp/toplas06.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.67.4300","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.4300","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/~rwh/papers/afp/tr01.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.73.4385","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.4385","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://reports-archive.adm.cs.cmu.edu/anon/2001/CMU-CS-01-161.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.9.2373","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.2373","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www-2.cs.cmu.edu/~rwh/papers/afp/tr01.ps","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/1186632.1186634","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1186632.1186634","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1186632.1186634","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3480834568","display_name":"ITR: Algorithms: From Theory to Application","funder_award_id":"0085982","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6484169224","display_name":"ITR/SY+IM+AP: Center for Applied Algorithms","funder_award_id":"0122581","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6546929923","display_name":null,"funder_award_id":"CCR-0122581","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7968039957","display_name":"Advanced Languages for Scientific Computation               Environments","funder_award_id":"9706572","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","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/W1971597822.pdf","grobid_xml":"https://content.openalex.org/works/W1971597822.grobid-xml"},"referenced_works_count":46,"referenced_works":["https://openalex.org/W8290509","https://openalex.org/W200699361","https://openalex.org/W243610207","https://openalex.org/W1484930340","https://openalex.org/W1753348055","https://openalex.org/W1800180205","https://openalex.org/W1805323477","https://openalex.org/W1822311423","https://openalex.org/W1965784613","https://openalex.org/W1967890297","https://openalex.org/W1970448777","https://openalex.org/W1988824860","https://openalex.org/W1995307698","https://openalex.org/W1999707021","https://openalex.org/W2007009457","https://openalex.org/W2011055092","https://openalex.org/W2013444956","https://openalex.org/W2014832211","https://openalex.org/W2018804864","https://openalex.org/W2026511056","https://openalex.org/W2035829578","https://openalex.org/W2045977446","https://openalex.org/W2051716170","https://openalex.org/W2054014036","https://openalex.org/W2069528896","https://openalex.org/W2069718764","https://openalex.org/W2073065242","https://openalex.org/W2079520914","https://openalex.org/W2086474457","https://openalex.org/W2089171884","https://openalex.org/W2097284499","https://openalex.org/W2104464431","https://openalex.org/W2112648314","https://openalex.org/W2126884146","https://openalex.org/W2142947709","https://openalex.org/W2166089338","https://openalex.org/W2171379071","https://openalex.org/W2294191420","https://openalex.org/W2341171179","https://openalex.org/W3199565109","https://openalex.org/W4213048098","https://openalex.org/W6600345787","https://openalex.org/W6652968307","https://openalex.org/W6684244709","https://openalex.org/W6704298589","https://openalex.org/W6754610334"],"related_works":["https://openalex.org/W2404647514","https://openalex.org/W1667647204","https://openalex.org/W4247536566","https://openalex.org/W2018477250","https://openalex.org/W3119814709","https://openalex.org/W4241418540","https://openalex.org/W1508895727","https://openalex.org/W2725786787","https://openalex.org/W4283160672","https://openalex.org/W1590965489"],"abstract_inverted_index":{"We":[0,124],"present":[1],"techniques":[2,84],"for":[3,103,111],"incremental":[4],"computing":[5],"by":[6,56,87,158],"introducing":[7],"adaptive":[8,13,145],"functional":[9,178],"programming.":[10],"As":[11],"an":[12,89,144],"program":[14,42,106],"executes,":[15],"the":[16,20,26,29,38,41,49,52,60,76,115,119,130,136,162,167,194,206,211],"underlying":[17],"system":[18,187],"represents":[19],"data":[21],"and":[22,51,62,117,138,164,219],"control":[23],"dependences":[24],"in":[25,28,75,150,205],"execution":[27],"form":[30],"of":[31,100,166,174,188,193],"a":[32,44,93,105,126,171,176],"dynamic":[33,53,213],"dependence":[34,54],"graph":[35,55,61],".":[36],"When":[37],"input":[39,116,155],"to":[40,72,114,121,134],"changes,":[43],"change":[45,74],"propagation":[46],"algorithm":[47,218],"updates":[48],"output":[50,71,120,149],"propagating":[57],"changes":[58,113],"through":[59],"re-executing":[63],"code":[64],"where":[65],"necessary.":[66],"Adaptive":[67],"programs":[68],"adapt":[69,135],"their":[70],"any":[73],"input,":[77],"small":[78,94],"or":[79],"large.We":[80],"show":[81,142,161],"that":[82,143],"adaptivity":[83,182,195],"are":[85],"practical":[86],"giving":[88],"efficient":[90],"implementation":[91],"as":[92],"ML":[95,207],"library.":[96,208],"The":[97,184],"library":[98],"consists":[99],"three":[101],"operations":[102,110],"making":[104,112],"adaptive,":[107],"plus":[108],"two":[109],"adapting":[118],"these":[122],"changes.":[123],"give":[125,170],"general":[127],"bound":[128],"on":[129,140,210],"time":[131,152,204],"it":[132],"takes":[133],"output,":[137],"based":[139],"this,":[141],"Quicksort":[146],"adapts":[147],"its":[148,154,221],"logarithmic":[151],"when":[153],"is":[156],"extended":[157,180],"one":[159],"key.To":[160],"safety":[163],"correctness":[165],"mechanism":[168],"we":[169,215],"formal":[172],"definition":[173],"AFL,":[175],"call-by-value":[177],"language":[179],"with":[181],"primitives.":[183],"modal":[185],"type":[186],"AFL":[189,212],"enforces":[190],"correct":[191],"usage":[192],"mechanism,":[196],"which":[197],"can":[198],"only":[199],"be":[200],"checked":[201],"at":[202],"run":[203],"Based":[209],"semantics,":[214],"formalize":[216],"thechange-propagation":[217],"prove":[220],"correctness.":[222]},"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":2},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":7},{"year":2016,"cited_by_count":6},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":17},{"year":2013,"cited_by_count":11},{"year":2012,"cited_by_count":8}],"updated_date":"2026-04-12T07:58:50.170612","created_date":"2025-10-10T00:00:00"}
