Live data from Hacker News

Intero for Emacs: complete interactive development program for Haskell

commercialhaskell.github.io

21–30 of 75 posts

Re: Intero for Emacs: complete interactive development program for Haskell

#21
post #11

Earlier quoted context omitted.

I'm a emacs convert from vim (big reason is because module support is just leagues ahead of vim, Vundle, Pathogen, or anything else don't come close to emacs package management). A huge reason why I stuck with it is because evil. evil is very mature and is incredibly close to vim, some say it's a better vim than vim. I tried a lot of "vi modes" in several IDEs but none of them cut it, you can map anything to evil and…

Evil seems to get some things wrong or weird. If I use the mouse, then using . to repeat last edit doesn't work. I've also had issues using macros sometime. It also seems to have severe performance issues. Maybe it's Emacs, or rust-mode. But, say, running a macro 1000 times on a 10K line file is far slower than using vim. But overall it's pretty great. I have the feeling it's easier to configure, once I get familiar…

For what it's worth, I've had trouble with macros as well. Sometimes they run at a glacial pace. Very strange.

Re: Intero for Emacs: complete interactive development program for Haskell

#22

I wish I could get a similar utility for Python and Javascript as this seems to show off some cool FP auto complete. I'm basically looking for a way to remove my dependency on my 5-7 IDEs and I don't know how. I wish someone could show me a very good, simple, alternative to all of them. I work in C, Java, JavaScript, Python, PHP, and C# and I'd like to be able to use a single IDE solution for all of them. Sadly I can…

Have you tried company mode? I personally just use hippie-expand, but my codebases aren't gigantic; unsure how it'd work on larger ones.

Re: Intero for Emacs: complete interactive development program for Haskell

#23
post #11
post #6

Looks like I've got a choice to make (all on NixOS): + Stick with NeoVim and hope one of the Intero ports to that editor takes off (as I understand it there are a couple right now) + Switch to Emacs+Evil+Intero. I've never used Emacs before (even with Evil) so it would be a little work. If someone more up-to-date on the situation has advice that would be awesome:)

I'm a emacs convert from vim (big reason is because module support is just leagues ahead of vim, Vundle, Pathogen, or anything else don't come close to emacs package management). A huge reason why I stuck with it is because evil. evil is very mature and is incredibly close to vim, some say it's a better vim than vim. I tried a lot of "vi modes" in several IDEs but none of them cut it, you can map anything to evil and…

I tried to use Spacemacs but in vim I have hjkl mapped to jkl;. I simply could not find a way to do this in Spacemacs. All the solutions suggested did not apply to every mode and there was always some mode where I had to revert to hjkl. Is there any solution for this problem?

Re: Intero for Emacs: complete interactive development program for Haskell

#25
post #5

I've been waiting for this release before finally trying to switch from Vim (MacVim) to Spacemacs. Anybody have any tips for somebody who's never really used Emacs?

Follow the tutorial! It's really really good.

Turn on god-mode. It turns off e.g. the arrow keys and the delete key, forcing you to use the movement keys and keybindings for deleting word, character, etc. It'll yell at you in the minibuffer with the command you SHOULD have hit, so you'll know. It builds the muscle memory super quickly.

Keyboard macros are dope. My keys are bound to f3 and f4 but I don't remember if that's standard. Basically you hit f3 to open a macro, do some stuff, and then hit f4 to close it. Then you hit C-x e to execute it from the point, and hit e repeatedly to keep executing it. Super convenient. As an example, you might make a macro where you move the point to the beginning of the line, deletes 2 characters of whitespace, then moves to the next line. But you gotta be careful it's actually gonna do what you want; you'll get better at this over time. You generally have to imagine the point exists at a random point in a line, and find how to get it to where it needs to go, before you're able to do the real work of the macro.

Get Projectile. It's fantastic for navigating projects. It binds its key prefix to C-c p, and binding ANYTHING to C-c whatever is frowned upon heavily, so be aware of that. Doing things like project wide searches (C-c p s s) is super fast, and makes navigating codebases manageable.

I LOVE Helm. It's a huge departure from vanilla emacs, so know that going into it. That said, I love what it does. Basically you have a minibuffer chilling at the bottom of the screen above the normal minibuffer, and it is usually hidden until activated. Then when you activate it (e.g. in the projectile search) it shows the results of the operation in the helm minibuffer. http://tuhdo.github.io/helm-intro.html is a good intro to it.

But really, pay attention to what you like and don't like about everything. Then find things that scratch your itches. I really encourage you to start from vanilla emacs, bringing in packages as you find you need them, so you fall onto your own unique, special editor, built just for you. That said, I sort of understand the appeal of starting with a config that's curated for you already. Though if you decide to make your own configs, use-package is fantastic for managing the complexity of it all. Emacs is a wonderful editor, and you're in for a wonderful experience. You just have to be willing to put up with some annoyance before you make it your own. As a datapoint, it took about a month and a half when I started using it to get it behaving the way I wanted. It's still a thing I tinker with occasionally, especially when I venture into a new language, but I leave it alone most of the time.

Re: Intero for Emacs: complete interactive development program for Haskell

#26
post #3

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…

What features do you think stack misses ?

Re: Intero for Emacs: complete interactive development program for Haskell

#27
post #24

How sad is it that people invest this amount of effort into things that essentially nobody will use?

I use it, so...

Me too. Got its quirks (I wish it noticed stack-relevant changes and ran intero-restart itself) but I find it really valuable, especially with Anthony Cowley's suggestion-handling stuff.

Re: Intero for Emacs: complete interactive development program for Haskell

#28

I wish I could get a similar utility for Python and Javascript as this seems to show off some cool FP auto complete. I'm basically looking for a way to remove my dependency on my 5-7 IDEs and I don't know how. I wish someone could show me a very good, simple, alternative to all of them. I work in C, Java, JavaScript, Python, PHP, and C# and I'd like to be able to use a single IDE solution for all of them. Sadly I can…

> Sadly I cant find anything with good auto completion and nice features (like things offered by Eclipse).

Out of curiosity, have you tried the relevant JetBrains IDE(s)?

Re: Intero for Emacs: complete interactive development program for Haskell

#29
post #3

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…

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

Re: Intero for Emacs: complete interactive development program for Haskell

#30
post #10
post #6

Looks like I've got a choice to make (all on NixOS): + Stick with NeoVim and hope one of the Intero ports to that editor takes off (as I understand it there are a couple right now) + Switch to Emacs+Evil+Intero. I've never used Emacs before (even with Evil) so it would be a little work. If someone more up-to-date on the situation has advice that would be awesome:)

I don't know NixOS, but this blog post and lecture might help you give emacs a fair trial: http://blog.aaronbieber.com/2015/05/24/from-vim-to-emacs-in-... https://www.youtube.com/watch?v=JWD1Fpdd4Pc One of my vim-using coworkers found it. He, along with another colleague, have since found emacs compelling enough to use as their main text editor.

Unfortunately those instructions failed out of the gate at this command in .emacs:

  (require 'package)
The error I get is:

  File error: "Cannot open load file", "package".
I installed emacs on OS X using:

  $ brew install emacs
But it looks like version 24.5 on OS X El Capitan doesn't come with something called 'package.el'. Oh well, back to Vim..
Post reply on HN