Core concept

def add(a: Int)(b: Int) = a + b
val inc = add(1) _
inc(4)  // 5
Advertisement

How it works

Multiple parameter lists enable type inference across lists.

Advertisement

Trade-offs + gotchas

DSLs, partial application, dependency injection.