Programmtransformationen

der Compiler kann Programme umformen, damit Objekte, die gleich wieder konsumiert werden, gar nicht erst erzeugt werden, z. B.

map f . map g = map (f . g)
Umformungen (refactoring) leicht möglich, da keine Nebenwirkungen zu berücksichtigen.


Dabei ist (.) die Funktionskomposition

(.) :: ... 
(f . g) x = f (g (x))
(und zwar falschherum, würde jeder Algebraiker sagen)



Johannes Waldmann 2007-01-23