Thank you. The document does say it more clearly than me. But still, currently, ghc only gives me one option: cannot be built. How about giving me another one: throw away the version information of D when building A. So when A uses types in D with B and C, it might work. Just the risk is on me now. It is not perfect, but would work sometimes....
On Fri, Feb 3, 2012 at 2:04 PM, Ivan Lazar Miljenovic <ivan.miljeno...@gmail.com> wrote: > On 3 February 2012 16:54, Magicloud Magiclouds > <magicloud.magiclo...@gmail.com> wrote: >> Hello, >> As I recalled, ghc works in staticly link mode. So after one library >> is compiled, all its build dependencies are useless. Lost, changed, >> wheresoever, it does not matter. >> Then why the problem of version conflicting exists? >> By version conflicting I mean like following. This way, A is not >> installable by cabal. >> A needs B 0.1 >> A needs C 0.1 >> B needs C0.2 > > See the Dreaded Diamond Dependency Problem: http://www.well-typed.com/blog/9 > > -- > Ivan Lazar Miljenovic > ivan.miljeno...@gmail.com > IvanMiljenovic.wordpress.com -- 竹密岂妨流水过 山高哪阻野云飞 And for G+, please use magiclouds#gmail.com. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe