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.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to