tengo
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.
tengo
-
Making Games in Go for Absolute Beginners
> It also has a bunch of libraries for embedding scripting languages https://awesome-go.com/embeddable-scripting-languages, with Tengo _probably_ being the quickest https://github.com/d5/tengo
Yes, I noticed those packages recently. The problem is that there is little data about how reliable and maintainable goloader is going to be on the long term.
As I care about performance and security, I don't want a scripting language, but WASM seems to be a very promising possibility. I have made benchmarks with 2~3 WASM engines in Go, and so far I am not completely convinced about the quality and performance of the available APIs. Also, when compiling Golang to WASM, the native compiler is still abysmally bad and does not have full support for imports, so Tinygo is a must-have.
Anyway, modding is still a long term idea at this point, so hopefully the ecosystem will get more mature within a couple of years.
-
Looking for programming languages created with Go
- https://github.com/d5/tengo
-
Change go code behaviour at runtime
There are totally different things like https://github.com/d5/tengo but I don't know much about the docs, communities, or viability of them. Some like this one look very active and healthy. It might be worth considering.
-
Asking for advice to get deeper understanding of golang internals.
I started doing this a few years ago when I wanted to add programmability to another system I was working on, and didn't want Lua or anything else like that. I set it aside when other priorities arose, and didn't return to it when I saw that others had already done the same thing (yaegi, tengo).
expr
-
Solving the Expression Problem in Go
Not diminishing the article at all, there's massive value I've gained from leveraging this runtime solution in multiple projects: https://github.com/antonmedv/expr
The language is easy enough for people to pick-up.
- Expr Release v1.15
- Expr v1.14 release: Go expression language
- Expr – expression language with type checker
-
FireScroll - The config database to deploy everywhere (now with conditional statements!)
Uses the [expr](https://github.com/antonmedv/expr) language to achieve this and I've been super happy with the results.
-
Library to analyze an arbitrary JSON string
I have been using expr (https://github.com/antonmedv/expr) to do something like this for a while. no complains so far.
-
[gcalc] A simple calculater in golang
If you wanted it to not require putting in the operation first and just accept string equations (without using something like https://github.com/antonmedv/expr) you could parse, tokenize and then process the input.
- Go Expression Language
- Polymode: Multiple Major Modes and How to Use SQL and Python in One Buffer
- Expr (Go expression language) releases v1.11
What are some alternatives?
otto - A JavaScript interpreter in Go (golang)
govaluate - Arbitrary expression evaluation for golang
gopher-lua - GopherLua: VM and compiler for Lua in Go
cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
goja - ECMAScript/JavaScript engine in pure Go
gval - Expression evaluation in golang
go-php - PHP bindings for the Go programming language (Golang)
grule-rule-engine - Rule engine implementation in Golang
go-lua - A Lua VM in Go
mosalat - a rule-engine with custom dsl for golang
The uGO Language - Script Language for Go