xemmai is a dynamic programming language. Its syntax is based on the off-side rule. Closing parentheses, brackets, and braces can be omitted where they are not necessary in conjunction with indentation.
Here is how it looks like:
system = Module("system" print = system.out.write_line hanoi = @(towers, move) f = @(height, from, via, to) if height > 1: f(height - 1, from, to, via move(from, to if height > 1: f(height - 1, via, from, to f(towers[0].size(), towers[0], towers[1], towers[2] towers = '([3, 2, 1], [], [] print(towers hanoi(towers, @(from, to) to.unshift(from.shift( print(towers
It has lambda closures, classes, exceptions, modules, threads, and fibers.
It is implemented in C++ and has C++ friendly API to implement extension modules. It aims to be a general purpose glue language.
It runs on linux, windows, and hopefully other unix systems.
Internally, codes are executed on a bytecode interpreter. It also has a concurrent garbage collector to utilize multiple processors.
creole.js is a Creole 1.0 parser for javascript. It can run on both client side and server side.
View project on GitHub » See Live Demo » See Live Demo with Macro »
Powered by three.js. Tested only on Chromium.