In functional programming, intermediate data structures are often used to glue together several programs. These intermediate data structures help us to make modularized program easy. But these cause several overhead in execution time. Deforestation and foldr/build transformation are transformation techniques which remove intermediate data structures at compile time.
We focus on differences of foldr/build transformation and deforestation which make their effect different. And we compare these two transformations and present a new transformation technique, hybrid deforestation which can remove intermediate data structures. We present a new language form, hybrid treeless form that hybrid deforestation uses as input program. Hybrid treeless form is composition of input of foldr/build transformation and deforestation. This transformation technique is derived from composing deforestation and foldr/build transformation. It is expansion of foldr/build transformation using deforestation algorithm.
We believe that the effect of hybrid deforestation is equivalent to union of deforestation and foldr/build transformation.