Language highlights:
The language supports strings, real numbers, complex numbers, arrays, lists, binary numbers (hex strings) and system objects such as system binary. Instead of providing a code yourself, you can declare a subroutine as "external" and give its ROM address. In fact, the core language is minimal and heavily relies on this feature (something like C); the compiler automatically loads the library of many ROM routines before compiling your source.
Just to give you the flavor of the language, here are two examples (one using stack manipulations, the other using local variables). Both programs do the same thing: take a user binary number (hex string) on level 2 and real number on level 1 and shift it that many places to the left. The syntax is a mixture of C and Pascal with comments borrowed from Ada.
-- using stack manipulations function slns(a : binary; n : real) : binary; begin () = a; start 1, natural n do () = shl binary (); next; end; -- using local variables function slnv(a : binary; n : real) : binary; var result : binary; begin result = a; start 1, natural n do result = shl result; next; () = result; end;Click here for download page.