Home

Luar

Luar is a lightweight, embeddable scripting language designed to run on the Lua virtual machine. It aims to add optional static typing and a more structured module system while preserving Lua's simple syntax and high interop with existing Lua code. Luar compiles to Lua source and can be loaded by the standard Lua runtime, enabling seamless integration with existing Lua applications.

Origins and development: Luar was created by the Luar Project, with early releases in the mid-2010s. The

Key features: optional static typing with type inference, which allows declaring function signatures and data structures

Implementation and ecosystem: the reference compiler translates Luar source to Lua, which can be run on standard

Reception and status: Luar is a niche language within the Lua ecosystem, used in projects that seek

goal
was
to
provide
stronger
compile-time
checks
and
clearer
interfaces
for
larger
Lua
codebases
without
abandoning
Lua's
dynamism.
The
language
emphasizes
predictable
performance
and
easy
embedding
in
host
programs
written
in
C
or
C++.
while
leaving
simple
expressions
untyped.
A
module
system
helps
manage
dependencies
and
namespaces,
and
an
FFI
layer
enables
calling
into
C
libraries
from
Luar
and
Lua
alike.
Luar
preserves
Lua's
coroutines
and
runtime
semantics,
so
existing
Lua
code
remains
usable.
Lua
interpreters
or
JIT-enabled
runtimes.
Tooling
includes
a
package
manager
and
a
standard
library
with
file
I/O,
string
handling,
and
coroutine
utilities.
The
community
maintains
a
repository
of
example
projects
and
bindings.
stronger
typing
and
clearer
interfaces
without
leaving
Lua.
It
has
a
modest
community
and
periodic
updates,
with
discussions
around
performance,
compatibility
with
Lua
versions,
and
best
practices
for
structuring
mixed
Lua–Luar
code.