[ANN] Ravi (a Lua 5.3 dialect) with LLVM JIT Compilation technology - Alpha Release 0.13

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[ANN] Ravi (a Lua 5.3 dialect) with LLVM JIT Compilation technology - Alpha Release 0.13

Dibyendu Majumdar
Ravi (http://ravilang.org) is a dialect of Lua 5.3 with LLVM based JIT
compiler and limited optional static typing.

I am pleased to announce that the alpha 0.13 release of Ravi is now
available. (Note that this is a source only release; binaries will be
uploaded in the next day or two).

The principal change in this release is the addition of type assertion
operators to the language. A type assertion operator behaves like a
unary operator. It is introduced by the '@' symbol, after which a
supported type must be given followed by the expression whose type is
being asserted. The result of the expression then becomes of the
asserted type. Example:

  local t = { 1,2,3 }
  local i: integer = @integer( t[1] )

Without the type assertion operator '@integer' above the compiler
would not allow the assignment of 't[1]' to the variable 'i'.

The type assertion operators do nothing if an expression is already
known to be of the required type. If the variable is not known to be
of the required type then special bytecodes are generated that perform
run-time checks on the expression's type; an error is thrown if the
type check fails.

Additional information is available at:

https://github.com/dibyendumajumdar/ravi#type-assertions

For full details please see:

https://github.com/dibyendumajumdar/ravi/releases

Regards