Incidentally, I'm (very slowly) doing that refactor in a fork of Functional Java. Unfortunately FJ uses classes instead of interfaces and unlike the BGGA prototype Java 8 lambdas can only target interface types. I'm replacing final instance methods with Java 8 defender methods, and moving static methods to separate classes.
If you instead test it using scala, the scalaz library and Scala's parser combinators currently generate more .class files than you could shake a stick at. On Tue, Oct 2, 2012 at 10:06 AM, Simon Ochsenreither < [email protected]> wrote: > > I don't think this is true, is it? >> > > Every version of Java has incremented the class file version and classes > compiled for a newer version won't run on older versions. > So you can't use a version of javac supporting lambdas and target an > older version. (javac has the target argument, but that's more or less > useless for this usecase because it it requires a source argument with the > same version number.) > > To do some sensible real-world measurements you would need > > a) a corpus of code, in which lambdas are used idiomatically (this > probably means a lot more frequent than with the current AIC syntax) > b) a compiler which understands lambdas and ... > c) ... would be able to generate classfiles with both the new class file > version and the old class file version. > > This is not possible currently with javac, and I don't see that changing > for 8. (There is a chance that Retroweaver or a similar tool would add > support for 8, though...) > > A more degenerate usecase would be to measure with a 1.6-compatible corpus > first, and then refactor it to use lambdas ... but I guess any results > gained from that would be highly debatable. > > I think clay's best bet is to use scalac as soon as the backend for 8 is > available, because scalac doesn't suffer from the other restrictions and > you can easily target different class file versions while using the current > features. > > -- > You received this message because you are subscribed to the Google Groups > "Java Posse" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/javaposse/-/kM5TMeZm2xwJ. > > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
