GHC has a neat ghc --make command, which basically does (half of) what you are going to do http://www.haskell.org/ghc/docs/latest/html/users_guide/modes.html#make-mode Can gambit too, follow dependencies the same way and build too object files when it sees a load/include and that the file is there (and that no static analysis shows this load is in fact dynamically bound to a function that returns the pi-th root of the golden ratio)
I wouldn't want this. It's common in Gambit for LOAD to be ambiguous, i.e. if you want your module to be compiled, you compile it; if you want it to be interpreted, you don't compile it. I switch between interpreted/compiled a good bit for individual modules for debugging, interactivity, quick development, etc.
If Gambit ever adopts a module system, we may have enough information to rationalize about the modules, and this may be possible.