Wolfgang Jeltsch wrote:
Am Mittwoch, 25. Februar 2009 23:38 schrieb Peter Hercek:
So my opinion (IAMNAL):
1) source code under very limiting commercial license (just to allow
recompile with a newer LGPL lib and nothing else) is OK
2) it is probable that only the *.o, *.hi files and a linking script are
OK too
I think, it’s technically not possible to let your Haskell application use
another library version when you just have the .o and .hi files of the new
library version. The .hi files typically contain code which is inlined by the
application, so you have to be able to recompile the application. Or am I
misunderstanding you?
You may be right. I do not know. Compiler authors would know. But if the
*only* problem is the inlined functions then it may not be that bad.
Depends whether the depth of inlining has some limit and whether a
change of code which is not inlined any more results in failure to link
correctly too.
The point is that inlining itself is not a problem simply the code which
is inlined represents the interface and you need to provide an option to
upgrade to a newer library with the same interface only. The same
problem is with shared objects in C. The header files may contains
macros (which are inlined) and you are not forced to provide source code
of your app despite the fact that compilation inlines some code from the
LGPL library used. Simply that code is part of the interface and
changing it changes the interface. The acceptable size of inlined
fuctions for a C code is about 10 lines. I did not read any info how it
would be for Haskell.
Peter.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe