Scala is Not a Functional Programming Language
enfranchisedmind.com
enfranchisedmind.com
I appreciate informed criticisms like this, but he is definitely representing Scala in as poor a light as possible.
def x(a:Int, b:Int) = a + b
val y = x(1, _:Int) // y is a partially applied function
y(2)
==========
Much better looking than his snippet:
def x(a:Int, b:Int) = a + b
def y = Function.curried(x _)(1)
y(2)
I do wonder why Scala requires 'def' to be within a class/body (it could just create an implicit object inheriting from FunctionX)
Also, destructuring pattern matching does require language support (the linked example only involves simple predicates)