Scala supports operator syntax for methods of arity 1, so you can write
List(1,2,3) reduce (_+_)
while
List(1,2,3) foldLeft (0)(_+_)
fails with "error: Int(0) does not take parameters".
According to the style guide, you should use operator syntax for infix operators. However, the problem with dot-notation as explained in the style guide also applies to foldLeft:
List("a","b").foldLeft("") (_+_).toUpperCase
Also, why does foldLeft have curried parameters? This way, we can't write
List(1,2,3) foldLeft (0, _+_)