[GHC] #835: Expose less type/class info in an interface file, to reduce recompilation

GHC cvs-ghc at haskell.org
Mon Jan 21 11:26:42 CET 2013


#835: Expose less type/class info in an interface file, to reduce recompilation
-------------------------------+--------------------------------------------
  Reporter:  simonpj           |          Owner:                  
      Type:  feature request   |         Status:  closed          
  Priority:  normal            |      Milestone:  _|_             
 Component:  Compiler          |        Version:  6.4.2           
Resolution:  wontfix           |       Keywords:                  
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown      |     Difficulty:  Unknown         
  Testcase:                    |      Blockedby:                  
  Blocking:                    |        Related:                  
-------------------------------+--------------------------------------------

Comment(by simonpj):

 There is a long saga here.  For quite while we ''did'' try to avoid
 exporting the consructors of a data type whose representation did not need
 to leak; but I finally gave up the battle in Dec 2012:
 {{{
     commit 9a20e540754fc2af74c2e7392f2786a81d8d5f11
     Author: Simon Peyton Jones <simonpj at microsoft.com>
     Date:   Thu Dec 6 16:03:16 2012 +0000

     Stop attempting to "trim" data types in interface files

     Without -O, we previously tried to make interface files smaller
     by not including the data constructors of data types.  But
     there are a lot of exceptions, notably when Template Haskell is
     involved or, more recently, DataKinds.

     However Trac #7445 shows that even without TemplateHaskell, using
     the Data class and invoking Language.Haskell.TH.Quote.dataToExpQ
     is enough to require us to expose the data constructors.

     So I've given up on this "optimisation" -- it's probably not
     important anyway.  Now I'm simply not attempting to trim off
     the data constructors.  The gain in simplicity is worth the
     modest cost in interface file growth, which is limited to the
     bits reqd to describe those data constructors.
 }}}
 So yes, wontfix.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/835#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list