Smalltalk takes a hardline view on syntax errors and undefined variables: you can't save a new method until it's fixed. It's a nice way to work, as methods tend to be small, so virtually all your code is in a runnable state all the time.