Function types versus arrays

Howard Lovatt howard.lovatt at iee.org
Thu Feb 18 03:12:23 PST 2010


Hi Alex,

> I find it very difficult to follow Howard's scheme, since some is at
> Artima and some is sprinkled around this mailing list.

The reason for using Artima was primarily that I find Pipermail very
limited. The important stuff is all at Artima. I can send my source
code for the examples if you wish (I have already done so for Fredrik
Öhrström from the JRocket team who was interested in how lambdas might
be optimized).

> I am surprised at
> the assumptions that suddenly appear from time to time, e.g. "For the
> moment lets assume that generics were extended so that you could have a
> vararg type construct".

I was aware that checked exceptions would require extensions to
generics and also the original strawman didn't include checked
exceptions. Hence I didn't include them in the original proposal, but
to answer on of Neal's questions I needed to explain my thinking on
that subject.

> I worry about the boot loader having to
> auto-generate classes, since loaders are already under heavy
> modification for module systems.

I haven't studied this, I was hoping that any changes would be
orthogonal and hence both possible simultaneously.

> And it all feels similar to NextGen's
> approach to reification, though no proper comparison has ever been made.

The approach is similar, which I find encouraging, since NextGen is
known to work. One trivial difference is that they use a class file
generated by the compiler as a template that has markers in it that
are replaced at load time, in my scheme the compiler simply emits the
name of the required class (which encodes the necessary types). A more
substantive difference is that backward compatibility is not an issue
and this allows the reification scheme some flexibility.

> For these reasons, I welcome Neal's continued analysis of the scheme on
> lambda-dev, even if it sometimes looks like the implementation focus is
> getting out of hand.

I too welcome Neal's, and anyone else's, contribution - keep the
tricky examples coming!


  -- Howard.


More information about the lambda-dev mailing list