ES-Harmony as a compilation target?

Peter Michaux petermichaux at gmail.com
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
interesting.

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
server-side.
  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?

Peter

----------------

Language X to ES3 Compilers

macro expansion
  http://n01senet.blogspot.com/2006/10/jam-lisp-like-macros-for-javascript.html

ECMAScript4 to JavaScript 1.5
  http://ecmascript4.com/

NarativeJavaScript to JavaScript
  http://neilmix.com/narrativejs/doc/

Scheme to JavaScript
  http://www-sop.inria.fr/mimosa/personnel/Florian.Loitsch/scheme2js/

Scheme to JavaScript
  http://www.bluishcoder.co.nz/jsscheme/

Common Lisp to JavaScript
  http://common-lisp.net/project/parenscript/

Smalltalk to JavaScript
  http://www.squeaksource.com/ST2JS/

Haskell to JavaScript
  http://haskell.org/haskellwiki/Yhc/Javascript/Brief_overview

OCaml to JavaScript
  http://skydeck.com/blog/programming/ocamljs-ocaml-to-javascript-compiler/

Python to JavaScript
  http://jtauber.com/blog/2006/05/23/primitive_python_version_of_gwt_working

Ruby to JavaScript
  http://po-ru.com/diary/convert-ruby-to-javascript/

C# to JavaScript
  http://projects.nikhilk.net/Projects/ScriptSharp.aspx

Java to JavaScript
  http://code.google.com/webtoolkit/

Java to JavaScript
  http://j2s.sourceforge.net/

Oberon Script to JavaScript
  http://research.microsoft.com/research/pubs/view.aspx?type=technical+report&id=1094

haXe to JavaScript
  http://haxe.org/

Links to JavaScript
  http://groups.inf.ed.ac.uk/links/

Milescript to JavaScript
  http://milescript.org/

Flapjax to JavaScript
  http://www.flapjax-lang.org/


More information about the Es-discuss mailing list