govaluate
Arbitrary expression evaluation for golang
...Perhaps you've got a set of data running through your application, and you want to allow your users to specify some validations to run on it before committing it to a database. Or maybe you've written a monitoring framework which is capable of gathering a bunch of metrics, then evaluating a few expressions to see if any metrics should be alerted upon, but the conditions for alerting are different for each monitor. A lot of people wind up writing their own half-baked style of evaluation language that fits their needs but isn't complete. ...