Vagif, it's all about separation of concerns and low coupling. There's no point adding all possible functionality into GHCi because it'll become too big and most users won't use most of it (ever used MSoft Word?). The ecosystem can be architected in some service-oriented way, in which some tools will be data providers and others will provide some added layers of functionality. That does not imply that all tools will need to maintain their own independent copies of information about the project.

There largest overlap, as far as I can see, is between ghc-mod and hdevtools. Both are proofs of concept. Maybe parts could actually be incorporated into GHCi. hsdev seems to be specialized to source file editing and should remain separate but it can use the other ones as data sources (incl. Cabal and GHCi).

Re: wasted effort. I don't agree. hdevtools was made to make a point that running a process in the background which maintains data and answers queries is much more responsive to the user than otherwise. And it has proven that point. Now, GHCi can learn that lesson and provide something similar, if that indeed belongs to GHCi's scope.

Finally, all this is just speculation since I don't know exactly what the actual overlap among the tools is. It might be smaller than we think.

Cheers,
Michal


On Mon, Mar 10, 2014 at 3:44 PM, Vagif Verdi <vagif.verdi@gmail.com> wrote:
Sorry, i meant ghci not cabal.

As for hsdev, in order to provide its features it will have to load and keep track of entire project information which is already done by ghc-mod and hdevtools separately. So you  ushould see how much effort is wasted on doing the same thing again and again in each of 4 different tools (ghci, ghc-mod, hdevtools and hsdev)


On Monday, March 10, 2014 12:32:25 PM UTC-7, Niklas Hambüchen wrote:
On 10/03/14 18:41, Vagif Verdi wrote:
> This is an excellent illustration of how fragmentation in this specific
> area hurts community. Not only you are forced to use 3 different tools
> (ghc-mod, hdevtools, cabal) each of which basically provides the same
> service but in an incompatible and incomplete way. But you decided to
> create yet another one instead of contributing to the ones you already
> use (they are all open source)

I'm not sure what you mean to say; ghc-mod and cabal certainly do not do
the same. Hsdev doesn't either, and claiming that we don't contribute to
these projects is strange.
_______________________________________________
Haskell-Cafe mailing list
Haskel...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe






--
Michal Antkiewicz, M.Sc., Ph.D
Research Engineer
Network for the Engineering of Complex Software-Intensive Systems (NECSIS)

University of Waterloo
http://gsd.uwaterloo.ca/mantkiew
mantkiew@gsd.uwaterloo.ca