The suitability of CRSX for transformations on Haskell
Summary
When compiling a program, the code is transformed several times, optimizing the code or translating to another language. Some of these transformations are, or almost are, CRSs (Combinatory Reduction Systems). CRSs are abstract systems with a lot of theoretical background: fitting a transformation in CRS can for example help prove correctness of the transformation. In recognition of the benefit CRSs can have to the compilation process, CRSX was developed: a practical implementation of CRS with extensions. This paper investigates the suitability of CRS and CRSX for transformations on programs written in Haskell.