What is Lua++?

Lua++ is a fast, object-oriented programming language derived from Lua 5.1. Its goal is to bring all of today's modern features to Lua while having energy efficiency in mind.

Lua++ is a fully-featured new programming language for a wide range of applications that is fast, lightweight, and energy-efficient. The author created Lua++ with the goal of helping reduce carbon emissions through low power consumption, decreasing barriers to adoption on low-cost hardware platforms, and providing a tool for learning advanced computer science concepts.

class Triangle {
  base: integer,
  height: integer,
  
  constructor(base: integer, height: integer)
    self.base, self.height = base, height
  end,
  
  const function area(): integer ->
    return self.base * self.height / 2
}

print(Triangle(3, 4).area())

Borrowing from several modern languages, Lua++ adds proper object-oriented programming with a class hierarchy and encapsulation, templates, type annotations, events, macros, and much more. Overcoming the limitations of its popular predecessor, Lua++ is suitable for use by teams of developers in large cross-platform projects. The author designed the syntax, built a state-of-the-art optimizing compiler, composed an instruction set, and implemented a fast, compact virtual machine to run Lua++ bytecode in end-user applications. Based on performance tests consisting of several commonly used benchmarks, Lua++ is four to 25 times faster than classic Lua. This documentation gives an overview of the language, discusses rationales for feature choices made, and showcases Lua++’s advantages.

Last updated