A syntax option (function types versus arrays)
Peter Levart
peter.levart at marand.si
Tue Mar 2 02:16:40 PST 2010
On Tuesday 02 March 2010 03:01:40 Joshua Bloch wrote:
> Neal,
>
> I don't find this argument convincing. As I understand it, you're saying
> that function types and disjunction types will have the same level of
> runtime support as generics. So they should have the same level of
> expressiveness as well: it should be possible to describe, but not create
> (except implicitly for varargs) arrays of these types.
>
> Josh
>
The same level of expressiveness could be achived if we had a denotable form of common function supertype: FT (which could be different in syntax from function types in general).
In analogy with the following:
new List<String>[10] // illegal
new List[10] // legal
The function types variant:
new (int -> int)[10] // illegal
new FT[10] // legal
I wouldn't equate FT with MethodHandle since that would be an implementation detail. I wouldn't equate it with a marker interface either. The specification could just define it as a way to create arrays of raw function type. But is this any better than new Object[] ?
Regards, Peter
More information about the lambda-dev
mailing list