>>110836>Apparently you can make it both compiled and interpreted.Being compiled or interpreted is an implementation detail rather than a language characteristic; you could, in theory, implement either a compiler or an interpreter for any language (though an argument could be made certain language features might make it harder to implement good compilers and whatnot), so it doesn't make much sense to say a language is either (and it isn't as clear-cut in any case since you have things like JITs, bytecode interpreters and whatnot). Implementing a small language (something like a Scheme or a Forth) as a side-project might help clearing up some of the confusion; it is also a ton of fun.
Lisp had the original metacircular interpreter (i.e. the Lisp interpreter was written *in Lisp*), which was hand-translated to IBM 704 assembly; but we've also had great compilers for some of it's descendants for decades (see SBCL or Chez Scheme for examples of two pretty good, currently-maintained compilers for Common Lisp and Scheme, respectively). Some implementations only have a compiler, some have both a compiler and an interpreter, some have more than one compiler.
>only good other language.Haskell has a lot in it for modelling the assumptions of your program at the type level, and letting the compiler prove the correctness of the value level for you, at compile-time; so it'd make sense for Rust people to talk about Haskell like that.
Lisp (now talking about Common Lisp in specific, although the overall philosophy runs, with a varying degree, through the whole family), in the other hand, goes in the opposite direction by giving the programmer as much freedom as possible to do what he feels like doing, including extending the language itself. This, of course, includes the freedom to build yourself into a verifiable, well-typed subset a-la-Haskell (see Coalton; or ACL2 for a theorem prover based on a subset of CL), or to shoot yourself in the foot (note the language doesn't try to make it *easy* to unintentionally do so, in the way that C pointers might, but it certainly won't stop you if you feel like it), or whatever.
A lot of it comes down to opinion, and different people value different things in a language, and so on; certainly you've heard this before.
>If I wanted to go back in time I'd go there.Haskell is about the same as age as Python, not much older than Java or Ruby; it isn't that old by programming language standards. And it's alive with a dedicated community; GHC is often seem as a breeding ground for experimenting with new language features.
Lisp is almost everyone's granddaddy, but has quite a dedicated community as well, and lots of features you seldom see in newer languages.
>I tried giving Lisp a chance, but it just doesn't appeal.What did you try? Common Lisp, Scheme, something else? How was your experience? Interactive image-based development, compile-time metaprogramming with macros, a great object system with a metaobject protocol; maybe it's not for everyone, but I certainly think it's a lot of fun.
But Haskell is fun too.