<div dir="ltr">Cabal repl is absolutely great! Are there any reasons why it couldn't provide all information that ghc-mod and hdevtools do? It could be run as a background process, right? It knows about sandboxes as well. <br>
<br>That would be a great SoC project - extend cabal repls to subsume ghc-mod and hdevtools.<br><br>Michal<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 10, 2014 at 4:59 PM, Andrey Chudnov <span dir="ltr"><<a href="mailto:achudnov@gmail.com" target="_blank">achudnov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
While I do not condone Mr. Verdi's verbal bashing of the efforts of
the Haskell community to provide development tools, I do feel his
pain. There is quite a bit of divided effort which seems to result
in having multiple inferior solutions.<br>
<br>
My all-time favorite is ghc-mod because "it just works", but it can
be very slow for large projects, especially involving
template-haskell (and there are no easy fixes for that). <br>
<br>
HDevTools, in theory, is great: a persistent server, allowing
incremental builds/checks etc., but it's oblivious to .cabal files,
let alone sandboxes, which makes it completely impractical for any
degree of serious Haskell development (on that note, how come pull
request 30 [1] is still open?! /rant). <br>
<br>
Finally, GHCi is supposed to be enough for IDE support in editors.
However, as I understand it, the problem is that its output is not
easily parsed and, hence, consumed by editors; on top of that, using
it with .cabal files and sandboxes requires calling 'cabal repl', so
using another tool. <br>
<br>
So, maybe, GHCi could be augmented with an easily consumed output
format (like JSON), and 'cabal' be given support for that mode as
well? Since it's that time of the year again (I mean, the GSoC
proposal time :)), maybe, someone would look into this idea?<br>
<br>
[1] <a href="https://github.com/bitc/hdevtools/pull/30" target="_blank">https://github.com/bitc/hdevtools/pull/30</a><span class="HOEnZb"><font color="#888888"><br>
<br>
/Andrey</font></span><div><div class="h5"><br>
<br>
On 03/10/2014 03:44 PM, Vagif Verdi wrote:<br>
</div></div><blockquote type="cite"><div><div class="h5">
<div dir="ltr">Sorry, i meant ghci not cabal.<br>
<br>
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)<br>
<br>
On Monday, March 10, 2014 12:32:25 PM UTC-7, Niklas Hambüchen
wrote:
<blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">On
10/03/14 18:41, Vagif Verdi wrote:
<br>
> This is an excellent illustration of how fragmentation in
this specific
<br>
> area hurts community. Not only you are forced to use 3
different tools
<br>
> (ghc-mod, hdevtools, cabal) each of which basically
provides the same
<br>
> service but in an incompatible and incomplete way. But
you decided to
<br>
> create yet another one instead of contributing to the
ones you already
<br>
> use (they are all open source)
<br>
<br>
I'm not sure what you mean to say; ghc-mod and cabal certainly
do not do
<br>
the same. Hsdev doesn't either, and claiming that we don't
contribute to
<br>
these projects is strange.
<br>
______________________________<u></u>_________________
<br>
Haskell-Cafe mailing list
<br>
<a>Haskel...@haskell.org</a>
<br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/haskell-cafe</a>
<br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><div class=""><pre>_______________________________________________
Haskell-Cafe mailing list
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
</pre>
</div></blockquote>
<br>
</div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br><br><a href="mailto:mantkiew@gsd.uwaterloo.ca" target="_blank"></a>
</div></div>