Missing substitution in 18.3?

Dan Smith daniel.smith at oracle.com
Tue Dec 17 15:26:39 PST 2013


On Dec 17, 2013, at 8:27 AM, Stephan Herrmann <stephan.herrmann at berlin.de> wrote:

> At some point the type variables T,K,U of toMap must be
> substituted with their inference variables, but neither 18.5.2
> nor 18.3 say so, or am I missing anything?

Okay, yes.  The capture bound should already have the substitution applied in 18.5.2:

G<β1, ..., βn> = capture(G<A1 θ, ..., An θ>)

I'll fix that.

I also noticed that, since we've established that the invocation is a poly expression, the return type must contain an inference variable (after substitution) -- per 15.12 in Part D.  So it can't be void.  I've eliminated that case.

—Dan


More information about the lambda-spec-experts mailing list