{"id":"https://openalex.org/W2081124914","doi":"https://doi.org/10.1145/1291151.1291199","title":"Stream fusion","display_name":"Stream fusion","publication_year":2007,"publication_date":"2007-10-01","ids":{"openalex":"https://openalex.org/W2081124914","doi":"https://doi.org/10.1145/1291151.1291199","mag":"2081124914"},"language":"en","primary_location":{"id":"doi:10.1145/1291151.1291199","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1291151.1291199","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th 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/A5064250078","display_name":"Duncan Coutts","orcid":"https://orcid.org/0000-0001-7450-4429"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Duncan Coutts","raw_affiliation_strings":["Oxford University, Oxford, United Kingdom","Oxford University, Oxford, United Kingdom,"],"affiliations":[{"raw_affiliation_string":"Oxford University, Oxford, United Kingdom","institution_ids":["https://openalex.org/I40120149"]},{"raw_affiliation_string":"Oxford University, Oxford, United Kingdom,","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5007894751","display_name":"Roman Leshchinskiy","orcid":null},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Roman Leshchinskiy","raw_affiliation_strings":["University of New South Wales, Sydney, Australia","University of New South wales, Sydney, Australia"],"affiliations":[{"raw_affiliation_string":"University of New South Wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]},{"raw_affiliation_string":"University of New South wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5056309372","display_name":"Don Stewart","orcid":null},"institutions":[{"id":"https://openalex.org/I31746571","display_name":"UNSW Sydney","ror":"https://ror.org/03r8z3t63","country_code":"AU","type":"education","lineage":["https://openalex.org/I31746571"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Don Stewart","raw_affiliation_strings":["University of New South Wales, Sydney, Australia","University of New South wales, Sydney, Australia"],"affiliations":[{"raw_affiliation_string":"University of New South Wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]},{"raw_affiliation_string":"University of New South wales, Sydney, Australia","institution_ids":["https://openalex.org/I31746571"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5064250078"],"corresponding_institution_ids":["https://openalex.org/I40120149"],"apc_list":null,"apc_paid":null,"fwci":14.35192075,"has_fulltext":false,"cited_by_count":190,"citation_normalized_percentile":{"value":0.9902515,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"315","last_page":"326"},"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.9991999864578247,"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.9991999864578247,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.9973999857902527,"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/haskell","display_name":"Haskell","score":0.9269363880157471},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7641356587409973},{"id":"https://openalex.org/keywords/fuse","display_name":"Fuse (electrical)","score":0.6896573901176453},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6741294860839844},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.610439658164978},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4743689000606537},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.4566061496734619},{"id":"https://openalex.org/keywords/fusion","display_name":"Fusion","score":0.4486883580684662},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.36626672744750977}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9269363880157471},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7641356587409973},{"id":"https://openalex.org/C141353440","wikidata":"https://www.wikidata.org/wiki/Q182221","display_name":"Fuse (electrical)","level":2,"score":0.6896573901176453},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6741294860839844},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.610439658164978},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4743689000606537},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.4566061496734619},{"id":"https://openalex.org/C158525013","wikidata":"https://www.wikidata.org/wiki/Q2593739","display_name":"Fusion","level":2,"score":0.4486883580684662},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.36626672744750977},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1291151.1291199","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1291151.1291199","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.41999998688697815,"id":"https://metadata.un.org/sdg/15","display_name":"Life in Land"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W84930537","https://openalex.org/W1480753098","https://openalex.org/W1527713232","https://openalex.org/W1534185537","https://openalex.org/W1543641760","https://openalex.org/W1556536463","https://openalex.org/W1573175923","https://openalex.org/W1599275252","https://openalex.org/W1608714802","https://openalex.org/W1734457603","https://openalex.org/W1963928257","https://openalex.org/W1966981171","https://openalex.org/W1975580206","https://openalex.org/W1990403418","https://openalex.org/W2048706733","https://openalex.org/W2116151771","https://openalex.org/W2116827712","https://openalex.org/W2117818027","https://openalex.org/W2118172707","https://openalex.org/W2159227002","https://openalex.org/W2208923056","https://openalex.org/W2396532684","https://openalex.org/W2468266650","https://openalex.org/W3012271422","https://openalex.org/W4254992562"],"related_works":["https://openalex.org/W2090337950","https://openalex.org/W2046806568","https://openalex.org/W2112263414","https://openalex.org/W3004782279","https://openalex.org/W1602185604","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W1488646450"],"abstract_inverted_index":{"This":[0],"paper":[1],"presents":[2],"an":[3,99],"automatic":[4],"deforestation":[5],"system,":[6],"stream":[7,27,83],"fusion,":[8],"based":[9],"on":[10,77],"equational":[11],"transformations,":[12],"that":[13],"fuses":[14],"a":[15,90],"wider":[16,91],"range":[17,92],"of":[18,47,79,93,104,106],"functions":[19,37,56,94],"than":[20],"existing":[21],"short-cut":[22],"fusion":[23,28,84,107],"systems.":[24],"In":[25],"particular,":[26],"is":[29,50],"able":[30],"to":[31,57,95],"fuse":[32],"zips,":[33],"left":[34],"folds":[35],"and":[36,117],"over":[38],"nested":[39],"lists,":[40],"including":[41],"list":[42,55],"comprehensions.":[43],"A":[44],"distinguishing":[45],"feature":[46],"the":[48,72,102],"framework":[49],"its":[51],"simplicity:":[52],"by":[53,65],"transforming":[54],"expose":[58],"their":[59],"structure,":[60],"intermediate":[61],"values":[62],"are":[63],"eliminated":[64],"general":[66],"purpose":[67],"compiler":[68],"optimisations.We":[69],"have":[70],"reimplemented":[71],"Haskell":[73,86,110],"standard":[74],"List":[75],"library":[76],"top":[78],"our":[80],"framework,":[81],"providing":[82],"for":[85],"lists.":[87],"By":[88],"allowing":[89],"fuse,":[96],"we":[97],"see":[98],"increase":[100],"in":[101,108],"number":[103],"occurrences":[105],"typical":[109],"programs.":[111],"We":[112],"present":[113],"benchmarks":[114],"documenting":[115],"time":[116],"space":[118],"improvements.":[119]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":17},{"year":2016,"cited_by_count":10},{"year":2015,"cited_by_count":18},{"year":2014,"cited_by_count":19},{"year":2013,"cited_by_count":19},{"year":2012,"cited_by_count":19}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2016-06-24T00:00:00"}
