Changes between Version 5 and Version 6 of Ticket #9562, comment 10


Ignore:
Timestamp:
May 1, 2015 11:45:51 PM (5 years ago)
Author:
ezyang
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #9562, comment 10

    v5 v6  
    2929
    3030This is 7.8; in 7.10 the compilation order is more stable so it seems harder to tickle this case; but you can twiddle the topsort code (reversing `initial_graph` in `topSortModuleGraph` seems to be enough) to get this behavior.
     31
     32However, there is a very compelling counterexample: what happens when you compile into a library? The standard procedure for making a `foo.a` library are:
     33
     341. GHC compiles object files for all the modules.
     352. Cabal calls `ar` to "link" a `foo.a` library.
     36
     37Now a client of the library can use the incompatible modules, and once again, there is no way for a link time check to figure out that there is a problem, because once a Haskell module is put into a package we pretend `hs-boot` files don't exist.