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
cel-go is a Go implementation of the Common Expression Language, providing a type-safe engine for the evaluation of non-Turing complete, side-effect-free expressions. It functions as an embedded expression engine that converts human-readable strings into type-checked abstract syntax trees to ensure safe execution. The system utilizes a compile-once evaluate-many model, parsing and validating expressions into cached programs for repeated execution across different datasets. It further distinguishes itself as a partial state evaluator, using commutative logic to compute results and return resid
Aviatorscript is a high-performance scripting language and expression evaluation engine designed for integration within Java applications. It enables the dynamic execution of mathematical and logical formulas by compiling script instructions directly into Java bytecode at runtime. The engine distinguishes itself by transforming dynamic logic into machine-readable instructions, allowing for near-native execution speeds. It includes a built-in caching mechanism that stores compiled bytecode to eliminate redundant parsing and compilation overhead during repeated formula execution. This library
The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments. This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defin
Expr is a statically typed expression engine and domain-specific language for parsing and evaluating dynamic logic strings within Go applications. It functions as a bytecode expression evaluator that executes compiled logic with guaranteed termination and memory safety.
The main features of expr-lang/expr are: Dynamic Rule Engines, Bytecode Virtual Machines, Expression Evaluators, Type Validation, Statically Typed Evaluators, Expression Languages, High-Performance Expression Evaluators, Sandboxed Logic Execution.
Open-source alternatives to expr-lang/expr include: antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic… google/cel-go — cel-go is a Go implementation of the Common Expression Language, providing a type-safe engine for the evaluation of… killme2008/aviatorscript — Aviatorscript is a high-performance scripting language and expression evaluation engine designed for integration… knetic/govaluate — govaluate is a Go expression evaluator and runtime logic parser. It functions as a dynamic rule engine that converts… google/cel-spec — The Common Expression Language specification is a formal standard for a non-Turing-complete expression language… microsoft/rulesengine — RulesEngine is a business logic evaluator for .NET that executes complex rule workflows and dynamic expressions…