I'd like to announce Luar v2, the Lua reflection bindings for Go (based on Arzilli's Golua).
Luar is a convenience bridge between Lua and Go, with awesomeness like: - Modify Go data (maps, structures, you name it) from Lua using regular Lua syntax (e.g. `m[3] = 17` and `m.field = 'foobar'`). - Conversely, modify Lua data (tables, userdata with metatables) from Go. - Call Go functions from Lua over a mix of Go and Lua arguments. - Likewise, call Lua functions from Go. - Use Go channels from Lua. - Use Lua regular `for` construct to loop over Go maps, slices, strings, etc. - Loop over Lua data from a Go `for`. See some examples on godoc: https://godoc.org/gopkg.in/stevedonovan/luar.v2. This library is not new, as Luar was first released a few years ago by Steve Donovan, then left unmaintained for a while. I took over maintenance and rewrote most of the API to simplify its use: - Reflection is no longer required from the caller side. - I've halved the number of exported functions. - Easier of use (less parameters). - Cyclic structures are supported on both sides. - Initialization of the Lua state is optional and can be completely customized. - LuaToGo handles more conversions and allows for merging Lua data into existing maps. - LuaObjects support __call/__index/__newindex metamethods. - LuaObject's Get*()/Set() functions support subfield indexing. - Does not panic. (At least not when it can be avoided.) - Tons of bug fixes. v2 is still in development, any feedback is very welcome. -- Peter Neidhardt -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.