"All functions are curried in Haskell by default" that is, all functions in Haskell take only one argument. How does it do this? By currying.
Scala has currying built-in. To demonstrate, take this method that takes tow Ints and returns an Int:
def aMethodWith2Args(x: Int, y: Int): Int = x + y
Let's lift it:
val lifted: (Int, Int) => Int = aMethodWith2Args(_, _)
and curry it:
val curried: Int => Int => Int = lifted.curried
So, we too now have a function that only takes one argument. It just returns another function that also takes only one argument. That's currying.
Now we can partially apply it
val partial: Int => Int = curried(1)
println(partial(2)) // prints out '3'
Just like Haskell.