<div dir="ltr"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dynamic linking doesn&#39;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. &nbsp;However, I really would like to have a way to have complete control over what is exposed across a package boundary. &nbsp;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.<br>

<br>
Incedentally the lack of this feature is one reason I&#39;ve not being rushing to get shared libraries into GHC. &nbsp;They&#39;re just not that useful unless you can upgrade a library independently of the things it depends on.<br>

</blockquote><div><br>I completely agree. Having a fixed ABI that survives library changes and compiler upgrades is an important factor in achieving a useful system.<br><br>Incidentally, I perused <a href="http://hackage.haskell.org/trac/ghc/wiki/DynamicLinking">http://hackage.haskell.org/trac/ghc/wiki/DynamicLinking</a> and didn&#39;t see much about this here. Is there some notes or a plan for reaching this goal with GHC (or any other Haskell compiler)?<br>
<br>Sean<br></div></div></div>