title: How do you define and use curry and uncurry (Prelude functions) in Haskell?
body: <p>How can I use <code>curry</code> and <code>uncurry</code> prelude functions in Haskell?</p>
  
  <p>Moreover, why do the following definitions throw an error when loaded?</p>
  
  <pre><code>curry' :: ((a -&gt; b) -&gt; c) -&gt; a -&gt; b -&gt; c
  curry' f = \x y -&gt; f (x, y)
  
  uncurry' :: a -&gt; b -&gt; c -&gt; ((a -&gt; b) -&gt; c)
  uncurry' f = \(x,y) -&gt; f x y
  </code></pre>