[GHC] #10871: Implement "fat" interface files which can be directly compiled without source

GHC ghc-devs at haskell.org
Thu Oct 15 11:17:55 UTC 2015


#10871: Implement "fat" interface files which can be directly compiled without
source
-------------------------------------+-------------------------------------
        Reporter:  ezyang            |                Owner:  ezyang
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.11
      Resolution:                    |             Keywords:  backpack
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonmar):

 Hmmm... as you know, I'm pretty strongly opposed to the idea of saving
 source code, and this just seems like another variant of saving source
 code.  When the instantiations of the holes are available, just compile
 the source code against the now-concrete dependencies.  Until the concrete
 instantiations are available, you can typecheck but do nothing else.
 There are good reasons to want to do it this way - the main one being that
 "cabal install" should be an effect-free operation, except insofar as it
 makes things available in GHCi.  If "cabal install" has a side effect,
 then it becomes very hard to explain the user interface, because we have
 to take into account the state of the system somehow, and I'm sure this
 will cause problems for users.  We really want "cabal install" to depend
 on its inputs and nothing more.  I understand that the motivation is to
 compile "the same thing that we typechecked" in some sense, but the right
 way to ensure that is to make sure you give "cabal install" the same
 inputs that it had when you typechecked, that is, move the guarantee of
 consistency to a higher level.

 I don't object to the idea of fat interface files per se, but I wonder
 whether it's a feature that will pay for itself.

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


More information about the ghc-tickets mailing list