Claus Reinke wrote:

- but if that isn't the case:
   - ask ghc 6.11 to explain its .hi files in Haskell terms
       ghc6.11 --show-iface-haskell libdir/*.hi -hsiodir hsi

   - direct ghc-api 6.10 to consult hsi files for missing libs
       GAC +RTS -hsidir hsi

So the fundamental problem with this is that when new features are introduced in GHC 6.11, these features are not expressable in whatever interface format is understood by the 6.10 API client. The guy who wrote the code you're trying to process might not know or care about the new features - they might be used in some library that is indirectly depended on.

e.g. suppose (hypothetically) we rewrote the array package to use type families and shipped it with GHC 6.10.1. Most client code works unchanged. But a GHC 6.8-compiled API client has no hope of understanding the interfaces for the array library now; they use a type language that GHC 6.8 just doesn't grok.

This kind of backwards compatibility only works if you really fix the language in which interfaces are expressed, and when we're doing things like changing the type system that's not feasible.

Cheers,
        Simon

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to