Skip to content

Lude 1.0 — Lua 5.1.4 in pure Pascal

Latest

Choose a tag to compare

@felipedaragon felipedaragon released this 27 Sep 19:24
· 1 commit to main since this release

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, cdecl calling convention and struct layouts, plus the lua51.dll proxy. 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 lua and luac command-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 documentation
  • lua51pas-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.