JSR 335 Lambda Specification, 0.6.2
Brian Goetz
brian.goetz at oracle.com
Mon Mar 4 11:32:00 PST 2013
> Some possible combinations of terms the might work:
>
> - "Function type" is the general term for types that can be targeted
> by lambdas. Among these are functional interface types,
> intersections involving function types, and [insert name here]
> (structural function types). Separately, "function descriptor" can
> be renamed however is preferred.
>
> - "Function type" is a structural function type. A lambda can target
> a [insert name here], which may be a function type, a functional
> interface type, or an intersection involving a [insert name again].
> Separately, "function descriptor" can be renamed however is
> preferred.
>
> - "Function type" consists of the parameters, return, etc., of a
> method. Functional interfaces "have" a function type (other
> interfaces and classes do not). Syntax supports expressing certain
> function types directly. Lambdas can target any type that "has a"
> function type, including functional interface types, intersections
> involving types that have a function type, and function types
> themselves.
The last seems the best choice? It is basically an "abstract superterm"
for function types, of which functional interfaces, certain
intersections, and in the future, structural function types will be
instances. Then we can leave the current functional interface term
intact?
More information about the lambda-spec-experts
mailing list