Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic rule engine that parses and executes custom logic and data validations at runtime without requiring the application to be recompiled. The system utilizes a sandboxed logic executor to run expressions without side effects. It ensures program termination by employing instruction-level loop detection to prevent infinite loops and isolates the evaluation process from the host system. The engine employs a bytecode-based virtual machine and abstract syntax tree analysis to achieve ex
Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts without requiring the host binary to be recompiled. It operates as a bytecode-compiled virtual machine, transforming source code into a compact intermediate representation for execution on a stack-based engine. The system is designed as a secure scripting sandbox, enforcing strict limits on memory allocation and execution time to safely run untrusted code. It supports concurrent script execution by cloning compiled bytecode and using recursive immutability conversion to share
naive go bindings to the CPython2 C-API
The main features of sbinet/go-python are: Embedded Scripting, Scripting Languages.
Open-source alternatives to sbinet/go-python include: aarzilli/golua — Go bindings for Lua C API - in progress. deuill/go-php — PHP bindings for the Go programming language (Golang). antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic… d5/tengo — Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts… alexeyco/binder — High level go to Lua binder. Write less, do more. gentee/gentee — Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang).