Das ging bisher gar nicht:
let { f = \ x -> if x > 0 
                 then x * f (x -1) else 1 
    } in  f 5
Lösung 1: benutze Fixpunktkombinator
let { Theta =  ... } in
let { f = Theta ( \ g -> \ x -> if x > 0
                 then x * g (x - 1) else 1 )
    } in f 5
Lösung 2 (später): realisiere Fixpunktberechnung im Interpreter (neuer AST-Knotentyp)