Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm looking to learn LISP, and I'm looking for a good editor, which I don't have to learn from scratch (mentioning it as I'm totally unfamiliar with Emacs). I'm a more/less proficient VIM user, and am looking for a decent editor(even a useful VIM plugin) which I can use on Linux. Could any non-Emacs users suggest anything ?

share|improve this question
3  
Use vim and learn the language while you code. I find IDEs give me a crutch when learning a language which can sometimes not help. – Chris Mar 7 '11 at 17:06
2  
@What's wrong with VIM? I just checked the syntax menu on mine and it has VIM... If you're already proficient in VIM then stick with it. It's a great editor and after I wish that I hadn't lost my VIM skills (trying to recover them now) by switching to fancy IDEs after I left school. In fact, I don't think there are many LISP IDEs out there, unless you find an Eclipse/Netbeans plugin... – FrustratedWithFormsDesigner Mar 7 '11 at 17:09
12  
This question title is odd to say the least: emacs is the best editor for Lisp, and the only reason to use some other editor is familiarity with it, and then why ask for a recommendation? Use vim (which you're familiar with) or learn emacs, your choice. – David Thornley Mar 7 '11 at 17:41
3  
I think this question would be more constructive and less localized if you edited it to remove your "no Emacs" restriction. – Macneil Mar 7 '11 at 20:18
5  
@user9521: You're missing the issue. Either your colleagues are willing to learn something new (in which case why not emacs?) or they are going to go with what they know. Asking about something they'd have to learn and insisting it not be emacs makes little or no sense without further reasons. – David Thornley Mar 8 '11 at 15:57
show 5 more comments

closed as off topic by gnat, Thomas Owens Apr 15 at 10:17

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.

7 Answers

Racket is a full fledged scheme IDE, I know scheme isn't LISP, but I think it's more suitable for a beginner to use an IDE like this.

share|improve this answer
2  
I was about to recommend DrScheme and was wondering why it wasn't mentioned already, when I realized that it's now Racket ;-) – Joachim Sauer Mar 7 '11 at 17:56
Yeah, their website recommends you go to racket's website instead :) – Mahmoud Hossam Mar 7 '11 at 18:02
5  
Scheme is Lisp. Just because it isn't Common Lisp doesn't mean it's not Lisp. – Macneil Mar 7 '11 at 20:20
1  
Both are dialects of Lisp, they're not the same language as Lisp itself. – Mahmoud Hossam Mar 7 '11 at 20:23
@Phobia: Lisp is generally considered a family of languages. The original poster never specified what type of Lisp he wants to learn. – Greg Mar 7 '11 at 20:35
show 4 more comments

Depends a bit on what Lisp you are using.

Personally I use Clojure with the Eclipse IDE and the Counterclockwise plugin.

This gives you a decent enough editor and a nice REPL environment, plus some helpful visual utilities e.g. a namespace browser. You also get all the standard Eclipse tools (project management, SCM integration, debugger etc.) for free.

My normal workflow is:

  1. Open up a project

  2. Launch a REPL for whatever namespace I'm developing

  3. Develop interactively in the REPL on the right half of my screen, copy/paste
    into the source on the left when I'm happy with it

  4. Press "Ctrl-Enter" to execute a piece of source directly in the REPL

  5. Press "Ctrl-L" whenever I need to reload the namespace from scratch

There are lots of other shortcuts as well but I find that the above is enough to make a pretty decent coding experience. It's all in a nice GUI so it's pretty easy to learn with context-sensitive menus etc.

The editor itself is decent, and has support for the most important Lisp editor features (i.e. coloured parenthesis matching, structure-aware editing modes etc.)

YMMV but it's a nice overall solution for a) people who like IDEs in general and/or b) also need to develop with other languages in parallel (especially Java)

share|improve this answer

Well, http://www.cliki.net/vim is your first stop.

The Vi family of editors (with vim probably being the most frequently used implementation) is almost universally "the other editor" to Emacs. In the Lisp community, however, its use seems rather suppressed due to emacs's tight connection with Lisp (I guess).

Still, there are some vim lispers out there. This page should (hopefully) point them to some ways to make life easier...

Also, it's Lisp, not LISP. LISP went out of style sometime in the 60s, I believe. :P

share|improve this answer
lisp is the new Lisp.....or is it??? – Rob Apr 7 at 12:06

This is a religious conversion story. Feel free to ignore it and go on with your life.

For many years, I was in your shoes. Emacs was "just another editor", with just another set of randomly-chosen command keystrokes. At that time, I routinely switched machines, operating systems, and editors every few years, either because I changed jobs or because I changed departments in a large company and the new department used something completely different. The editor went with the machine and the OS. You didn't get a choice.

At one point, I was forced to use an Emacs-like editor on a home computer (microEmacs, on an Atari 1040ST), because that was all that was available. I found it usable, but nothing to write home about.

About a year later, at a new company, fighting with EDT on a VAX and yet another idiot editor on a PC, I asked around, and discovered that GNU Emacs was available for the VAX and a "micro GNU Emacs" was available for PC. I gave the micro GNU Emacs a try, discovered dired-mode, and was hooked. No other editor I'd ever used had anything that useful.

I installed GNU Emacs on their VAX and started using it. I very quickly noticed something: it was almost impossible to hurt myself irrecoverably using GNU Emacs. On EVERY other editor I'd ever used, it was EASY to do something drastic, irrevocable, and frequently unrecoverable, by mistake, leaving me desperately wanting to reach through the screen and do unspeakable things to the idiot programmer who'd written that GDPOS editor. GNU Emacs (and, for that matter the "micro GNU Emacs" (later renamed MG)) never left me feeling that way.

A while later, I went to another project, bootlegged GNU Emacs onto their VAX, and got busy. That project required me to read, comprehend, and work on, a huge body of legacy code. It didn't take me long to discover that GNU Emacs placed no upper limit on the number of files I could have open for perusal and/or modification, and the only limit on how many I could look at SIMULTANEOUSLY was screen real estate. It was not at all unusual for me to have 20 or 30 files open in the editor, and up to 8 panes on the screen, as I was bouncing around the system.

That project ended abruptly, and I was handed a forced transfer to a project that used vi exclusively, and didn't have a good terminal window manager. To me, now comfortable with GNU Emacs, vi was everything I'd learned to detest. Cryptic commands, easy unrecoverable mistakes, only one file at a time.

I escaped from that project (it wasn't easy), and went to a PC project and back to using a variety of PC Emacs workalikes. My favorite was MG, for most things. When I had to edit a file that was larger than 64K, I used another Emacs workalike, that I didn't like as much.

A year later, back on a VAX, using GNU Emacs again, and it felt MUCH better.

Eventually, it sank in. In all my years in this crazy racket, GNU Emacs was the BEST editor I'd ever used, anywhere, on any system.

I've never looked back.

TL;DR

Yes, learning a new editor is a pain. At first. In some cases, in this one in particular, it is worth the effort.

share|improve this answer
Nice story - but since when did Vim have a one file limit? You can split windows any which way you want :) – TCSGrad Apr 7 at 16:13
1  
@TCSGrad: "vi", not "vim". This was 1991-'92. vi was built on the assumption that you could always open another terminal window and start another editor if you needed to edit another file. – John R. Strohm Apr 7 at 17:02

If you like vim, use vim. It will do fine and you already know it. There is also a vim mode for emacs that will let you use emacs with VIM like key bindings.

share|improve this answer

LispWorks has a personal edition, which might be sufficient for learning. It is available for x86 processors running Linux, Mac (+PowerPC), Windows, FreeBSD and Solaris. It comes with an IDE that is the same on all platforms.

http://www.lispworks.com/downloads/index.html

Allegro CL has an version for learning. Its IDE runs on Linux/FreeBSD/Mac OS X (using X11 + Gtk+) and Windows.

http://www.franz.com/downloads/clp/survey

Both the LispWorks Personal Edition and Allegro CL Express Edition have some technical restrictions. For a lot of learning tasks they should be sufficient, though.

share|improve this answer

You can try http://armedbear-j.sourceforge.net/ - this is an editor (and an IDE) suitable for Lisp, and it is not Emacs.

share|improve this answer
would you mind explaining about this in more detail - how and why does it answer the question asked? "Link-only answers" are not quite welcome at Stack Exchange – gnat Apr 12 at 7:23
@gnat, OP asked for links. What other answer could you expect for such a question? – SK-logic Apr 12 at 8:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.