From 5467575e0f35c977fd2fe30b50f5cc690b2329b3 Mon Sep 17 00:00:00 2001 From: Theodore Sackos Date: Sun, 23 Feb 2025 08:36:04 -0800 Subject: [PATCH 1/2] Improve section regarding Lua C API language bindings --- readme.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 5b00b47..93b10ce 100644 --- a/readme.md +++ b/readme.md @@ -54,7 +54,7 @@ Inspired by the lists [awesome](https://github.com/sindresorhus/awesome), [aweso - [Other Lists](#other-lists) -### Implementations, Interpreters, and Bindings +### Implementations and Interpreters - [Lua](http://www.lua.org/download.html) - Lua's original ANSI C interpreter. - [Lua Repo](https://github.com/lua/lua) - The official Lua repo, as seen by the Lua team, mirrored to GitHub. - [LuaJIT](http://luajit.org/luajit.html) - High-performance Just-In-Time compiler for Lua. @@ -64,14 +64,27 @@ Inspired by the lists [awesome](https://github.com/sindresorhus/awesome), [aweso - [Fengari](https://fengari.io/) - The Lua VM rewritten in Javascript with seamless JS and DOM interoperability. - [MoonSharp](https://github.com/xanathar/moonsharp) - A Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms. - [UniLua](https://github.com/xebecnan/UniLua) - A pure C# implementation of Lua 5.2, focused on compatibility with the Unity game engine. -- [lupa](https://github.com/scoder/lupa) - Python bindings to LuaJIT2. -- [golua](https://github.com/aarzilli/golua) - Golang bindings to the Lua C API. - [GopherLua](https://github.com/yuin/gopher-lua) - Lua 5.1 VM and compiler implemented in Go with Go APIs. - [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight library for mapping data, functions, and classes back and forth between C++ and Lua. Note: From LuaJIT to Lua to lua.vm.js to Moonshine, a basic benchmark sees performance drop by roughly a factor of 6 with each hop. +### Language Bindings +- [Python](https://www.python.org/) + - [lupa](https://github.com/scoder/lupa) - Python bindings to the LuaJIT C API. +- [C# / .NET](https://dotnet.microsoft.com/en-us/) + - [Lua.NET](https://github.com/tilkinsc/Lua.NET) - .NET bindings to the Lua C API. +- [Go](https://go.dev/) + - [golua](https://github.com/aarzilli/golua) - Golang bindings to the Lua C API. +- [Java](https://www.java.com/en/) + - [luajava](https://github.com/gudzpoz/luajava) - Java bindings to the Lua C API. +- [Rust]() + - [mlua](https://github.com/mlua-rs/mlua) - Rust bindings to the Lua C API. +- [Zig](https://ziglang.org/) + - [zig-luajit](https://github.com/sackosoft/zig-luajit) - Zig bindings to the LuaJIT C API. + + ### Package Managers - [LuaRocks](https://luarocks.org/) - De-facto tool for installing Lua modules as packages called "rocks", plus public rock repository and website. Much like npm or pip. From a21fb47174944ab5b40fafcc4f4420877e6c6ad5 Mon Sep 17 00:00:00 2001 From: Theodore Sackos Date: Sun, 23 Feb 2025 08:37:57 -0800 Subject: [PATCH 2/2] link to www.rust-lang.org/ --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 93b10ce..e0feb02 100644 --- a/readme.md +++ b/readme.md @@ -79,7 +79,7 @@ Note: From LuaJIT to Lua to lua.vm.js to Moonshine, a basic benchmark sees perfo - [golua](https://github.com/aarzilli/golua) - Golang bindings to the Lua C API. - [Java](https://www.java.com/en/) - [luajava](https://github.com/gudzpoz/luajava) - Java bindings to the Lua C API. -- [Rust]() +- [Rust](https://www.rust-lang.org/) - [mlua](https://github.com/mlua-rs/mlua) - Rust bindings to the Lua C API. - [Zig](https://ziglang.org/) - [zig-luajit](https://github.com/sackosoft/zig-luajit) - Zig bindings to the LuaJIT C API.