ES-Harmony as a compilation target?

Peter Michaux petermichaux at
Mon Sep 29 12:54:56 PDT 2008

There are many projects out there to compile language X to ES3 [see
appended list]. The growing popularity of these projects is at least

I think some of the main motivations are programmers

  1) are more comfortable/happier using some other language.
  2) see browser ECMAScript as not advancing at an acceptable rate (for them).
  3) see tools for other languages as better than what is available
for JavaScript.
  4) want to use the same language both client-side and server-side and
        pigs would need to fly before they would use ECMAScript on the
  5) cannot live without some language feature (e.g. classes, macros etc).

One great feature about ECMAScript as a compilation target is that
macros can be available in the source language and that defers the
need to add macros to ECMAScript.

Another feature of compiling to ECMAScript is that source code
languages can be developed at a rate faster than ECMAScript can be
standardized and new browsers with new features become widely adopted.

Some languages are harder to compile to ECMAScript than others because
ECMAScript does not have particular features. I don't mean sugary
syntax but actual language features (e.g. tail call elimination,
continuations, concurrency.)

Is there any direct interest in making ES-Harmony an easier
compilation target? Could making ES-Harmony a easier compilation
target be (partial) justification for feature addition to ES-Harmony?



Language X to ES3 Compilers

macro expansion

ECMAScript4 to JavaScript 1.5

NarativeJavaScript to JavaScript

Scheme to JavaScript

Scheme to JavaScript

Common Lisp to JavaScript

Smalltalk to JavaScript

Haskell to JavaScript

OCaml to JavaScript

Python to JavaScript

Ruby to JavaScript

C# to JavaScript

Java to JavaScript

Java to JavaScript

Oberon Script to JavaScript

haXe to JavaScript

Links to JavaScript

Milescript to JavaScript

Flapjax to JavaScript

More information about the Es-discuss mailing list