>>8
Don't group all Lisp programmers as the same.
>>1
data cannot be interpreted as programs,Untrue, you can write an interpreter in most languages. You can also write compilers or even JITs, but things get a lot more complex and unportable there.
lists must be homogeneous, Only in some languages, such as those derived from ML (including Haskell), but there are ways around it even there.
and functions are not easily redefned(sic) without recompiling other dependent functions.Partially true, but if arguments and their types don't change it's possible. In CL such possibilities cost you an indirection when calling functions (however it's possible to optimize this away with the right declarations).
I tried a recent version of an ENTERPRISE language (C#/.NET) and was surprised they now offer a way to dynamically recompile functions of applications you're debugging using MSVS, so at least they're getting some nice features that come for free in Lisps.