El empleo de componentes modulares en el paradigma de programación funcional acarrea la necesidad de manipular estructuras de datos que sirvan como medio de comunicación entre unas y otras. Este tipo de diseño puede ser ineficiente debido a la generación de muchas estructuras de datos intermedias. Existen técnicas de transformación de programas funcionales, que dado un programa escrito en forma modular, pueden combinar diferentes partes del mismo para construir un programa equivalente que no emplee estas estructuras intermedias. Una serie importante de trabajos apuntan a automatizar estas técnicas para su inclusión en compiladores.
En el marco del desarrollo de un sistema que realiza automáticamente algunas de estas transformaciones sobre programas escritos en Haskell, nuestro objetivo es presentar una revisión de algunos de los algoritmos utilizados.
|