
On Fri, 2008-10-03 at 16:25 +0100, Magnus Therning wrote:
Ah, now I understand. The object for GHC would be to reduce the system-wide use of memory rather than substitutability of DLLs then, right?
Why would it be interesting to have sharable objects without substitutability?
Hello world and plugins you want to load into foreign programs would be a few k rather than a few hundred or a few thousand k. Being able to substitute is something that may be possible later, at least for some packages. Simon has been mulling over some of the possibilities here. One idea is if you specifically want to build a .so or .dll with a stable ABI then you could declare that's what you want to do, and then not do cross-module inlining by default (except for those functions marked INLINE) then you can guarantee you're not breaking ABI so long as you do not change the types of exported functions or the implementations of functions marked INLINE. Extending the ABI in a compatible way needs more thought about a suitable mechanism. Duncan