rjson
expr
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.
rjson
-
Expr – a tiny stack-based virtual machine written in Go
This is an interesting project. I think Ragel is an underused resource for writing efficient go code. I used Ragel to build a json parser.
-
Branchless Coding in Go (Golang)
I apparently had a fundamental misunderstanding of the meaning of branchless. That's embarrassing.
As for simdjson-go, I did benchmark it. rjson outperformed simdjson-go in most benchmarks, but simdjson-go was about 3% faster reading citm_catalog.json.
https://github.com/WillAbides/rjson#simdjson
-
I wrote yet another json parser. It may be a contender for fastest.
/u/egonelbre I added simdjson-go to the benchmarks. It's an interesting one. It edged out rjson on one of the ReadObject benchmarks. It appears to do very well with large json objects that have a lot of string values.
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?
simdjson-go - Golang port of simdjson: parsing gigabytes of JSON per second
govaluate - Arbitrary expression evaluation for golang
avo - Generate x86 Assembly with Go
cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
jsoniter - A high-performance 100% compatible drop-in replacement of "encoding/json"
gval - Expression evaluation in golang
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
grule-rule-engine - Rule engine implementation in Golang
expr - Expr – a tiny stack-based virtual machine written in Go
tengo - A fast script language for Go
mosalat - a rule-engine with custom dsl for golang
go-lua - A Lua VM in Go