[Haskell-cafe] On Haskell IDEs

Andrey Chudnov achudnov at gmail.com
Mon Mar 10 20:59:36 UTC 2014


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.

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).

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).

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.

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?

[1] https://github.com/bitc/hdevtools/pull/30

/Andrey

On 03/10/2014 03:44 PM, Vagif Verdi 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... at haskell.org <javascript:>
>     http://www.haskell.org/mailman/listinfo/haskell-cafe
>     <http://www.haskell.org/mailman/listinfo/haskell-cafe>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140310/e1e670de/attachment.html>


More information about the Haskell-Cafe mailing list