Which version of lisp is best

Started by
14 comments, last by Brandon N 18 years, 10 months ago
I know a little bit of clisp and have been playing around with scheme. Can anyone give me any pointers on the advantages and disadvantages of various lisp implmentations? Which do you think is best and why?
Advertisement
Well now, that really depends on what in the world you want to do with it.

CLisp is an implementation of Common Lisp, which is designed to pretty much do anything and everything under the sun. If you're brave enough to walk the road less travelled, Common Lisp is a really good platform to develop just about any kind of application on. Just be prepared for the reality that Lisp Is Different.
Scheme, on the other hand, is pretty much the answer to the question "how small can we make Lisp and still have it usable?". It's much easier to learn than Common Lisp, much much MUCH simpler, and you will likely have to write quite a bit of basic library-ish code before you start making your actual application. Most implementations, however, will have (implementation-specific) libraries that help this, and there are also a number of collections of miscellanious handy code to help you along.

Common Lisp is good application development language, and great for all sorts of high-level logic and fun stuff like that. Scheme is a good embedded and scripting language. You can write big applications in it, but you'll have to do things like find/write your own hashtable library and advanced string handling routines.

Decide which you want to use, and for what, before you start worrying about implementations. It really depends on what you need.

Still, here's what I know. For Common Lisp, amoung the open source projects, there are basically three big ones:
CLisp, which is relatively small, fairly straightforward, written in C, widely cross-platform, and kinda slow.
CMUCL, which is REALLY big, REALLY complete, has all sorts of interesting/twisted things in it, and pretty damn fast. It's only on UNIX-y platforms though.
SBCL, which is a fork of CMUCL that makes things a lot smaller, a lot simpler, and almost as fast.

Of these three, only CLisp works on Windows, though I think all of them compile under Cygwin, and MAYBE MinGW. Then there's the non-free Lisps, of which the big ones are Allegro Common Lisp and Corman Lisp. Corman Lisp is Windows-only, and ACL has versions for Windows, Unix and Mac. With Corman Lisp at least, you get what you pay for, both in terms of speed and handy tools like GUI builders. If you're doing Windows dev, it's definately a good choice. I've never used ACL, but I assume it's rather similar.

For Scheme, there are BUCKETS of implementations, most of them free, some of them good. Check www.schemers.org for a pretty full list. I can recommend Scheme48, MIT Scheme, and (especially) PLT Scheme. Guile is a Scheme interpreter that's customized for embedded and scripting use. Whichever you choose, I suggest you make sure it's compliant with the Scheme standard (it should say R5RS compliant somewhere in the docs), especially if you plan on using other people's code.
-----http://alopex.liLet's Program: http://youtube.com/user/icefox192
Also, don't forget LispWorks.

An answer
comp.lang.lisp search
Table comparison
http://www.cliki.net/Common%20Lisp%20implementation
ok thanks for the information.

I will probably go with clisp now as I want to really just pick up the semantics of the language so that I may later on as you say go with guile for embedding.

thanks again for the help all.
#!/usr/bin/clisp(format t "Hello, World!!!")


genjix@linux:~> ./cWARNING: *FOREIGN-ENCODING*: reset to ASCIIHello, World!!!genjix@linux:~>


how can I get rid of that annoying error message?

thanks again.
A little beside the point, but there's a little bit of info on GOAL (Game Object Assembly Lisp) which was used in the first Jak and Daxter game postmortem (gamasutra registration may or may not be required) - but to the best of my knowledge GOAL is not publicly available.

But it might give you some ideas.
Quote:Original post by Will F
A little beside the point, but there's a little bit of info on GOAL (Game Object Assembly Lisp) which was used in the first Jak and Daxter game postmortem (gamasutra registration may or may not be required) - but to the best of my knowledge GOAL is not publicly available.

But it might give you some ideas.


nice read.
lol LISP looks like its some kind of dog language, it basically has a very bad structure, sry for my ignorance, this is what happens when you spend all your time with c++, especially for someone who can write pong faster than you can write a hello world application using the .net platform :P
Use haskell. :p

This topic is closed to new replies.

Advertisement