Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There should be a warning that on first start of intero-mode, this will initiate a rather long stack operation, which I suppose is extra long if you hadn't used stack before. Also, it seems to insist on a stack'ised project. But I suppose one could say that should be obvious. I use cabal because stack misses some features and is a little weird and use stack when I have to. And even though I have intero installed and in $PATH, when opening an actual project with a stack file, it start building intero. Weird automatism.


This was a trade-off I went with. One thing that I learned from years of hacking on haskell-mode is that adding an option for every little decision adds up to a brittle user-experience. If you want this, enable that. If you want to enable that, install this. And so on. A survey showed that most people used about 20% of the features available in haskell-mode.

In the case of Intero I made every decision for the user; there are no customization options in the mode, and it leads to long (first-time) start-ups like this. But in the end I'd rather wait a minute and have every project always work reliably (and this isn't unheard-of for IDEs). It does build a version of intero for each project environment, because the GHC version and package set may differ. This is in contrast to e.g. ghc-mod or hdevtools which is locked to a specific GHC version, so switching between projects is not smooth.


You are correct about the initial first time build delay, and it is done for each separate project. After playing with Intero on one of my stack based projects, I took the background time effort to pre-build all of my projects while exercising. Then, there is no delay (until I start a new project).

Stack has changed my development workflow, in a very positive way, and I love Intero (at least in the first 24 hours of use).


What features do you think stack misses ?


* split-objects to create much smaller binaries. In cabal it's a single line in its global config file.

* Using my already available GHC builds, because stack's GHC builds do not work everywhere, not even across all Linux distros. If I have a musl-based Linux distro, FreeBSD, or Solaris it'll be a problem. Also, there are many users who prefer to use other builds than those downloaded via stack. This happens even if there is already the right GHC in PATH by default.

* I like cabal's new new-foo features and project file support.

* Not bailing out if I open a random .hs file where there's no associated stack config. In a sibling comment Chris says he wants it to work automagically, but then it should create a global stack file, which he says will be used if available.

* Offline mode.

* I will find more stuff I miss, once I have used stack more.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: