[Haskell-cafe] Re: Non-technical Haskell question

Jules Bean jules at jellybean.co.uk
Tue Dec 7 03:10:14 EST 2004


On 6 Dec 2004, at 21:56, Sven Panne wrote:

> Jules Bean wrote:
>> I don't think it does, actually. You can imagine a compiler which has 
>> access to not *only* the .so files, but also the haskell source. 
>> Therefore it can still unroll (from the source), but it can choose to 
>> link to an exported symbol if unrolling isn't worth it.
>
> But that's not dynamic linking... Imagine a bug in version X of your 
> lib,
> simply using version X+1 with your already compiled program won't fix 
> that
> bug. Again, this is just like C++.
>

Absolutely. And, as such, it's a possible solution. You don't get all 
the advantages of dynamic linking: you can't get in-place upgrades on 
bugfix libraries. You do get other advantages though: reduced disk 
space and shared in-memory images.

To get a more sophisticated solution you need to have a more 
instrumented object format, and move various optimisations either 
just-in-time or launch-time. (And then you lose the shared in-memory 
advantage, again...)

Jules



More information about the Haskell-Cafe mailing list