JOPA: Java compiler in C++, Jikes modernized to Java 6 with Claude
61 points by pshirshov
by pshirshov
3 subcomments
Essentially, I've tried to throw a task which, I thought, Claude won't handle. It did with minimal supervision. Some things had to be done in "adversarial" mode where Claude coded and Codex criticized/reviewed, but it is what it is. An LLM was able to implement generics and many other language features with very little supervision in less than a day o_O.
I've been thrilled to see it using GDB with inhuman speed and efficiency.
by proxysna
5 subcomments
Jopa means ass in russian, this reminded me of Pidora.
by pabs3
0 subcomment
The Bootstrappable Builds community would likely be against using AI auto-generated code as part of any bootstrap process. If its auto-generated, it isn't considered "source" code.
by goranmoomin
1 subcomments
I'm genuinely curious on how well this is working, is there an independent Java test suite that covers major Java 5/6 features that can verify that the JOPA compiler works per the spec? I.e. I see that Claude has wrote a few tests in it's commits, but it would be wonderful if there's a non-Clauded independent test suite (probably from other Java implementations?) that tracks progress.
I do feel that that is pretty much needed to claim that Claude is adding features to match the Java spec.
by pshirshov
2 subcomments
Btw, working on Java 7 support. At this moment I sorta have working Java 7 compiler targeting Java 6 bytecode (Java 7 has StackMapTable which is sort of annoying).
Also, I've tried to replace parser with a modern one. Claude succeeds in generating Java 8 parsers with various parser generators/parser combinators but fails to resolve extremely tight coupling.
by pshirshov
0 subcomment
Ah, by the way. I've tried to do the same with Codex (gpt-5.1-codex-max) and Gemini (2.5 pro), both failed spectacularly. This job was done mostly by Sonnet 4.5. Java 6 did not require intensive supervision. Java 7 parts are done with Opus 4.5 and it constantly hits its limits, I have to regularly intervene.
by atgreen
1 subcomments
Related: I recently got javac working with OpenLDK, my JVM bytecode to Common Lisp transpiler. The `javacl` binary is a dumped sbcl image that behaves just like OpenJDK javac program, but with CL under the hood (eg. java objects/methods are all CLOS).
by shawn_w
1 subcomments
I remember discovering and using jikes in the 90's. It was /so/ much faster than javac back then.
"Modernizing" to Java 6 is amusing.
by exabrial
2 subcomments
tangential: Isn't there from the same time period, a java compiler written in java?