Notes for pipelines of transformations for ML
Françoise Bellegarde · 2018
These notes attempt to survey basic manipulations that can be done to a ML functional program prior to compilation. The paper does not consider transformations for improvement of the code but it only considers manipulations of the source text which can allow the compiler to do a better job. Which manipulation to choose depends on the target language. The survey can be useful for answering the above question and hence for choosing a convenient pipeline of transformations to prepare translation towards a given target language. Functional program transformation modifies the whole structure of a functional program in order to facilitate the production of a better code. It can also make the program use less memory. Functional programs have a precise mathematical semantic which allows to use source to source transformation techniques in order to provide any semantically correct desired form of program. In this paper, we address a catalog of eager semantic transformations on a functio...