<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
If we go down that road, it's not cabal-repl that would need to be
extended. AFAIK, it's just a wrapper around GHCi that calls that
latter with package info extracted from the cabal file and,
optionally, the sandbox. So, really, it's GHCi that would need to be
extended. I think, something as simple as adding an option to output
JSON (or some other structured format with wide support in editors)
instead of plain text would go a long way to allow editors to
consume it's output: they could just pipe commands via stdin and
read the JSON output via stdout, parse it and display the info in
the buffer. Depending on how GHCi looks inside and how amenable it
is to such modifications, it might actually be a doable summer
project. Am I missing any technical gotchas?<br>
<br>
/Andrey<br>
<br>
<div class="moz-cite-prefix">On 03/10/2014 05:11 PM, Michal
Antkiewicz wrote:<br>
</div>
<blockquote
cite="mid:CAGW9QSzhkoNb0vhNGCnu5CgPsjwV+5wxYQ=KDe+Kb1QUjG-M4Q@mail.gmail.com"
type="cite">
<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
moz-do-not-send="true" 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 moz-do-not-send="true"
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>
_______________________________________________
<br>
Haskell-Cafe mailing list <br>
<a moz-do-not-send="true">Haskel...@haskell.org</a>
<br>
<a moz-do-not-send="true"
href="http://www.haskell.org/mailman/listinfo/haskell-cafe"
target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
<br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<div class="">
<pre>_______________________________________________
Haskell-Cafe mailing list
<a moz-do-not-send="true" href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a>
<a moz-do-not-send="true" 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 moz-do-not-send="true"
href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a moz-do-not-send="true"
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>
</div>
</div>
</blockquote>
<br>
</body>
</html>