Comment by girzel
7 years ago
I think the general consensus is that it's great for "getting big shit done" – in other words, it's hard to beat for creating large, complex programs, but relatively crap for scripting or smaller tasks. I'm still kind of amazed how difficult it is to create a Lisp program that isn't hundreds of MB in size.
I created TXR/TXR Lisp to be great for scripting or smaller tasks. It has a small footprint and is free of annoying dependencies, yet feature-rich.
http://nongnu.org/txr
I released version 223 today, which marks the tenth anniversary, since the project's August, 2009 start.
Most of the Schemes (Chicken, Gambit / Gerbil, Chez, Racket at least) have a way of distributing executables that are small.
I’ve used Chicken in the past to create static binaries that were on the order of hundreds of kilobytes.
> I'm still kind of amazed how difficult it is to create a Lisp program that isn't hundreds of MB in size.
That's not true IME. No doubt SBCL binaries are large, but they start around 70 Mb and grow from there. The growth depends partly on how many shared libraries are loaded when the image is created. Commercial Lisps are supposed to be better, but I haven't used them so I can't really say.
For smaller tasks SBCL (and possibly others) support scripting using a "shebang line" of "#!/usr/bin/sbcl --script".
Sure, I'm not saying these things can't be done, just that you get the distinct feeling that it isn't how Lisp was made to work. I might have been exaggerating about size, but 70 Mb is pretty damn big for a program that might not do all that much! I haven't ever used commercial Lisps, either.
A GUI-based 64bit 'hello world' application with LispWorks on the Mac is around 13MB in disk size.
A mocl application might start around 1 MB. But that's an unusual whole-lisp-program-to-c compiler.
It's dynamically typed, so, heh, that is definitely not the general consensus.