Actually Common Lisp supports a gazillion of different programming styles. The version with small functions, similar to the Haskell version: (subseq (remove-if (complement #'numberp) (butlast list 3)) 0 5) In above Common Lisp code, we use four different functions which do one task: * subseq sequence start &optional end => subsequence * remove-if test sequence => result-sequence * complement function => complement-fu…
I think a lot of that is due to the untyped nature of unix. Everything is text, so you constantly have to specify details about what the actual input is.
Not sure if that applies to lisp or not.
Granted, that's not the only reason.