On Wed, Jul 26, 2006 at 11:54:37AM +0100, Malcolm Wallace wrote:
For hacking, you want the build to be quick - quick to build in the first place, and quick to rebuild after making changes. Tuning your build setup can make the difference between several hours to build GHC, and less than an hour. Here's how to do it.
This reminds me of something. I ofter use {-# NOINLINE ... #-} with ghc combined with frugal export lists in order to speed up the rebuild process when I know something is not going to benefit from being inlined or temporarily when I am making lots of internal changes to a file and want the rebuilds to go as fast as possible. However, whenever I change a data type or class even if they are not exported, it seems to force a full rebuild of everything that depends on that file. Is there any fundamental reason this can't be fixed? why do the non exported classes and data types end up in the hi file anyway (assuming they appear in no exported functions type signature of course) perhaps there could be a mode that means "optimize, but do so in a way that minimized the need to rebuild anything", so it will do optimization and inlining within a module, but will avoid anything that changes the external interface in a way that will cause dependencies to need to be rebuilt. John -- John Meacham - ⑆repetae.net⑆john⑈