cabal test will stop after the tests complete. It would be nice and practical to have the tests automated if the related sources has been changed, like cabal ~test will issue a test command every time when a source has been changed.
I think this would be very useful.
Probably can be implemented on top of Cabal using e.g. Facebook's watchman.
Yeah, also there's a thing called guard written in ruby, but you need to write your own ruby script to monitor the file changes. Seems haskell interact with C better than anything else, this would be a better choice. Also need to take care of the memory consumption after repetitious compiling and testing. I think it's not only sbt-style, a lot of modern build tools support this.