Haskell, stack and the Atom editor

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Haskell, stack and the Atom editor

Thomas Koster
Hi friends,

I want to switch to the Atom editor for my Haskell development. I have tried several times over the last few years and given up each time because hardly anything works.

I can't stand Emacs so don't bother suggesting it.

I am currently using Geany, which has served me well, mostly because it is dead simple so nothing can go wrong. In addition to the usual universal text editor functions, all it does is highlight syntax (albeit with an outdated grammar), runs custom commands to build, displays clickable errors in a separate pane and underlines them in the editor pane. But for larger projects, I want more (better autocompletion, better integration with the build system, better VCS support).

But back to Atom, I am having extreme difficulty getting even the basics working.

I am using GHC 7.10.2, Cabal 1.22.4.0, Stack 1.0.4.

I installed Atom 1.6.1 from their deb package.

I installed the "language-haskell" package. This works very well, thankfully, but is the *only* thing that I can get working.

I avoided "ide-haskell", even though it looks great, because their readme says it can't build with stack and I rely heavily on stack.

Instead, I installed the "build" and "linter" packages and created an ".atom-build" file to build my project with stack. It invokes stack correctly, but I can't get it to recognise any errors: linter always says "No issues". I must have tried twenty different regexes in "errorMatch" but none of them seem to work.

I also installed "linter-hdevtools", hoping that that may let me see some errors, but I can't get that to work either. The package is loaded but it appears to do absolutely nothing. strace does show that Atom is trying to exec hdevtools through stack, but I get no output at all within Atom as evidence that something worked or failed.

hdevtools appears to have its own problems. I had installed hdevtools (0.1.2.1) with stack:
    stack install hdevtools
I ran it myself using:
    stack exec --no-ghc-package-path hdevtools -- check Main.hs
and it gives me the infamous error:
    Cabal error: Use of GHC's environment variable GHC_PACKAGE_PATH is 
    incompatible with Cabal.
This is strange because "stack exec --no-ghc-package-path env" reports that no such environment variable is defined, as expected.

At this point I am ready to give up yet again. Does anybody have any last-minute advice on using Atom to develop with Haskell and Stack?

Thanks,
Thomas Koster


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Benjamin Edwards
> I can't stand Emacs so don't bother suggesting it.

I guess you'll be happy to get all this stuff working on atom yourself like the good folks working on emacs have.

Ben

On Sat, 9 Apr 2016 at 08:03 Thomas Koster <[hidden email]> wrote:
Hi friends,

I want to switch to the Atom editor for my Haskell development. I have tried several times over the last few years and given up each time because hardly anything works.

I can't stand Emacs so don't bother suggesting it.

I am currently using Geany, which has served me well, mostly because it is dead simple so nothing can go wrong. In addition to the usual universal text editor functions, all it does is highlight syntax (albeit with an outdated grammar), runs custom commands to build, displays clickable errors in a separate pane and underlines them in the editor pane. But for larger projects, I want more (better autocompletion, better integration with the build system, better VCS support).

But back to Atom, I am having extreme difficulty getting even the basics working.

I am using GHC 7.10.2, Cabal 1.22.4.0, Stack 1.0.4.

I installed Atom 1.6.1 from their deb package.

I installed the "language-haskell" package. This works very well, thankfully, but is the *only* thing that I can get working.

I avoided "ide-haskell", even though it looks great, because their readme says it can't build with stack and I rely heavily on stack.

Instead, I installed the "build" and "linter" packages and created an ".atom-build" file to build my project with stack. It invokes stack correctly, but I can't get it to recognise any errors: linter always says "No issues". I must have tried twenty different regexes in "errorMatch" but none of them seem to work.

I also installed "linter-hdevtools", hoping that that may let me see some errors, but I can't get that to work either. The package is loaded but it appears to do absolutely nothing. strace does show that Atom is trying to exec hdevtools through stack, but I get no output at all within Atom as evidence that something worked or failed.

hdevtools appears to have its own problems. I had installed hdevtools (0.1.2.1) with stack:
    stack install hdevtools
I ran it myself using:
    stack exec --no-ghc-package-path hdevtools -- check Main.hs
and it gives me the infamous error:
    Cabal error: Use of GHC's environment variable GHC_PACKAGE_PATH is 
    incompatible with Cabal.
This is strange because "stack exec --no-ghc-package-path env" reports that no such environment variable is defined, as expected.

At this point I am ready to give up yet again. Does anybody have any last-minute advice on using Atom to develop with Haskell and Stack?

Thanks,
Thomas Koster

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Raphael Gaschignard

ide-haskell has recently gotten a slack backend (https://atom.io/packages/ide-haskell-stack). Could be worth your time. According to the ide-haskell github issue, the support is pretty "bare bones"(https://github.com/atom-haskell/ide-haskell/issues/108) but likely better than a language-agnostic linter tool


On Sat, Apr 9, 2016, 6:58 PM Benjamin Edwards <[hidden email]> wrote:
> I can't stand Emacs so don't bother suggesting it.

I guess you'll be happy to get all this stuff working on atom yourself like the good folks working on emacs have.

Ben

On Sat, 9 Apr 2016 at 08:03 Thomas Koster <[hidden email]> wrote:
Hi friends,

I want to switch to the Atom editor for my Haskell development. I have tried several times over the last few years and given up each time because hardly anything works.

I can't stand Emacs so don't bother suggesting it.

I am currently using Geany, which has served me well, mostly because it is dead simple so nothing can go wrong. In addition to the usual universal text editor functions, all it does is highlight syntax (albeit with an outdated grammar), runs custom commands to build, displays clickable errors in a separate pane and underlines them in the editor pane. But for larger projects, I want more (better autocompletion, better integration with the build system, better VCS support).

But back to Atom, I am having extreme difficulty getting even the basics working.

I am using GHC 7.10.2, Cabal 1.22.4.0, Stack 1.0.4.

I installed Atom 1.6.1 from their deb package.

I installed the "language-haskell" package. This works very well, thankfully, but is the *only* thing that I can get working.

I avoided "ide-haskell", even though it looks great, because their readme says it can't build with stack and I rely heavily on stack.

Instead, I installed the "build" and "linter" packages and created an ".atom-build" file to build my project with stack. It invokes stack correctly, but I can't get it to recognise any errors: linter always says "No issues". I must have tried twenty different regexes in "errorMatch" but none of them seem to work.

I also installed "linter-hdevtools", hoping that that may let me see some errors, but I can't get that to work either. The package is loaded but it appears to do absolutely nothing. strace does show that Atom is trying to exec hdevtools through stack, but I get no output at all within Atom as evidence that something worked or failed.

hdevtools appears to have its own problems. I had installed hdevtools (0.1.2.1) with stack:
    stack install hdevtools
I ran it myself using:
    stack exec --no-ghc-package-path hdevtools -- check Main.hs
and it gives me the infamous error:
    Cabal error: Use of GHC's environment variable GHC_PACKAGE_PATH is 
    incompatible with Cabal.
This is strange because "stack exec --no-ghc-package-path env" reports that no such environment variable is defined, as expected.

At this point I am ready to give up yet again. Does anybody have any last-minute advice on using Atom to develop with Haskell and Stack?

Thanks,
Thomas Koster

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Wojciech Danilo
I'm using Atom for a week for a big commercial Haskell project. It has some minuses and the ide-haskell is not the best it could be, but it works better than any editor I've been using so far for Haskell development (mainly sublime). The type-checking, linting and error displaying inside text-editor is almost real-time on modern hardware. I've been not using emacs mostly because I prefer the sublime-like style of work. The guys behind ide-haskell seem to be pretty active and helpful and they develop it pretty fast. After installing everything ide-haskell worked out-of the box for me.

sob., 9.04.2016 o 13:42 użytkownik Raphael Gaschignard <[hidden email]> napisał:

ide-haskell has recently gotten a slack backend (https://atom.io/packages/ide-haskell-stack). Could be worth your time. According to the ide-haskell github issue, the support is pretty "bare bones"(https://github.com/atom-haskell/ide-haskell/issues/108) but likely better than a language-agnostic linter tool


On Sat, Apr 9, 2016, 6:58 PM Benjamin Edwards <[hidden email]> wrote:
> I can't stand Emacs so don't bother suggesting it.

I guess you'll be happy to get all this stuff working on atom yourself like the good folks working on emacs have.

Ben

On Sat, 9 Apr 2016 at 08:03 Thomas Koster <[hidden email]> wrote:
Hi friends,

I want to switch to the Atom editor for my Haskell development. I have tried several times over the last few years and given up each time because hardly anything works.

I can't stand Emacs so don't bother suggesting it.

I am currently using Geany, which has served me well, mostly because it is dead simple so nothing can go wrong. In addition to the usual universal text editor functions, all it does is highlight syntax (albeit with an outdated grammar), runs custom commands to build, displays clickable errors in a separate pane and underlines them in the editor pane. But for larger projects, I want more (better autocompletion, better integration with the build system, better VCS support).

But back to Atom, I am having extreme difficulty getting even the basics working.

I am using GHC 7.10.2, Cabal 1.22.4.0, Stack 1.0.4.

I installed Atom 1.6.1 from their deb package.

I installed the "language-haskell" package. This works very well, thankfully, but is the *only* thing that I can get working.

I avoided "ide-haskell", even though it looks great, because their readme says it can't build with stack and I rely heavily on stack.

Instead, I installed the "build" and "linter" packages and created an ".atom-build" file to build my project with stack. It invokes stack correctly, but I can't get it to recognise any errors: linter always says "No issues". I must have tried twenty different regexes in "errorMatch" but none of them seem to work.

I also installed "linter-hdevtools", hoping that that may let me see some errors, but I can't get that to work either. The package is loaded but it appears to do absolutely nothing. strace does show that Atom is trying to exec hdevtools through stack, but I get no output at all within Atom as evidence that something worked or failed.

hdevtools appears to have its own problems. I had installed hdevtools (0.1.2.1) with stack:
    stack install hdevtools
I ran it myself using:
    stack exec --no-ghc-package-path hdevtools -- check Main.hs
and it gives me the infamous error:
    Cabal error: Use of GHC's environment variable GHC_PACKAGE_PATH is 
    incompatible with Cabal.
This is strange because "stack exec --no-ghc-package-path env" reports that no such environment variable is defined, as expected.

At this point I am ready to give up yet again. Does anybody have any last-minute advice on using Atom to develop with Haskell and Stack?

Thanks,
Thomas Koster

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Anton Felix Lorenzen
In reply to this post by Thomas Koster
Hello,

I am using atom with ide-haskell and stack.
Basically all you need is to load ghc-mod in stack:
 >  stack install ghc-mod
 >  stack exec atom

It needs some time to build, but then it works really well.
It has minor issues though:
  - It doesn't lookup, whether an import is legal
    (e.g. if the matching package is installed)
  - You can't trigger a build process inside atom

But aside from that it is fine.
I can only recommend it.

Anton Felix Lorenzen
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Thomas Koster
In reply to this post by Benjamin Edwards
Benjamin,

On 9 April 2016 at 17:03, Thomas Koster <[hidden email]> wrote:
> I want to switch to the Atom editor for my Haskell development. I have tried
> several times over the last few years and given up each time because hardly
> anything works.
>
> I can't stand Emacs so don't bother suggesting it.

On 9 April 2016 at 19:57, Benjamin Edwards <[hidden email]> wrote:
> I guess you'll be happy to get all this stuff working on atom yourself like
> the good folks working on emacs have.

No. Not happy at all.

I spent only minutes setting up Geany for Haskell development.
Basically, bind some ghc-mod commands and stack commands to hotkeys.
Sure, it doesn't do much, but the basics work beautifully for small
projects. This is my benchmark.

Because that was all it took to get Geany to build my projects, I took
the same approach with Atom. But I have wasted hours on Atom so far
and didn't get further than syntax highlighting. So while I admit this
was clearly the wrong approach, I am still displeased with Atom right
now.

But I wasted days once trying to learn Emacs. Sorry, I just don't have
the time or brain-space to attempt Emacs again. Certainly, the
haskell-mode team are to be congratulated for what is probably the
most mature and feature-rich Haskell IDE offering we have at this
time. I just find it tragic that it targets Emacs.

If I can't make Atom work for me, I will drop it just as fast as I
dropped Emacs. Spacemacs was suggested to me off-list; if it addresses
my complaints about Emacs, I might give it a chance. But Atom is the
topic of this thread, so lest this thread descend into a text editor
flame war, I suggest we stop talking about Emacs (or Vim, or Eclipse,
or anything else).

--
Thomas Koster
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Thomas Koster
In reply to this post by Anton Felix Lorenzen
On 9 April 2016 at 17:03, Thomas Koster <[hidden email]> wrote:
> I want to switch to the Atom editor for my Haskell development. I have tried
> several times over the last few years and given up each time because hardly
> anything works.
>
> At this point I am ready to give up yet again. Does anybody have any
> last-minute advice on using Atom to develop with Haskell and Stack?

On 9 April 2016 at 21:42, Raphael Gaschignard <[hidden email]> wrote:
> ide-haskell has recently gotten a slack backend
> (https://atom.io/packages/ide-haskell-stack). Could be worth your time.
> According to the ide-haskell github issue, the support is pretty "bare
> bones"(https://github.com/atom-haskell/ide-haskell/issues/108) but likely
> better than a language-agnostic linter tool

On 10 April 2016 at 01:56, Wojciech Danilo <[hidden email]> wrote:
> I'm using Atom for a week for a big commercial Haskell project. It has some
> minuses and the ide-haskell is not the best it could be, but it works better
> than any editor I've been using so far for Haskell development (mainly
> sublime). The type-checking, linting and error displaying inside text-editor
> is almost real-time on modern hardware. I've been not using emacs mostly
> because I prefer the sublime-like style of work. The guys behind ide-haskell
> seem to be pretty active and helpful and they develop it pretty fast. After
> installing everything ide-haskell worked out-of the box for me.

On 10 April 2016 at 05:06, Anton Felix Lorenzen <[hidden email]> wrote:

> I am using atom with ide-haskell and stack.
> Basically all you need is to load ghc-mod in stack:
>>  stack install ghc-mod
>>  stack exec atom
>
> It needs some time to build, but then it works really well.
> It has minor issues though:
>  - It doesn't lookup, whether an import is legal
>    (e.g. if the matching package is installed)
>  - You can't trigger a build process inside atom
>
> But aside from that it is fine.
> I can only recommend it.

Thanks Raphael, Wojciech and Anton. I tried out ide-haskell with the
ide-haskell-stack backend. Everything seems to be working well enough
to give it a go for my next project.

However, type-checking, linting and error display inside the editor is
far from real-time for me (never < 1s), but they never were for me, so
I don't think that has anything to do with Atom.

--
Thomas Koster
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Alexey Raga

Another thing you can try is Visual Studio Code. It is an electron-based ide (just as atom) and after installing haskell plugins it just works.


On Sun, 10 Apr 2016 12:47 Thomas Koster <[hidden email]> wrote:
On 9 April 2016 at 17:03, Thomas Koster <[hidden email]> wrote:
> I want to switch to the Atom editor for my Haskell development. I have tried
> several times over the last few years and given up each time because hardly
> anything works.
>
> At this point I am ready to give up yet again. Does anybody have any
> last-minute advice on using Atom to develop with Haskell and Stack?

On 9 April 2016 at 21:42, Raphael Gaschignard <[hidden email]> wrote:
> ide-haskell has recently gotten a slack backend
> (https://atom.io/packages/ide-haskell-stack). Could be worth your time.
> According to the ide-haskell github issue, the support is pretty "bare
> bones"(https://github.com/atom-haskell/ide-haskell/issues/108) but likely
> better than a language-agnostic linter tool

On 10 April 2016 at 01:56, Wojciech Danilo <[hidden email]> wrote:
> I'm using Atom for a week for a big commercial Haskell project. It has some
> minuses and the ide-haskell is not the best it could be, but it works better
> than any editor I've been using so far for Haskell development (mainly
> sublime). The type-checking, linting and error displaying inside text-editor
> is almost real-time on modern hardware. I've been not using emacs mostly
> because I prefer the sublime-like style of work. The guys behind ide-haskell
> seem to be pretty active and helpful and they develop it pretty fast. After
> installing everything ide-haskell worked out-of the box for me.

On 10 April 2016 at 05:06, Anton Felix Lorenzen <[hidden email]> wrote:
> I am using atom with ide-haskell and stack.
> Basically all you need is to load ghc-mod in stack:
>>  stack install ghc-mod
>>  stack exec atom
>
> It needs some time to build, but then it works really well.
> It has minor issues though:
>  - It doesn't lookup, whether an import is legal
>    (e.g. if the matching package is installed)
>  - You can't trigger a build process inside atom
>
> But aside from that it is fine.
> I can only recommend it.

Thanks Raphael, Wojciech and Anton. I tried out ide-haskell with the
ide-haskell-stack backend. Everything seems to be working well enough
to give it a go for my next project.

However, type-checking, linting and error display inside the editor is
far from real-time for me (never < 1s), but they never were for me, so
I don't think that has anything to do with Atom.

--
Thomas Koster
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Haskell, stack and the Atom editor

Dmitry Chugunov
In reply to this post by Thomas Koster
Hello.

I have recently started to use Atom from Haskell programming. I think it
works good. I use this (main) packages:
   * language-haskell
   * haskell-ghc-mod
   * ide-haskell
   * ide-haskell-stack
   * ide-haskell-repl (in settings <command args>=ghci, <command
path>=stack)
   * ide-haskell-hastags
   * autocomplete-haskell

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe