自己書き換えが問題なのか、具体的に話して。
言語仕様的には全く問題ない。実装が問題なだけであって。

ただ関数型言語で言えば.NET上にはF#がある。
遅延評価もたしか入っていたはずだが。詳しくはしらんので調べてください。
http://en.wikipedia.org/wiki/F_Sharp