Skip to content

Expose less type/class info in an interface file, to reduce recompilation

John Meacham writes "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)."

Solution: Fix GHC so that it doesn't expose a data type at all if nothing about it is exported; and doesn't its constructors if they are not exported, and not used in any unfolding.

Doing this would reduce recompilation changes.

http://www.haskell.org/pipermail/glasgow-haskell-users/2006-July/010596.html

Trac metadata
Trac field Value
Version 6.4.2
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Unknown
Architecture Unknown
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information