
Dynamic linking doesn't solve all the problems, we still have the problem that GHC does a lot of cross-module inlining, regardless of whether dynamic linking is used. However, I really would like to have a way to have complete control over what is exposed across a package boundary. We need this not just for licensing reasons, but also for making a dynamic library with a fixed ABI, so it can be upgraded later.
Incedentally the lack of this feature is one reason I've not being rushing to get shared libraries into GHC. They're just not that useful unless you can upgrade a library independently of the things it depends on.
I completely agree. Having a fixed ABI that survives library changes and compiler upgrades is an important factor in achieving a useful system. Incidentally, I perused http://hackage.haskell.org/trac/ghc/wiki/DynamicLinking and didn't see much about this here. Is there some notes or a plan for reaching this goal with GHC (or any other Haskell compiler)? Sean
participants (1)
-
Sean Leather