Project Lambda: Java Language Specification draft

Neal Gafter neal at gafter.com
Mon Jan 25 16:09:18 PST 2010


On Mon, Jan 25, 2010 at 3:49 PM, Alex Buckley <Alex.Buckley at sun.com> wrote:
> To another of your points, the notation #T(S1..Sm)(E1..En) is meant to be an
> abstract notation for use in the JLS where a type needs to be destructured.
> In case the FunctionType production changes.

Still, the relationship between this notation and the language's
syntax should be specified, even if it is trivial.

It might be better to select an unambiguous notation, even though it
isn't part of the language syntax.  For example

##T(X)(Y)(Z)

could either correspond to the language syntax ##T(X)(throws Y)(Z)

which is a function that takes a Z and returns a #T(X)(Y)

or it could correspond to the language syntax ##T(X)(Y)(throws Z)

which is a function that takes a Y and returns a #T(X) and throws Z.

Cheers,
Neal


More information about the lambda-dev mailing list