
#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): Yes ok, I agree that you could do this and retain the property that cabal- install is deterministic. However, since you also need to support building from source (because the user could just delete the package database and get the same results) isn't this scheme just a very elaborate way to avoid re-typechecking things in some cases? That is, it doesn't add any new functionality, it just saves repeated work. Does this feature pay its way? It's still not clear to me. It feels like something we would have to consider in lots of places, like `hs-boot` files, a kind of tax on people who want to write build systems and tools that work with packages. I wouldn't be surprised if there were tricky technical problems with implementing it fully too. What about core-to-core compiler plugins? What is the equivalent of `ghc -M` for fat interface files? This would mean that we couldn't have C code in a package that depends on something provided by a hole too. Maybe you don't want to support that use case, but given that without fat interfaces it would "just work", it seems a shame to lose it. Essentially I suppose I worry about losing the simple compilation model that we currently have in the name of saving some time. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10871#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler