E-on-JavaScript

From Erights

(Difference between revisions)
Jump to: navigation, search
(new source location)
 
(One intermediate revision not shown)
Line 1: Line 1:
-
[http://www.eros-os.org/pipermail/e-lang/2009-January/012946.html E-on-JavaScript announcement]
+
E-on-JavaScript is an E implementation which compiles E to JavaScript code, suitable for running in web browsers.
 +
 
 +
The source is currently hosted [https://github.com/kpreid/e-on-javascript/ at GitHub].
 +
 
 +
It was designed to interoperate with [[Caja]], however it is not compatible with modern Caja so the rest of this paragraph is out of date. If cajita.js is also loaded, 
 +
E code can call Cajita-tamed objects; also, the output of the compiler 
 +
should be within the Cajita subset (I have not tested this). However, Cajita code can create objects which violate E [[sameness]] invariants.
 +
 
 +
It is as yet quite incomplete; especially, the compiler does not 
 +
implement all of Kernel-E, and generates inefficient and verbose code.
 +
 
 +
==Demo==
 +
 
 +
[http://www.slimy.com/~kpreid/eojs/demo/ Out-of-date demo] {{XXX|broken link}}
 +
 
 +
It supports converting an Updoc document, or a HTML document with embedded Updoc, into a HTML document such 
 +
that the tests are executed. [http://www.slimy.com/~kpreid/eojs/serve/vm.html A (stale) example].
 +
 
 +
Not-yet-executed tests have dashed bars to the left, successful tests 
 +
have light gray bars, and unsuccessful tests have red bars and show 
 +
the expected and actual values (which are not differentiated except by 
 +
color; this is to be fixed).
 +
 
 +
As this particular Updoc example was borrowed from [[E-on-CL]], many of the tests fail 
 +
because they are specific to E-on-CL in some way. Many other tests 
 +
fail because in the demonstrated version there was no printing subsystem yet, so everything uses 
 +
JS .toString() and thus the wrong syntax.
 +
 
 +
==History==
 +
 
 +
*[http://www.eros-os.org/pipermail/e-lang/2009-January/012946.html E-on-JavaScript announcement]
 +
*[http://www.eros-os.org/pipermail/e-lang/2009-March/013070.html Announcement of Updoc conversion improvements]
 +
 
 +
 
 +
[[Category:E implementations]]

Latest revision as of 18:24, 16 February 2012

E-on-JavaScript is an E implementation which compiles E to JavaScript code, suitable for running in web browsers.

The source is currently hosted at GitHub.

It was designed to interoperate with Caja, however it is not compatible with modern Caja so the rest of this paragraph is out of date. If cajita.js is also loaded, E code can call Cajita-tamed objects; also, the output of the compiler should be within the Cajita subset (I have not tested this). However, Cajita code can create objects which violate E sameness invariants.

It is as yet quite incomplete; especially, the compiler does not implement all of Kernel-E, and generates inefficient and verbose code.

Demo

Out-of-date demo XXX broken link

It supports converting an Updoc document, or a HTML document with embedded Updoc, into a HTML document such that the tests are executed. A (stale) example.

Not-yet-executed tests have dashed bars to the left, successful tests have light gray bars, and unsuccessful tests have red bars and show the expected and actual values (which are not differentiated except by color; this is to be fixed).

As this particular Updoc example was borrowed from E-on-CL, many of the tests fail because they are specific to E-on-CL in some way. Many other tests fail because in the demonstrated version there was no printing subsystem yet, so everything uses JS .toString() and thus the wrong syntax.

History

Personal tools
more tools