Luau
Go
Lei is a Go library that provides idiomatic bindings to Luau.
By exposing Luau’s virtual machine and stack operations through Go, Lei enables developers to leverage the flexibility of scripting within high-performance Go programs.
package main
import lualib "github.com/CompeyDev/lei/ffi"
func main() {
lua := lualib.LNewState()
println("Lua VM Address: ", lua)
lualib.PushCFunction(lua, func(L *lualib.LuaState) int32 {
println("hi from closure?")
return 0
})
lualib.PushString(lua, "123")
lualib.PushNumber(lua, lualib.ToNumber(lua, 2))
if !lualib.IsCFunction(lua, 1) {
panic("CFunction was not correctly pushed onto stack")
}
if !lualib.IsNumber(lua, 3) {
panic("Number was not correctly pushed onto stack")
}
}