Lua is famously and deceptively simple and enables many different programming paradigms. Like Javascript, it's possible to make it shine by adding more specialized syntax. I started this list to document the languages I found looking for an ML/F# like language.
Note: Unmaintained languages have been marked with (*) and Archived languages have been marked with (^)
Pull requests welcome!
An intriguing new avenue of development started by Rochus Keller for an Oberon to LuaJIT bytecode compiler provides an elegant way of leveraging the ecosystem:
- https://github.com/rochus-keller/Oberon/ Oberon compiler
- (*) https://github.com/franko/luajit-lang-toolkit A Lua to LuaJIT bytecode compiler/toolkit to enable different language frontends and different compilation backends.
- https://github.com/rochus-keller/LjTools LuaJIT tools, a Qt5 GUI parser, browser, assembler and test VM for LuaJIT 2.0 bytecode
- https://github.com/mingodad/ljs ljs JS-like syntax with modified VMs for PUC Lua, LuaJIT and RaptorJIT
- https://github.com/PlutoLang/Pluto A superset of Lua 5.4 — with unique features, optimizations, and improvements.
For lack of a better designator, these projects are well known, or compiles existing languages
- http://yuescript.org/ Yuescript, an extended and actively developed form of Moonscript.
- http://moonscript.org/ Moonscript, indentation based syntax, based on the ideas of Coffeescript.
- http://haxe.org Haxe, strongly typed language with both functional and object-oriented features, that has multiple backends
- https://github.com/yanghuan/CSharp.lua C# transpiler
- (*) https://github.com/gijit/gi translates Go into Lua. It targets LuaJIT for 64-bit integer support.
- (*) https://github.com/theFox6/LuaVenusCompiler Transpiler for Venus, a Go-like language
- https://github.com/erde-lang/erde Transpiler with Go-like syntax favoring symbols over words
- (^) https://github.com/devcat-studio/kailua KaiLua
- https://github.com/pallene-lang/pallene Pallene, friendly fork of Titan
- (*) https://github.com/titan-lang/titan-v0 Titan
- (*) https://github.com/ggVGc/Tua Tua
- https://github.com/teal-language/tl Teal
- https://github.com/CapsAdmin/NattLua NattLua
- https://github.com/yazaldefilimone/stella/https://github.com/yazaldefilimone/stella-compiler Stella
- https://github.com/dibyendumajumdar/ravi and http://ravilang.github.io/ Ravi
- http://terralang.org/ Terra
- https://github.com/edubart/nelua-lang Nelua, Natively Extensible Lua
- https://github.com/rochus-keller/Oberon/ Oberon
- (*) https://github.com/wu-lang/wu Slightly Rusty with classes and traits
- (*) https://github.com/PaulBernier/castl Javascript transpiler
- (*) https://github.com/seanjensengrey/colony-js Javascript transpiler
- (*) https://github.com/saharNooby/lua-js-syntax Javascript inspired syntax
- https://github.com/roblox-ts/roblox-ts
- (*) https://github.com/ASDAlexander77/TypeScriptLua
- https://github.com/TypeScriptToLua/TypeScriptToLua
- (^) https://amulet.works An ML-like functional programming language that transpiles to lua
- https://github.com/kindl/Hypatia Hypatia, an ML-like language that transpiles to Lua
- (*) https://github.com/ptol/oczor Haskell-like language that compiles to Lua, Javascript, Emacs lisp and Ruby
- (*) https://github.com/iitalics/Lua-ML Basic ML language
- (*) https://github.com/hengestone/pumpkin ML-like language with an experimental Lua back-end
- https://github.com/minoki/LunarML A Standard ML compiler that produces Lua
- (*) https://github.com/Russoul/Idris2-Lua A Lua backend for Idris 2
- https://github.com/Unisay/purescript-lua A Lua backed for PureScript
- https://github.com/coetaur0/nox A functional, statically typed programming language that compiles to Lua
There are so many Lisp variants, they deserve their own category.
- (*) https://squiddev.github.io/urn/ Urn, Lisp dialect, extensive libraries
- https://github.com/bakpakin/Fennel Lisp compiler and library
- (*) https://github.com/meric/l2l l2l (lisp) superset of Lua
- (*) https://github.com/larme/hua Hua, Lisp dialect
- (*) http://leafo.net/moonlisp/ Lisp implemented in Moonscript
- (*) https://github.com/sctb/lumen Small Lisp
- (*) https://github.com/bullno1/mLisp
- (*) https://github.com/WeirdConstructor/lal Scheme
- (*) https://github.com/adamrk/scheme2luac Scheme
- https://github.com/LuxLang/lux Statically typed, functional lisp with an ML-like module system
- (*) https://github.com/MrVallentin/PyLua
- (*) https://github.com/NeonMercury/python-lua
- https://github.com/MhadhbiXissam/pythonicLua
- https://github.com/AsynchronousAI/roblox-py Also compiles to C, C++, and Lunar, a modified version a MoonScript made for roblox.
- https://github.com/ClueLang/Clue Clue, a language similar to Rust that compiles to any version of Lua
- (*) https://github.com/presidentbeef/brat Brat, using MoonJIT
- (*) https://github.com/richardhundt/shine Shine, using TvmJit
- (*) https://github.com/apotheon/vortex Vortex
- (*) https://github.com/tommo/yu Yu
- (*) https://github.com/Reuh/candran Candran
- https://hurdy.apicici.com/ Hurdy
- (*) https://github.com/marcoonroad/moonforth Forth to Lua transpiler
- https://github.com/tjdevries/vim9jit vim9script to Lua transpiler