On Tue, Jan 12, 2010 at 10:24:22AM +0100, minh thu wrote: > 2010/1/12 Duncan Coutts <duncan.cou...@googlemail.com>: > > Any user can then perform the last step themselves and if they're really > > lucky they might get that to work with a slightly modified version of > > the LGPL'ed package. In practise of course this isn't that easy for the > > user because GHC does not make it easy to make ABI compatible packages. > > However it is my understanding that this procedure will comply with the > > LGPL. > > In short, if I understand you correctly, you would just have to > provide your code in unlinked form regardless of the existence of some > tool to create another ABI-compatible version of the LGPL library. > > This alongside of the last discussion (which also roughly said you can > license the code as you want when it is the client responsability to > link the final binary) makes the (L)GPL quite useless (as a "freedom" > keeper) whenever the code is made for specific clients...
I don't really follow. GHC inlines aggressively between modules. IMHO you would need to disable cross-module inlining. This means GHC would miss a lot of optimization oportunities. Oh, well. For example, if you use an LGPL concrete monad package and I want to CPS transform it, then all primitive operations would have to be changed. That means *any* inlined code from this module would change. Are you saying that this kind of change would count as "ABI incompatible change"? And so LGPL would say nothing about it? Am I missing something? :o) Cheers, -- Felipe. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe