[e-lang] quick look at Caja vs. GWT's output
Lex Spoon
lex at lexspoon.org
Tue Jan 22 15:12:45 EST 2008
I looked over the Caja doc a few days ago, mainly at the informal
overview at the beginning, trying to figure out if the Google Web
Toolkit (GWT) can be modified to emit Caja. I'm posting here,
because it's a cross-language issue.
Background, for those needing it:
- GWT is a Java->JavaScript translator developed at Google. You
write Java code, and it translates it to JavaScript
- Caja is an objcaps subset of JavaScript that is also developed at
Google.
- Joe-E is an objcaps subset of Java.
Currently these projects have no relation. It would be neat if (1)
GWT could emit Caja, and (2) GWT could, when given Joe-E input, could
emit Caja that parallels the structure and security properties of the
Joe-E input. (more on that in a few minutes).
From my quick read of the Caja doc, I see no fundamental problems
with having GWT target Caja instead of arbitrary JavaScript. In
general, GWT is using JavaScript to simulate Java, so rules like
"this stealing" and inheritance rules should not be a problem.
There do appear to be some non-fundamental yet time-consuming issues
to fix up. In particular, the naming issues are quite likely to run
into stumbling blocks here and there, simply because GWT is not
careful about naming right now. Also, all fields will probably need
to get automatic getters and setters, because GWT input is arbitrary
Java code.
More speculatively, GWT could also have a switch for Joe-E source
files. In such a mode, probably the automatic getters and setters
would not be necessary. That's a later project, though. The first
thing, it would seem, is to check whether GWT can be coaxed into
emitting Caja at all.
To firm up this view, I would next like to run GWT's output through
the Cajoler and see what it says. I could not find a pre-built
Cajoler last Friday, so I stopped for now. When I find another time
slice to look at GWT -> Caja, I'll follow the instructions on the
CajaCajole wiki page:
http://code.google.com/p/google-caja/wiki/CajaCajole
Cheers,
Lex Spoon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/e-lang/attachments/20080122/6ac67a30/attachment.html
More information about the e-lang
mailing list