
#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