GHC compile times (was Re: GHC 6.4.3 is stalled)

Simon Peyton-Jones simonpj at
Thu Jul 27 04:26:25 EDT 2006

| 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)

There's no fundamental reason.  I think I just thought that it'd be seldom for a data type or class to be defined only internally to a module, and not exported at all.

Somewhat more common is for the *implementation* of the data type (i.e. its data constructors) to be internal, but the type itself is exported.  So then one would want to have a partial spec in the interface file, giving the kind but not the constructors.  Again, I didn’t work on this case.

I'll add a Trac feature request, so we don't forget this


More information about the Glasgow-haskell-users mailing list