9. Compiler-Generator-Erzeugung

Partielle Auswertung kann auch einen alleinstehenden Compilergenerator erzeugen. Ein Compilergenerator ist ein Programm, das als Eingabe eine Programmspezifikation int erhält und daraus einen Compiler generiert. In dem Bild oben ist cogen ein solcher Compilergenerator.
Wenn man durch partielle Auswertung einen Compiler erzeugt, gilt die folgende Gleichung (siehe oben ) : compiler = [| mix |] [mix , int ] .
mix ist hierbei ein Programm mit zwei Eingaben : mix und int. Spezialisiert man dieses Programm auf seine erste Eingabe, so erhält man ein Programm, das bei gleicher zweiter Eingabe int, die gleiche Ausgabe compiler erzeugt. Dies ist auch schon genau das, was gewünscht ist. So kann man also durch partielle Auswertung cogen, den Compilergenerator, erzeugen. Die entsprechende Gleichung lautet also :
cogen = [|mix|] [mix,mix]
Diese Gleichung wird dritte Futamuraprojektion genannt.