in a multi-package project changes in one package do not propagate to other packages, independent whether the packages are added as single project or in a directory consisting of multiple packages.
example (use https://github.com/andrewufrank/test-multiproject.git, with multiple minimal packages to demonstrate):
in package M (in lib/m) change the function
thirdFuncM to include an int as argument (
thirdFuncM:: Int -> IO ()).
save recompiles without error. then change in the Main (in b/app), the call to include this argument (
thirdFuncM 3), save and recompilation reports an error (
Couldn’t match expected type ‘Integer -> IO a0’ with actual type ‘IO ()
which goes away when the project is rebuild with stack.
stack is recognizing the need to rebuild, which ghc-atom should as well (and do it automatically). - it would be highly desirable, if a change in a library does produce the recompilations above and output the error messages; such behavior would warn about changes with large consequences.
i use atom 1.14.3 on a debian stretch system. ghc-mod is 1.19.9 where ghc is 18.104.22.168 compiled with 8.0.2 using lts-8.6