Arc Forumnew | comments | leaders | submitlogin
1 point by rocketnia 5157 days ago | link | parent

The goal of the Rainbow compatibility is to support a library of code that uses Java API's that will run on both Rainbow and Jarc.

Like the one Lathe has. ^_- http://arclanguage.org/item?id=11887

I'll be sure to look at Jarc 21 eventually, but I'm sort of falling behind thanks to, well, getting a job. XD I'm behind on trying out Rainbow and Semi-Arc too, so this is one more for the to-do list. ^_^;

I definitely appreciate the dynamic proxy support though. I'll see how easy it is to incorporate that into Lathe's jvm.arc... sooner or later.



1 point by jazzdev 5157 days ago | link

161 days ago you announced your jvm.arc? Interesting. Seems useful.

So Groovy allows dynamic classes, not just interfaces? I'd like to do that in Jarc also. But I don't see how to do it without generating byte code. Jarc now includes Jasmin (a JVM assembler) so generating byte code is pretty straight-forward.

Congrats on the job.

-----

1 point by rocketnia 5157 days ago | link

So Groovy allows dynamic classes, not just interfaces? I'd like to do that in Jarc also. But I don't see how to do it without generating byte code.

Right, making new classes that extend classes (besides java.lang.Object) at runtime seems to require generating byte code. From http://download.oracle.com/javase/6/docs/technotes/guides/sc...:

Sun's implementation of JDK 6 is co-bundled with the Mozilla Rhino based JavaScript script engine. (...)

Rhino's JavaAdapter has been removed. JavaAdapter is the feature by which a Java class can be extended by JavaScript and Java interfaces may be implemented by JavaScript. This feature also requires a class generation library. We have replaced Rhino's JavaAdapter with Sun's implementation of the JavaAdapter. In Sun implementation, only a single Java interface may be implemented by a JavaScript object.

In other words, the Rhino distributed with JDK 6 provides no JavaAdapter functionality the Proxy class can't already achieve....

Congrats on the job.

Thanks much! XD

-----