title: How to curry a function in Scala
body: <p>I'm trying to call a 2 parameters function in List.foreach, with the first parameter <em>fixed</em> for a loop. In fact I want to curry a function of two parameters into a function of one parameter which returns a function of one parameter (as List.foldLeft do)</p>
  
  <p>This does not work:</p>
  
  <pre><code>private def mathFunc1(a: Double, b: Double) =
      println(a + b)
  
  
  def eval(v: Double) = {
      List(1.0, 2.0, 3.0).foreach(mathFunc1(2.1))
  }
  </code></pre>
  
  <p>This works:</p>
  
  <pre><code>private def mathFunc2(a: Double)(b: Double) =
      println(a + b)
  
  
  def eval(v: Double) = {
      List(1.0, 2.0, 3.0).foreach(mathFunc2(2.1))
  }
  </code></pre>
  
  <p>But I don't want to change the signature of mathFunc1, so I want to do something like:</p>
  
  <pre><code>private def mathFunc1(a: Double, b: Double) =
      println(a + b)
  
  
  def eval(v: Double) = {
      List(1.0, 2.0, 3.0).foreach(CONVERT_TWO_PARAMS_TO_ONE_ONE(mathFunc1)(2.1))
  }
  </code></pre>