{"id":"https://openalex.org/W2145292256","doi":"https://doi.org/10.1145/258993.259007","title":"Lambda-dropping: transforming recursive equations into programs with block structure","display_name":"Lambda-dropping: transforming recursive equations into programs with block structure","publication_year":1997,"publication_date":"1997-12-01","ids":{"openalex":"https://openalex.org/W2145292256","doi":"https://doi.org/10.1145/258993.259007","mag":"2145292256"},"language":"en","primary_location":{"id":"doi:10.1145/258993.259007","doi":"https://doi.org/10.1145/258993.259007","is_oa":false,"landing_page_url":"https://doi.org/10.1145/258993.259007","pdf_url":null,"source":{"id":"https://openalex.org/S7407087554","display_name":"ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"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/A5016621051","display_name":"Olivier Danvy","orcid":"https://orcid.org/0000-0002-3890-3630","observed_orcids":["https://orcid.org/0000-0002-3890-3630"]},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Olivier Danvy","raw_affiliation_strings":["BRICS, Department of Computer Science, University of Aarhus, Ny Munkegade, Building 540, DK-8000 Aarhus C, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"BRICS, Department of Computer Science, University of Aarhus, Ny Munkegade, Building 540, DK-8000 Aarhus C, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5058259474","display_name":"Ulrik Pagh Schultz","orcid":"https://orcid.org/0000-0003-4119-2689","observed_orcids":["https://orcid.org/0000-0003-4119-2689"]},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Ulrik P. Schultz","raw_affiliation_strings":["BRICS, Department of Computer Science, University of Aarhus, Ny Munkegade, Building 540, DK-8000 Aarhus C, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"BRICS, Department of Computer Science, University of Aarhus, Ny Munkegade, Building 540, DK-8000 Aarhus C, Denmark","institution_ids":["https://openalex.org/I204337017"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I204337017"],"apc_list":null,"apc_paid":null,"fwci":1.2356,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.74683544,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"90","last_page":"106"},"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.9990000128746033,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9990000128746033,"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.00019999999494757503,"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/T10904","display_name":"Embedded Systems Design Techniques","score":9.999999747378752e-05,"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/recursive-equations","display_name":"recursive equations","score":0.8389999866485596},{"id":"https://openalex.org/keywords/functional-programs","display_name":"functional programs","score":0.6179999709129333},{"id":"https://openalex.org/keywords/block-structure","display_name":"block structure","score":0.9340000152587891},{"id":"https://openalex.org/keywords/call-graph","display_name":"call graph","score":0.6539999842643738},{"id":"https://openalex.org/keywords/transitive-closure","display_name":"transitive closure","score":0.871999979019165},{"id":"https://openalex.org/keywords/free-variables","display_name":"free variables","score":0.8640000224113464},{"id":"https://openalex.org/keywords/partial-evaluation","display_name":"partial evaluation","score":0.6639999747276306},{"id":"https://openalex.org/keywords/residual-programs","display_name":"residual programs","score":0.7570000290870667}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5418328642845154}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/258993.259007","doi":"https://doi.org/10.1145/258993.259007","is_oa":false,"landing_page_url":"https://doi.org/10.1145/258993.259007","pdf_url":null,"source":{"id":"https://openalex.org/S7407087554","display_name":"ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:publications/91f82aa2-0970-478f-a7ca-5eddac20b549","doi":null,"is_oa":false,"landing_page_url":"https://pure.au.dk/portal/en/publications/91f82aa2-0970-478f-a7ca-5eddac20b549","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Danvy, O & Schultz, U P 1997, Lambda-dropping : transforming recursive equations into programs with block structure. in PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation . Association for Computing Machinery, pp. 90-106, 1997 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation. PEPM '97, Amsterdam, Netherlands, 12/06/1997. https://doi.org/10.1145/258993.259007","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":51,"referenced_works":["https://openalex.org/W10127936","https://openalex.org/W22089940","https://openalex.org/W55166314","https://openalex.org/W199231109","https://openalex.org/W1491178396","https://openalex.org/W1494199306","https://openalex.org/W1495707300","https://openalex.org/W1521319832","https://openalex.org/W1543641760","https://openalex.org/W1556604985","https://openalex.org/W1567572167","https://openalex.org/W1580664042","https://openalex.org/W1602738123","https://openalex.org/W1605034451","https://openalex.org/W1983764417","https://openalex.org/W1985450085","https://openalex.org/W2001974029","https://openalex.org/W2004971560","https://openalex.org/W2005958145","https://openalex.org/W2044549124","https://openalex.org/W2049803057","https://openalex.org/W2057065238","https://openalex.org/W2058824372","https://openalex.org/W2058958439","https://openalex.org/W2059237359","https://openalex.org/W2065392090","https://openalex.org/W2070756543","https://openalex.org/W2073378225","https://openalex.org/W2073904768","https://openalex.org/W2082433897","https://openalex.org/W2084099544","https://openalex.org/W2085014646","https://openalex.org/W2091921395","https://openalex.org/W2101883603","https://openalex.org/W2113757735","https://openalex.org/W2118172707","https://openalex.org/W2129133667","https://openalex.org/W2134112335","https://openalex.org/W2142958841","https://openalex.org/W2147395854","https://openalex.org/W2154273644","https://openalex.org/W2159591963","https://openalex.org/W2167075594","https://openalex.org/W2170592950","https://openalex.org/W2208923056","https://openalex.org/W2313175711","https://openalex.org/W2404431319","https://openalex.org/W4234193105","https://openalex.org/W4251784901","https://openalex.org/W4252567017","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W4232014456","https://openalex.org/W7098955924","https://openalex.org/W7099883036","https://openalex.org/W7098130031","https://openalex.org/W2142958841","https://openalex.org/W2118172707","https://openalex.org/W4255247166","https://openalex.org/W62232080","https://openalex.org/W4301251633","https://openalex.org/W1926572647"],"abstract_inverted_index":{"Lambda-lifting":[0],"a":[1,7,19,58,127,198,209,233],"functional":[2],"program":[3,128],"transforms":[4],"it":[5],"into":[6,205],"set":[8,20],"of":[9,21,31,43,72,86,100,148,222,254],"recursive":[10,22,33,192,206,217],"equations.":[11,193],"We":[12],"present":[13],"the":[14,39,62,69,87,90,97,108,122,146,149,247,251],"symmetric":[15],"transformation:":[16],"lambda-dropping.":[17],"Lambda-dropping":[18,231],"equations":[23,34],"restores":[24,236],"block":[25,238],"structure":[26,239],"and":[27,51,154,163,176,240,250],"lexical":[28,241],"scope.For":[29],"lack":[30],"scope,":[32],"must":[35],"carry":[36],"around":[37],"all":[38],"parameters":[40,83],"that":[41],"any":[42],"their":[44,112,237],"callees":[45],"might":[46],"possibly":[47],"need.":[48],"Both":[49],"lambda-lifting":[50,153],"lambda-dropping":[52,155],"thus":[53],"require":[54],"one":[55],"to":[56,67,84,95,117,136,141],"compute":[57],"transitive":[59],"closure":[60],"over":[61],"call":[63,91,123],"graph:\u2022":[64],"for":[65,93,174,187],"lambda-lifting:":[66],"establish":[68,96],"Def/Use":[70,98],"path":[71,99],"each":[73,85,101],"free":[74,77,125,135],"variable":[75],"(these":[76],"variables":[78],"are":[79,133,156,213],"then":[80,134],"added":[81],"as":[82,111,216],"functions":[88],"in":[89,107,121,161,164,197,232],"path);\u2022":[92],"lambda-dropping:":[94],"parameter":[102],"(parameters":[103],"whose":[104],"use":[105],"occurs":[106],"same":[109],"scope":[110,150,242],"definition":[113],"do":[114,227],"not":[115,228],"need":[116],"be":[118],"passed":[119],"along":[120,145],"path).Without":[124],"variables,":[126],"is":[129,170],"scope-insensitive.":[130],"Its":[131],"blocks":[132],"float":[137],"(for":[138,143],"lambda-lifting)":[139],"or":[140],"sink":[142],"lambda-dropping)":[144],"vertices":[147],"tree.We":[151],"believe":[152],"interesting":[157],"per":[158],"se,":[159],"both":[160,246],"principle":[162],"practice,":[165],"but":[166],"our":[167],"prime":[168],"application":[169],"partial":[171],"evaluation:":[172],"except":[173],"Malmkj\u00e6r":[175],"\u00d8rb\u00e6k's":[177],"case":[178],"study":[179],"presented":[180],"at":[181],"PEPM":[182],"'95,":[183],"most":[184,225],"polyvariant":[185],"specializers":[186],"procedural":[188],"programs":[189,204,212],"operate":[190],"on":[191],"To":[194],"this":[195],"end,":[196],"pre-processing":[199],"phase,":[200],"they":[201],"lambda-lift":[202],"source":[203],"equations,":[207,218],"As":[208],"result,":[210],"residual":[211,255],"also":[214],"expressed":[215],"often":[219],"with":[220],"dozens":[221],"parameters,":[223],"which":[224],"compilers":[226],"handle":[229],"efficiently.":[230],"post-processing":[234],"phase":[235],"thereby":[243],"significantly":[244],"reducing":[245],"compile":[248],"time":[249,253],"run":[252],"programs.":[256]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
