This idea is not mine. I am not sure who came up with it. I have seen it referenced from time to time for several years, most lately on the PiLuD mailing list.
The idea is this:
Instead of running the compiler when you have changed a file, make the compiler always run in the background and notice when a file changes.
This can be accomplished now by combining some standard Linux tools (inotifytools etc.) with gcc/make. But, it is not packaged all together.
So, the technology is there, but what can you do with it? One of the ways this could work with C2 would be to trigger the compiler when a file changed. Since C2 has a built in build system, you do not need as many extra tools.
The inotifywait program can be run on a directory and will spit out a stream of things that changed. This can be used with shell scripts to prototype something like this very quickly. Now imagine that this was built in to the C2 compiler:
$> c2 --watch ~/myProject
$> cd myProject
$ myProject> vi main.c2
...
The nice part about decoupling the compiler from any IDE is that you can play with both the IDE and the compiler without worrying about the other one. I.e. I can use vi, you can use emacs. The compiler stays the same.
Best,
Kyle