In any case, when evaluating Erlang, I found the immutable variables to be rather unpractical. I can see why they might help to avoid errors with multi threading, but I don't see a reason to be excited about it? At the end of the day, it is another limitation of the language. With Java, that is what people complain about, the constraints, why wish for it in other languages?
If you think that immutable variables reduce programming errors, you are free to just not change your variables anyway, I guess. No language constraint required.
As paulgb said, Lisp is not purely functional, unlike Erlang or Haskell.
And actually, you could ignore functional programming and write code in an imperative style in Lisp (though it's not recommended, since you'd be missing out on the benefits of using Lisp).
It's sad. After coding in Haskell and Erlang I moved back to Python for a project and my code was just littered with extra variables. I had become so used to the functional way that varying variables just seemed so wrong and foreign.
Im not a cool kid.