Ravi is an experimental derivative/dialect of `Lua <http://www.lua.org>`_. Ravi is a Sanskrit word that means the Sun. Lua is perfect as a small embeddable dynamic language. So why a derivative? The reason is primarily to extend Lua with optional static typing for greater performance. However, at the same time maintain full compatibility with standard Lua. There are other attempts to add static typing to Lua (e.g. Typed Lua) but these efforts are mostly about adding static type checks in the language while leaving the VM unmodified. So the static typing is to aid programming in the large - the code is eventually translated to standard Lua and executed in the unmodified Lua VM. My motivation is somewhat different - I want to enhance the VM to support more efficient operations when types are known.
4 months ago passed
.. image:: https://readthedocs.org/projects/the-ravi-programming-language/badge/?version=latest :target: https://the-ravi-programming-language.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
<a href='https://the-ravi-programming-language.readthedocs.io/en/latest/?badge=latest'> <img src='https://readthedocs.org/projects/the-ravi-programming-language/badge/?version=latest' alt='Documentation Status' /> </a>
eclipse-omr, jit, llvm, lua, omr, programming-language