Common Lisp:<p><pre><code>    (subseq
     (remove-if
      (complement #&#x27;numberp)
      (butlast list 3))
     0 5)
</code></pre>
In above Common Lisp code, we use four different functions which do one task:<p><pre><code>    * subseq sequence start &amp;optional end =&gt; subsequence
    * remove-if test sequence =&gt; result-sequence
    * complement function =&gt; complement-function
    * butlast list &amp;optional n =&gt; result-list
</code></pre>
&gt;  This is known as composability, or the UNIX philosophy. In Lisp a procedure tends to accept many options which configure its behaviour.<p>Check out the UNIX man for tail, grep, ... to see how strange above quote about &#x27;unix philosophy is&#x27;. In reality Unix commands are programs with obscene amount of configuration options, piping data as text or bytes around...<p>Generally I&#x27;m a big fan of the descriptive code which one writes by using keyword options to Lisp functions. I think it beats Haskell code for readability by a mile, since the intent is much clearer in the source code.