A good trick is to use NOINLINE and restricted module exports to ensure changes in one module don't cause others to be recompiled. A common idiom is something like.
module TypeAnalysis(typeAnalyze) where where the module is a fairly large complicated beast, but it just has the single entry point of typeAnalyze, by putting a {-# NOINLINE typeAnalyze #-} in there, you can be sure that changes to the module don't cause other modules to be recompiled in general. John -- John Meacham - ⑆repetae.net⑆john⑈ - http://notanumber.net/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe