3 ms·
> I grew frustrated trying to edit Haskell in Emacs; there are a bunch of half-baked modes out there. What's wrong with the normal haskell-mode? https://githu
by fafner 13y ago
> I grew frustrated trying to edit Haskell in Emacs; there are a bunch of half-baked modes out there.
What's wrong with the normal haskell-mode? https://github.com/haskell/haskell-mode https://github.com/haskell/haskell-mode
(interestingly another commentator here claims that Emacs' Haskell indentation is superior to VIM's https://news.ycombinator.com/item?id=7111521 https://news.ycombinator.com/item?id=7111521)
> It's not great at doing version control [...]
Have you tried magit? It's probably the best version control support I've ever seen in an editor.
- massysett 13y ago> What's wrong with the normal haskell-mode? The indentation doesn't work well. It gets the indentation right maybe 80% of the time, but missing it 20% of the time is a big deal when you have to deal with the "tab-cycle." I spent so much time fiddling with indentation that I turned off auto indentation...and Emacs without mode-based auto indentation is much worse than Vim with manual indentation. I also had problems with inferior-haskell-mode. I could have tried to fix them but I was fed up with futzing with Emacs, especially when I can go to Vim and just use ghci in a terminal. A response might be "but you can use ghci in a terminal and still use Emacs." Which is true, but then I'm using a not-so-great editor that's not fulfilling its promise of integrating other tools. What's the point? > Have you tried magit? Yep. I still need to know Git and its command-line interface. With magit I was spending time learning magit, but not getting functionality beyond what the Git command line offers. Not worth it. It seemed to me I was spending time learning tools in order to justify my use of Emacs. That's backward, so I stopped. I could have kept using Emacs without the other baked-in Emacs tools...but then you're just left with an editor. In that case I will pick Vim since it's the better editor.
- charlieflowers 13y agoI see where you're coming from here. But my conclusion was that Emacs with Evil is just as good an editor as Vim. And as a bonus I get the complete customizability of Emacs. So when you say "I will pick Vim since it's the better editor," what Vim features in particular (beyond modeful editing, which Evil provides) make you say that?
- massysett 13y ago>(beyond modeful editing, which Evil provides) This is exactly my point. The Emacs mentality is that Emacs can do everything...it can even be Vim. Why should I do that when I can just use Vim? Maybe Emacs can do anything, but it doesn't do anything well unless you've got a dynamite mode. Evil is not going to be as good of a Vim as Vim. I can tell that even with a glance at the Evil website. One of the best things about Vim is the extensive documentation. Evil just has a 22 page PDF manual...lots of which is filled with Emacs Lisp. So if I use Evil, I then need to spend time learning Evil and how to customize it with Emacs Lisp. Or I can just use Vim.
- aaronem 13y agoRitchie's riposte seems apropos here: "If you want [Vim], you know where to find it."
- deleted 13y ago[deleted]
- Filligree 13y agoDid you try all three indentation modes? It's a bit unfortunate that there have to be three separate indenters, but most people find that one of them is good enough.
- massysett 13y agoYep, tried all three, and looked at at least one mode that someone else is developing to see if it had better indentation. I don't remember the names of the three indenters being all that distinguishing, so I had to keep notes in my .emacs just to tell them apart. One good indenter (maybe with options to select how to style your code) would be better than three. I remember reading a blog post about how hard it is to indent Haskell automatically. It breaks my chain of thought though to have something automatic that works only most of the time. It means I routinely have to stop to fiddle with the editor to make it indent correctly.
- jhenahan 13y agoHave you tried structured-haskell-mode[1]? There are video demonstrations here[2]. [1]: https://github.com/chrisdone/structured-haskell-mode https://github.com/chrisdone/structured-haskell-mode [2]: https://www.youtube.com/playlist?list=PLlzKKtH5TyE-R-k86na3bLSNaKflFNRZr https://www.youtube.com/playlist?list=PLlzKKtH5TyE-R-k86na3b...