On 22 Jan 2016, at 8:50, Mars0i wrote: > The Frege project (a Haskell for the JVM) is running into problems with the > Java 8 compiler (producing invalid JVM bytecode or just > > Ugh. Am I making a mistake by using Java 8? "Invalid JVM bytecode", i.e. > it's syntactically incorrect and won't run? That's OK; I'll know it if I hit > such a patch of bytecode, I guess. It would bother me more if I could run a > program successfully but with incorrect results.
I was reading this on the Frege list the other day and was also initially quite shocked. However, and I've not yet looked into the problem or tried to reproduce it and see exactly what's blowing up - but having seen some of the code generated by Frege, whilst not overly crazy, does make heavy use of anonymous classes, and I suspect the Java 8 specific generator may be generating some quite heavy lambda-within-lambda-within-lambda looking code that may be hitting, and revealing some gnarly corner cases that, if written normally ( and in a non-lazy language ) might never occur. I suspect it's pushing the type inferencer and lambda/method-handle code to the edges of edgey edge cases "as far as standard java is concerned". Ideally it would be good to get these fixed in 8, or at least 9 - and I think it would certainly be a good test case for tracking such fixes, so ultimately any fixes will be "a good thing", but that might be a while coming. -- Mark Derricutt http://www.theoryinpractice.net http://www.chaliceofblood.net http://plus.google.com/+MarkDerricutt http://twitter.com/talios http://facebook.com/mderricutt -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: OpenPGP digital signature