go-lua
expr
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-lua
-
Jacobin: Minimal JVM written in Go and capable of running Java 17 classes
https://github.com/Shopify/go-lua
Unless you specifically need a JVM either of these will be a much more practical and mature choice for embedded scripting.
Alternatively if you prefer JS then Otto is a good choice:
-
Are there any Golang Lua VMs that support snapshotting/serializationi?
Do you know about go-lua? There's a good discussion of various go lua implementations here, including this choice quote:
-
Change go code behaviour at runtime
There are lua and Go-script options. My impression is that a few are well accepted but perhaps just a little less widely used than the first two. I cannot speak from personal experience on them. Shopify has a Lua 5.2 port: https://github.com/Shopify/go-lua and I know https://github.com/bitfield/script is one of the Go-like scripting languages, but I think it's more for a shell script replacement than embedding.
-
Show HN: LadyLua, batteries-included static Lua 5.1 interpreter
GopherLua [0] is a Lua implementation written in Go, not just a wrapper around the C implementation.
The main alternative seems to be Shopify’s go-lua [1], given that Microsoft’s golua [2] is no longer being developed. The main difference between these three implementations seems to be the supported Lua version - 5.1, 5.2 and 5.3 respectively.
[0] https://github.com/yuin/gopher-lua
[1] https://github.com/Shopify/go-lua
[2] https://github.com/Azure/golua
expr
- Expr 1.16.5
- Expr 1.16
- Expr Release v1.15.8
-
SQL as API
You're basically creating an expression language: https://github.com/expr-lang/expr
- Expr moved to expr-lang/expr
What are some alternatives?
gopher-lua - GopherLua: VM and compiler for Lua in Go
govaluate - Arbitrary expression evaluation for golang
go-php - PHP bindings for the Go programming language (Golang)
cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
goja - ECMAScript/JavaScript engine in pure Go
grule-rule-engine - Rule engine implementation in Golang
otto - A JavaScript interpreter in Go (golang)
go-exprtk - Go Mathematical Expression Toolkit. Run-time mathematical expression parser and evaluation engine.
go-python - naive go bindings to the CPython2 C-API
gval - Expression evaluation in golang
golua - Go bindings for Lua C API - in progress
tengo - A fast script language for Go