Skip to content

List of languages that compile to JS

edtechdev edited this page Feb 9, 2011 · 208 revisions

CoffeeScript Family (& Friends)

Family (share genes with CoffeeScript)
  • Coco a CoffeeScript dialect that aims to be more radical and practical, also acts as a test bed for features that get imported in CoffeeScript.
  • Parsec CoffeeScript is CS based on parser combinators. The project's aim is to add static metaprogramming (i.e. macros + syntax extensibility) to Coffee Script (CS), similar to how Metalua adds such features to Lua. The resulting compiler, once merged with the official compiler, should be usable as a drop-in replacement for it.
Friends (philosophically related)
  • Kaffeine Enhanced Syntax for Javascript.
  • Jack Making programming playful.

JavaScript

Security enforcing JavaScript
  • Caja Compiles ES5/strict to ES3 and supports object-capabilities
  • ADsafe Client-side static verifier and API, making third party scripts safe.
  • FBJS Facebook JavaScript, used for scripting FBML (Facebook Markup Language) gadgets.
  • Jacaranda Static verifier supporting object-capabilities.
  • Microsoft Web Sandbox a technology preview of securing web content through isolation.
  • Gatekeeper a Microsoft Research project.
  • Dojo Secure a framework for building secure mashups.

Ruby

  • HotRuby runs opcode, compiled by YARV on Ruby inside a web browser or in Flash.
  • rb2js converts Ruby to JavaScript.
  • Red writes like Ruby and runs like JavaScript
  • Quby used for game coding site, not open source.

Python

  • PYXC-PJ [CS friend] Python to JS. Can generate a (line/col)-number mappings file.
  • Pyjamas Python to JS.
  • Skulpt Python. Client side.
  • PyCow Python to MooTools JS.
  • PyvaScript Python-like syntax to JavaScript.

Lisp, Scheme

OCaml

Haskell

  • UHC (Utrecht Haskell Compiler) backend converts UHC core to JavaScript, allowing the compiling of Haskell code to JS.
  • YHC (York Haskell Compiler) backend, as above but with YHC core language.

Multitarget

  • Haxe compiles to several platforms (C++, Flash, JS, Neko, PHP).
  • Clue C language compiler to different runtimes (Lua, JS, Perl 5, C, Java, CL).
  • Fantom Evolutionary Object Oriented language emphasizing succinct and effective APIs (JVM, CLR, JS).

Tierless languages (produce both client & server)

  • One Pot Application [free for non commercial] industrial programming language for high-security distributed web applications.
  • Fun A programming language for realtime webapps - compiles to client-side and server-side JS
  • Ur in the tradition of ML and Haskell.
  • WebSharper lets you compile F# to JS
  • mobl the new language for programming the mobile web.
  • GWT Java to JS.
  • E Compiles E to JS. E is a secure distributed persistent pure object language.

Others

  • Oia a port of Io to Javascript
  • NS Basic/App Studio [commercial] Visual Basic-style BASIC to Javascript compiler. Includes IDE. Targets iOS and Android.
  • Emscripten LLVM to Javascript compiler
  • Objective J shares with JavaScript the same relationship that Objective-C has with the C programming language: that of being a strict, but small, superset.
  • Clamato a Smalltalk dialect that is designed to operate within the JavaScript runtime.
  • Flapjax Event-driven, reactive evaluation.
  • StratifiedJS JavaScript + structured concurrency.
  • NarrativeJS Javascript extension with asynchronous futures and promises.
  • JS2 Object Oriented Javascript with syntactic sugar (curry, foreach, property). Released as a rubygem.
  • jsc [experimental] recompile your .net assembly to javascript, actionscript, php or java
  • jwacs Javascript With Advanced Continuation Support
  • j2js Java Bytecode to JavaScript
Static typed
  • Some of the ones listed above are statically typed, such as mobl, GWT, NS Basic, Haxe
  • Script# [commercial] compiles C# to JS.
  • MileScript [commercial] a strongly-typed language similar to C# and Java, but which compiles to JS. free for non-profit, educational use.
  • Mascara [commercial] enhances JavaScript with powerful features like classes, namespaces and type-checking

Clone this wiki locally