Where to start?
Where to start?
Hey, I'm an average programmer from Australia. I've become interested in learning Lisp as I see it as a challenging and powerful language that would be useful to learn. The issue I'm having is I want a basic setup to learn and be able to create some programs in lisp or common lisp but I do not want to use an editor like emacs or vim as I simply prefer a simple text editor like Gedit or Jedit. I am on linux but also have windows avaliable if I really need it. So does anybody know of any guides or ways of creating a simple environment with command line/text editor use instead of emacs or vim?
Thanks in advance, Luke
Thanks in advance, Luke
Re: Where to start?
There's a reason lispers use integrated programmable editors such as emacs; lisp encourages an interactive programming style as opposed to the write/compile/run cycle common in other languages. Thus I can be writing code and then ask my editor to (describe 'this-function) or show me the sources for a function, and the editor simply asks the compiler for the relevant information.
Conceptually, it would be possible to write a JEdit plugin to do everything Emacs does with Slime by writing a Java implementation of the Swank protocol. However nobody seems to have gone this route; most lispers would rather write in emacs-lisp than Java...
If you don't need a sophisticated editor, take a look at ABLE.
http://phil.nullable.eu
The quickest way to use JEdit would be to start a lisp process in the console and copy/paste or LOAD code as needed.
Also take a look at the free versions of Allegro (franz.com) and LispWorks (lispworks.com); they come with IDEs.
Conceptually, it would be possible to write a JEdit plugin to do everything Emacs does with Slime by writing a Java implementation of the Swank protocol. However nobody seems to have gone this route; most lispers would rather write in emacs-lisp than Java...
If you don't need a sophisticated editor, take a look at ABLE.
http://phil.nullable.eu
The quickest way to use JEdit would be to start a lisp process in the console and copy/paste or LOAD code as needed.
Also take a look at the free versions of Allegro (franz.com) and LispWorks (lispworks.com); they come with IDEs.
-
- Posts: 406
- Joined: Sat Mar 07, 2009 6:17 pm
- Location: Brazil
- Contact:
Re: Where to start?
If you like the Eclipse editor (which is for Java) and have a powerfull machine (specially in terms of RAM), you can try Cusp. It looks really fancy. I used it for some time and I liked it (but then I learned to like Emacs
.

-
- Posts: 148
- Joined: Wed Jul 30, 2008 11:26 pm
Re: Where to start?
Might as well get into Emacs now. Spend a few months with Lisp and you'll be kicking yourself for not doing it sooner. Same with Emacs.lszanto wrote:The issue I'm having is I want a basic setup to learn and be able to create some programs in lisp or common lisp but I do not want to use an editor like emacs or vim as I simply prefer a simple text editor like Gedit or Jedit.

Re: Where to start?
If you want to have a full-featured CL environment right off the bat I would highly recommend one of two setups. Either use SBCL on some variant of Debian Linux (Ubuntu is probably the most user-friendly) or use Lispworks Personal Edition with Edi Weitz's starter pack. There's nothing actually wrong with other setups (I use ECL more than any other CL these days), but you might have some difficulties with them, particularly if you want to use a lot of libraries.
This isn't comp.lang.lisp, so I won't be gratuitously mean to you. But I will argue that your set of conditions is silly. It's like going on a culinary tour of Japan and refusing to eat fish, noodles, soy sauce, or dashi. If you come home from such a tour with the impression that Japanese food is unappealing you'll have no one to blame but yourself.
Emacs is sort of old and crufty. Slime combined with a CL implementation is still a long way ahead of most development environments, despite the emacs cruftiness. IOf you insist on your preconceptions you will fail to understand why that's true, and if you fail to understand that you will miss most of what's good about CL. If pressed as to why I persist in programming in this now obscure language I would have to say: Ruby lacks a decent REPL. Ruby lacks a lot of other things CL has, but above all.. while Ruby has irb, you can't use irb in the same way you can use the CL REPL, because no one has bothered to make tools that would allow you to. If you choose to develop as you always have- write, compile, run, or some variation of that, you will miss the point entirely.
You say that you're interested in Lisp, and in CL in particular. If you want to know what is peculiar to Lisp you will have to use the tools that Lispers use. The interactive nature of the REPL is not insignificant.
This isn't comp.lang.lisp, so I won't be gratuitously mean to you. But I will argue that your set of conditions is silly. It's like going on a culinary tour of Japan and refusing to eat fish, noodles, soy sauce, or dashi. If you come home from such a tour with the impression that Japanese food is unappealing you'll have no one to blame but yourself.
Emacs is sort of old and crufty. Slime combined with a CL implementation is still a long way ahead of most development environments, despite the emacs cruftiness. IOf you insist on your preconceptions you will fail to understand why that's true, and if you fail to understand that you will miss most of what's good about CL. If pressed as to why I persist in programming in this now obscure language I would have to say: Ruby lacks a decent REPL. Ruby lacks a lot of other things CL has, but above all.. while Ruby has irb, you can't use irb in the same way you can use the CL REPL, because no one has bothered to make tools that would allow you to. If you choose to develop as you always have- write, compile, run, or some variation of that, you will miss the point entirely.
You say that you're interested in Lisp, and in CL in particular. If you want to know what is peculiar to Lisp you will have to use the tools that Lispers use. The interactive nature of the REPL is not insignificant.
Re: Where to start?
As already mentioned, emacs is the almost only choice for Lisp programming (at the moment, at least). There are probably other ways (like ABLE or CUSP), but they are inferior to SLIME (in terms of features).
As for implementation and libraries, I highly recommend using Gentoo Linux with Lisp overlay. It contains a rich set of libraries and lisp implementations, all of very recent versions (in contrast with debian/ubuntu: the main repo contains almost ancient versions and I was not able to find other repositories). This saves a lot of time searching and installing libraries.
As for implementation and libraries, I highly recommend using Gentoo Linux with Lisp overlay. It contains a rich set of libraries and lisp implementations, all of very recent versions (in contrast with debian/ubuntu: the main repo contains almost ancient versions and I was not able to find other repositories). This saves a lot of time searching and installing libraries.
Re: Where to start?
Hi Luke,lszanto wrote:Hey, I'm an average programmer from Australia. I've become interested in learning Lisp as I see it as a challenging and powerful language that would be useful to learn. The issue I'm having is I want a basic setup to learn and be able to create some programs in lisp or common lisp but I do not want to use an editor like emacs or vim as I simply prefer a simple text editor like Gedit or Jedit. I am on linux but also have windows avaliable if I really need it. So does anybody know of any guides or ways of creating a simple environment with command line/text editor use instead of emacs or vim?
check out this collection of links: http://stackoverflow.com/questions/1101 ... 22#1102422
I've written those answers for Vim users, but for most of it you can just substitute your favorite editor.
I also recommend clbuild under GNU/Linux for library management.
Leslie
-
- Posts: 406
- Joined: Sat Mar 07, 2009 6:17 pm
- Location: Brazil
- Contact:
Re: Where to start?
He won't miss the nature of REPL using Cusp or Able, they both provide a load-expression command and a prompt REPL.duncan wrote:You say that you're interested in Lisp, and in CL in particular. If you want to know what is peculiar to Lisp you will have to use the tools that Lispers use. The interactive nature of the REPL is not insignificant.
I may be wrong, but Cusp actually implements all features of Slime (except perhaps contribs), or at least tries to. The problem is it is that Eclipse doesn't have Emacs' features. I'd say that Cusp will be a good environment for learning CL, it comes with everything (editor and implementation) out of the box. Once he learns CL and understand what Lisp is all about, then learning Emacs would be naturally the next step, but I'm afraid that learning Emacs and CL at the same time will do nothing but confuse him more that it is needed.dmitry_vk wrote:As already mentioned, emacs is the almost only choice for Lisp programming (at the moment, at least). There are probably other ways (like ABLE or CUSP), but they are inferior to SLIME (in terms of features).
As for implementation and libraries, I highly recommend using Gentoo Linux with Lisp overlay. It contains a rich set of libraries and lisp implementations, all of very recent versions (in contrast with debian/ubuntu: the main repo contains almost ancient versions and I was not able to find other repositories). This saves a lot of time searching and installing libraries.
-
- Posts: 148
- Joined: Wed Jul 30, 2008 11:26 pm
Re: Where to start?
I don't think that's strictly accurate. You *can* write Lisp code with any editor you like, cutting and pasting to the REPL. Although newbies especially will probably be less productive in this mode, lacking auto-indentation and a readout reminding them of functions' parameters. But some people have been doing it in vi for ages.dmitry_vk wrote:As already mentioned, emacs is the almost only choice for Lisp programming (at the moment, at least).
What makes Emacs so confusing compared to Eclipse? It sure looks simpler to me. A window, some code. And a menu and tool bar for people who haven't turned them off yet.gugamilare wrote:Once he learns CL and understand what Lisp is all about, then learning Emacs would be naturally the next step, but I'm afraid that learning Emacs and CL at the same time will do nothing but confuse him more that it is needed.
Re: Where to start?
Emacs is different and its concepts confuse people who are used to Eclipse, Visual Studio and similar environments.Paul Donnelly wrote: What makes Emacs so confusing compared to Eclipse? It sure looks simpler to me. A window, some code. And a menu and tool bar for people who haven't turned them off yet.