Repository navigation
First release of Lude, a file-by-file port of Lua 5.1.4 (core, all standard libraries, lua, luac) to pure Object Pascal.
Highlights
- Drop-in for the C
lua5.1.dll: the same 123 exports,cdeclcalling convention and struct layouts, plus thelua51.dllproxy. Existing C modules and C host programs work unchanged. - Three ways to use it from Pascal: through the DLL (
LuaDLL), linked into your program (LuaStatic), or hybrid: linked in, while still loading C modules. - Platforms:
- Windows Win32/Win64 with Delphi 10.2 or Free Pascal 3.2+
- Linux x86-64 and ARM64 with Free Pascal
- macOS Intel and Apple Silicon with Free Pascal
- Checked against C Lua 5.1.4: passes the official Lua 5.1 test suite, and a C module exercising the API gives identical output. The
luaandluaccommand-line tests match the C versions too; the few expected differences are listed in the README.
Downloads
lua51pas-5.1.4-src.zip: sources, build scripts, tests and documentationlua51pas-5.1.4-fpc-bin.zip: Free Pascal binaries for Windows (win32, win64), Linux (linux64, linuxarm64) and macOS (macx64, macarm64). Extract it next to the sources.
Notes
- Linux binaries need glibc 2.38 or newer (Ubuntu 24.04 or later); on older systems, build from source.
- macOS binaries were cross-compiled on Linux. The demos were run on Apple Silicon, and the Intel build under Rosetta 2. The full test suite hasn't been run on a Mac yet.
- Performance is about 1.4–1.7× the time of the C DLL overall (see
PERFORMANCE.md).
MIT license.