I must have missed the memo explaining why static typing is always better. Can you forward it to me?
Lisp [is] stuck in the past...
You lose a little credibility here for not specifying which lisp you mean. I'll assume you mean Common Lisp because:
- Scheme is in the middle of reinventing itself after the R6RS unpleasantness, and that process could have any number of interesting repercussions.
- Clojure is very young, and already has a good chance of becoming the first mainstream functional programming language. I'll leave the value of that distinction unspecified for now, but it would be interesting.
- Some of the features available to Common Lisp programmers in the past really are impossible to duplicate today, and will probably remain so for the forseeable future. By all accounts, the system-level introspection and debugging capabilities available on Lisp Machines were a real treat to operate. We can reasonably disagree about how useful it might be to have OS, toolchain, editor, and system software all written in the same language and presenting a uniform interface, but I don't see how anyone could claim that ML and Haskell have surpassed Lisp on this point.
Check out the Haskell page on Music and Sound libraries and applications: http://www.haskell.org/haskellwiki/Applications_and_librarie...
That stuff might be useful, especially if you like curses user interfaces.
Compare that to some of the Lisp APPLICATIONS in that area:
OpenMusic: http://recherche.ircam.fr/equipes/repmus/OpenMusic/
PWGL: http://www2.siba.fi/PWGL/pwglconstraints.html
Common Music: http://commonmusic.sourceforge.net/
Symbolic Composer: http://www.symboliccomposer.com/windows/page_screenshots.sht...
Somehow the Lisp programmers haven't gotten the message that Lisp has been surpassed in all respects by Haskell - I wonder why that is. Do you have an idea why Lisp has cool applications and Haskell has curses-based MP3 player frontends?
Also, Common Lisp still has no libraries or coherent community. Every time I ask #lisp about a library for something trivial, the answer is "write it yourself". This is annoying to people that don't want to shave that particular yak.
Haskell's community is nearly the opposite, so I bet in 18 years we will see many more Haskell apps than Common Lisp apps. Unless the community starts being nice to people, and people start sharing code worth sharing, that is.
Sure the Common Lisp community is not that 'coherent' - the language is used for very different things. Still there are meetings and conferences where users meet.
The first Haskell report appeared 1990. I'd say there has been lots of time to get applications written. Before Haskell there was Miranda.
Common Lisp has a lot of libraries. Look at CLIKI for some pointers.
So, did you write your Common Lisp library yourself? That's what I usually do when I miss some stuff or would like a different implementation.
I went to ILC this year. It was nothing like any programming conference I had ever been to. Everyone droned on and on about their incomplete research project or some company they founded that happens to use Lisp. Someone who admitted to never programming in any language other than Lisp told us that it was clear that Lisp was the best programming language. Yeah, you sure convinced me...
Most conferences I go to are about programming techniques or actual working code you can immediately download and use. I think there were about 5 sessions like this at ILC. The rest were largely irrelevant.
The first Haskell report appeared 1990. I'd say there has been lots of time to get applications written.
No, Haskell was junk until about 2 or 3 years ago. Sorry. The runtimes were slow and buggy, there was no community of people writing software, and there were no libraries. There was no packaging system or library database, even. Expecting anyone to write a useful Haskell application would have been completely unreasonable. (But of course, there were some; darcs and ghc for example.)
The same is not true of Lisp. It has been pretty much the same for a very long time.
Look, Common Lisp and Haskell are among my favorite programming languages. But I am not surprised that neither have a wide following, either.
Some days ago I've made a version of Axiom runnable under LispWorks (with a bit of help from the maintainer). Very complex software with a complex build process, ported to several Common Lisp systems. Took me a day to get it to work under LispWorks.
ML and Haskell have certainly surpassed common lisp in some respects, but to say that they have surpassed all lisps in all respects has got to be some sort of sophistry.
Lisp is a form of syntax (and a few primitives like Eval and quote) that makes it easy to write programs that manipulate programs.
Common Lisp and Lisp 1.5 and Scheme and Clojure all have certain other things in common.
However, they have those things in common because they are generally recognized as being good things to have in a language for the purpose of programmer productivity. In no place is it written in stone that to be a Lisp, it must not use Hindley-Milner type inference.
I think you'll also find that most Lispers are chronic dabblers in programming languages, to say that I'm sticking my head in the sand when I choose to write whatever-it-is in Clojure is insulting.