
On 6 Dec 2004, at 21:16, Henning Thielemann wrote:
On Mon, 6 Dec 2004, Robert Dockins wrote:
The problem, of course, is that Haskell likes to tightly bind with the libraries it uses (inlineing across modules and other optimizations). So imaging if the "package" unit was a barrier to those kinds of optimizations. Then, no knowledge of the internals of the package are needed by importing modules, and "sufficently" compatable pacakges could be drop in replacements, .so or .dll style.
This would mean that functions like 'map' and 'foldr' couldn't be unrolled because they are in the package of the standard functions?
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. Jules