Why invoke() and not apply()


I believe you have already answered this question, but why is the method for "function-like" types is called invoke() instead of apply()? This seems like it has become an established naming convention, since not only Scala, but also Java 8 used it for Function<T,U> types.



Java's reflection calls such methods "invoke", and this is where we took it from. We may reconsider this decision later.


+1 for apply.