Immutable and Incremental Programming


How about making programming languages immutable?

What if the basic requirement of a software project is that you cannot change code anymore as soon you've added new functionality or fixed a bug?

Think of a log structured filesystem, for example. All changes are applied on top of what is already there.

How would such a programming language and work? What features would programmers need from an development environment that makes immutable programming feasible?

Is this just a crazy idea? Was it exercised in all details before computers evolved from punch card readers to having terminals? Or are we now capable to create something useful; may be something better, which builds on this approach?