Thorn is a dynamically-typed concurrent language in which lightweight isolated processes communicate by message passing. Thorn includes powerful aggregate data types, a class-based object system, first-class functions, an expressive module system, and a variety of features supporting the gradual evolution of prototype scripts into robust programs. For an introduction please see our OOPSLA paper. Thorn is a joint effort between Purdue University and IBM Research T.J. Watson Research Center.
Currently there are two different implementations of Thorn. We have a compiler that targets the JVM and an interpreter written in Java. The interpreter implements the full language, while the compiler currently implements a subset. The two implementations allow us to prototype constructs in the interpreter before committing to implementing them in the compiler. Like many other scripting languages Thorn has an interactive read-eval-print-loop (for both the compiler and the interpreter.) Check out our online demo of the Thorn interpreter!
Online Demo
Binary Release