Partial application supplies some arguments to a function and returns a new function waiting for the rest. Its type signature sharply limits the possible implementation. section 2.5
Implementing partial1
A function accepting A and B and returning C becomes a function accepting B and returning C. The fixed A value is captured by the returned function: partial1(a, f) = (b: B) => f(a, b). section 2.5
Read the signature as a construction guide:
- The result must be a function of type B => C. section 2.5
- That function accepts b: B. section 2.5
- It applies f to the stored a and the later b. section 2.5
def partial1[A, B, C](a: A, f: (A, B) => C): B => C = (b: B) => f(a, b)
View the complete Scala implementation of partial1. section 2.5









