
Which editor do you use for Lisp? - palish

======
herdrick
It sounds like you're used to editing files in Windows. So your hands are
accustomed to standard Windows way of selecting text, cutting, copying and
pasting. Emacs does not do things this way, not at all. You can google for
"cua.el", a chunk of elisp that customizes Emacs to do that stuff in a much
more Windows-ish way. It's definitely not identical though. There's also some
elisp out there that makes Emacs scroll one line at a time, instead of ten
lines or whatever stone age thing it does by default.

If you want the least pain in getting started with a lisp, I recommend PLT
Scheme. Its editor, DrScheme, will seem very ordinary and familiar. That's not
a win in the long run, but in the short run you can learn how to hack a lisp,
Scheme in this case, without simultaneously retraining your hands and eyes to
use Emacs. And learning a lisp is what you really want to do, believe me. I
was in your shoes not too long ago, and this is what I did.

(And PLT Scheme is great.)

~~~
jlf
You can make Emacs scroll a line at a time by adding this to your .emacs:

(setq scroll-conservatively 1)

------
palish
Programming consists of a few things. An editor, a compiler, source control,
and so on.

The editor is particularly important when it comes to being productive. I'm
inexperienced with Lisp, and I've found a few things inside Visual Studio that
I feel particularly reluctant to part with. "Go to Implementation" is one. I
just move the mouse over a function call, press alt-G, and it takes me right
to where that function is defined. Another is a complete list of defined
procedures for the current file.

Does Lisp have an environment that has similar features?

Shawn

~~~
kmt
You haven't heard of emacs?

~~~
palish
I've heard the name. I didn't know you could specifically write Lisp in it.
Thanks.

Is that the only one?

~~~
ecuzzillo
Emacs is the best. It's written in an old dialect of Lisp itself, and you can
customize it and script sequences of actions in it with Lisp. It also has
SLIME, which is the Superior Lisp Interaction Mode for Emacs, (see
<http://common-lisp.net/project/slime/),> which is the most amazing IDE I have
ever seen for any language, and I've used VS.NET and Eclipse and all the rest.

That's for Common Lisp (CL), which you may or may not want to develop in; I
personally frequently choose to write in CL because it has a very large
library, and because it has SLIME.

For Scheme, Emacs is also good, but there isn't something analogous to SLIME.

SLIME has go-to-definition of a function as one of its more basic features,
along with auto-completion, convenient listings of arguments when you first
write down a call to a particular function, and much more.

~~~
palish
Sounds like just the thing, thank you!

I have a quick question that I can't justify creating a new thread about.
Since you brought up Lisp implementations though...

I was about to choose to write my programs with SBCL, but it looks like the
Win32 port isn't yet complete. Since I'm aiming towards using Lisp in games,
speed is an issue, and so is running on Windows. Would you or anyone reccomend
a dialect of Lisp which is fast and runs under Windows? Even just 1/4th the
speed of C would be excellent.

~~~
ecuzzillo
Ask on the #lisp IRC channel on freenode about whether the SBCL win32 port is
complete enough for your purposes. It's coming along. Remember to ask your
question and then leave the chat idling, so that if your question isn't
answered right away, people who have left it idling and then come back to it
can see your question and then answer it.

I believe CLISP runs on Windows. I have no idea whether this is at all
practical, since I don't use Windows, but maybe you could use a Unix emulator
like Cygwin and run SBCL (and your game) in that, invisibly to the user?

~~~
palish
Heh, creative. I'll investigate that. Thanks!

------
mqt
pg mentioned that he uses vi with a REPL (
<http://news.ycombinator.com/comments?id=587> ).

I recently began using emacs + SLIME for writing Lisp and revert back to vim
for everything else. I've also tried vim + VIlisp.vim, which sends Lisp code
to a running Lisp interpreter. It seemed pretty decent though I don't really
have enough experience writing Lisp to really compare.

Anyone else write Lisp in vi?

SLIME is great, but I really miss vim sometimes. Fortunately, Slim-Vim is in
the works by the author of VIlisp.vim. Here's a couple comment pages on Lisp
with vi/emacs:

<http://programming.reddit.com/info/1cij7/comments>

<http://www.lemonodor.com/mt/mt-comments.cgi?entry_id=689>

~~~
jey
_Anyone else write Lisp in vi?_

Yes, I do all of my text editing in Vim. I <3 Vim.

~~~
Mop
I do use vim, too.

Debugging without slime is quite difficult however: as everything is available
through slime, nobody cares about simplifying access to SBCL debugging
features from outside slime. For example, having to prefix every variable
access with SB-DEBUG:VAR when in the debug REPL is a real pain, and serves no
purpose other than annoying non-slime users.

------
tritchey
You might want to also check out a Lisp plugin for Eclipse called Cusp (
<http://paragent.com/lisp/cusp/cusp.htm> ). There are builds for Windows
available. The other Tim that programs here at Paragent developed it, and uses
it as his main development environment (I'm an emacs/slime guy). It reuses
parts of slime (the backend swank server) so works in a similar manner. It
also comes with SBCL, so you can get up and going pretty quickly.

Regarding SBCL on win32 - it is pretty stable, but is still missing some
functionality that SBCL has on other platforms (threads is the big one).

------
projectileboy
I use my own plugin that I wrote for IntelliJ (Java IDE). I've been using
IntelliJ for so long that I just like the feel of it, so I chose to do that
rather than learn a new tool. I only whack Lisp code for fun, so it works OK
for me.

~~~
rasman
is your plugin available anywhere?

I tried just defining a .lisp filetype in IDEA, but it doesn't work because it
treats apostrophes as string delimiters.

------
gibsonf1
I use Windows Lispworks' IDE, but it is disappointing. I'm going to move to
SLIME as soon as possible.

