A solution half-way to what you're talking about (it still utilises text editing) is Paredit/Parinfer for Lisp languages. They allow you to directly edit the program's abstract syntax tree. When coupled with a REPL you can evaluate sections of the syntax tree at will. It gives the dev a much finer grain of control than even the smallest unit test.