1 Answer
1

For GHC, you can change and recompile a single module without having to recompile modules depending on that, provided the exposed interface doesn't change. GHC's --make mode (default as of ghc-7.*) checks whether recompilation is necessary and recompiles only those modules where it can't determine that it's not necessary.

If you have a cabal package and you cabal build after changing one module, you can see from the compiler output that it doesn't recompile all modules in the package in general, only the changed module and [maybe] the ones depending on it.

If you build an executable, that of course has to be relinked, but many of the old object files can be reused.

If you build a library, the library archive of course has to be rebuilt, but many of the old object files can be reused.