On 10/9/07, Douglas Crockford <douglas@...
> I have relaxed the rules on words. $ and leading _ are permitted. A
> trailing __ is forbidden.
subset. And I can tell you folks as well. It's called "Caja". We will
be open sourcing it soon.
"Caja" is Spanish for "box", e.g., as in a strongbox for keeping money
in -- much stronger than a sandbox ;).
language. The Caja translator rejects non-Caja input statically when
restrictions cannot be imposed statically, so the Caja translator
runtime checks. To facilitate development, it is easy to write a Caja
program so it can run correctly whether it is run as a Caja program or
Crock and I went over some of Caja's draft design today. With this
adjustment to ADsafe's rules, it currently looks plausible that Caja
may indeed be a superset of ADsafe. In other words:
JSON < ADsafe < Caja < Ecmascript 3.
The methodology we're using -- defining enforced subsets of existing
large languages -- has also been used successfully to Java (Joe-E),
OCaml (Emily), Pict (Backwater) and others: