The major goal of MPS is to allow extending languages to generate domain specific languages. MPS originally includes a ready-to-use universal language called BaseLanguage, which can itself be used to create programs. However, the right way to use MPS is to extend BaseLanguage and create new languages. MPS comes with several helpful extensions to BaseLanguage for working with strings, collections, dates, regular expressions, etc. In creating a language, you define the rules for code editing and rendering. You can also specify the language type-system and constraints. This allows MPS to verify program code on the fly, and thus makes programming with the new language easy and less error-prone. You can also define generators for their language to transform code in the custom language to compilable code in some conventional language. Currently, MPS is particularly good for, but is not limited to, generating Java code. You can also generate XML, HTML, JavaScript, and more.
MoonScript
MoonScript is a dynamic scripting language that compiles into Lua. MoonScript provides a clean syntax using significant whitespace that avoids all the keyword noise typically seen in a Lua script. It also adds table comprehensions, implicit return on functions, classes, inheritance, scope management statements import & export, and a convenient object creation statement called with.
ClojureScript
This is a Clojure to JavaScript compiler which is written in Closure which is executed on a JVM.
CoffeeScript
CoffeeScript is a little language that compiles into JavaScript. It is basically just JavaScript, but without those braces and semicolons.
Io
A port of the prototype-based programming Io programming language to Javascript.
Simple Declarative Language
The Simple Declarative Language provides an easy way to describe lists, maps, and trees of typed data in a compact, easy to read representation. The simple and intuitive API allows you to read, write, and access all the datastructures using a single class. For property files, configuration files, logs, and simple serialization requirements, SDL provides a compelling alternative to XML and Properties files. Implementations are available for Java and .NET.
E
E is a programming language designed to make it easy to write distributed programs that are correct and secure. As a pure-Java library, ELib provides for inter-process capability-secure distributed programming. Its cryptographic capability protocol enables mutually suspicious Java processes to cooperate safely, and its event-loop concurrency and promise pipelining enable high performance deadlock free distributed pure-object computing. Objects written in the E language are only able to interact with other objects according to ELib’s semantics, enabling object granularity intra-process security, including the ability to safely run untrusted mobile code
Frink
Frink is a practical calculating tool and programming language designed to make physical calculations simple. It tracks units of measure (feet, meters, kilograms, watts, etc.) through all calculations, allowing you to mix units of measure transparently.
Objective-J
Objective-J is a new programming language based on Objective-C. It is a superset of JavaScript, which means that any valid JavaScript code is also valid Objective-J code. Objective-J objects are a special type of native object added by Objective-J. These new objects are based on classes and classical inheritance, like C++ or Java, instead of the prototypical model. Objective-J is part of Cappuccino, an open source application framework for developing applications that look and feel like the desktop software users are familiar with.
redline Smalltalk
Redline Smalltalk is an implementation of the Smalltalk programming language for the Java Virtual Machine. You will be able to call Smalltalk from Java and Java from Smalltalk. The bytecode generation layer will be decoupled so another generator for another target could be “plugged” in if the JVM isn’t for you.