Universidad de Castilla-La Mancha
Departamento de Sistemas Informáticos

Technical Report
Código: DIAB-04-03-1
Fecha Publicación: 25-03-2004
Título: Combining Composition and Tupling for Optimizing Declarative Programs
Detalle: This paper investigates the optimization by fold/unfold of declarative programs that integrate the best features from both functional and logic programming. Transformation sequences are guided by a mixed strategy that successfully combines two well-known heuristics -composition and tupling- thus avoiding the construction of intermediate data structures and redundant sub-computations. We have decomposed the internal structure of both methods in three low-level transformation phases in order to analyze their main similarities and differences. In particular, whereas composition is able to produce a single function definition for some nested (composed) functions, the tupling method needs more sophisticated analysis for discovering the set of calls to be tupled. We solve this problem by simply considering non-nested calls sharing common variables on a given expression. With this easy method, that complements the one done by composition, we are able to perform powerful tupling optimizations at a very low cost. Moreover, by appropriately combining both strategies, we optimize a wide range of programs containing nested and/or non-nested function calls in a fully automatic way.

Autor Detalles

Fichero Bytes Detalles
DIAB-04-03-1.zip 123.7K


Sindicación     Sindicación     Sindicación
Curso: 2017-18
© Departamento de Sistemas Informáticos
ESII - Avda. de España s/n
02071 Albacete
Tfno: 967 59 92 00 - Fax: 967 59 92 24

aviso legal