title: How do I define Lisp’s apply in Haskell?
body: <p>Shouldn’t this definition be allowed in a lazy language like Haskell in which functions are curried?</p>
  
  <pre><code>apply f [] = f
  apply f (x:xs) = apply (f x) xs
  </code></pre>
  
  <p>It’s basically a function that applies the given function to the given list of arguments and is very easily done in Lisp for example.
  Are there any workarounds?</p>