awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/cel-go

0
View on GitHub↗
2,875 estrellas·260 forks·Go·apache-2.0·4 vistascel.dev↗

Cel Go

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 residual expressions when certain input variables are missing.

The engine covers high-level capabilities for dynamic policy enforcement and data filtering by validating structured data against boolean predicates. It supports the creation of custom domain-specific languages through the extension of evaluation logic with specific functions and restricted operators.

Features

  • Expression Evaluators - Integrates a fast and safe expression evaluator into applications to execute user-defined logic without side effects.
  • Expression Engines - Provides an embedded engine for integrating programmable, side-effect-free logic into applications via a C-like syntax.
  • Abstract Syntax Tree Parsing - Converts human-readable expression strings into a structured tree for safe and efficient evaluation.
  • Compiled Expression Programs - Parses and type-checks expressions into a reusable program to avoid redundant overhead during repeated execution.
  • Evaluation Environments - Allows declaring available variables and functions to ensure expressions remain type-safe and context-aware.
  • High-Performance Expression Evaluators - Uses a compile-once evaluate-many workflow to process large datasets through reusable and type-checked expressions.
  • Program Caching Strategies - Parses expressions into cached programs for repeated high-performance execution across different input datasets.
  • Residual Expression Evaluation - Computes results using commutative logic to return residual expressions when input variables are incomplete.
  • Residual State Evaluation - Computes results with missing variables using commutative logic to return residual expressions.
  • Policy Enforcement - Evaluates boolean predicates against structured data to enforce authorization rules and request filters.
  • Safe Execution Environments - Runs human-readable expressions in a sandboxed environment that prevents arbitrary code execution.
  • Abstract Syntax Tree Parsing - Converts human-readable expression strings into a structured tree for safe and efficient evaluation.
  • Environment Type Validation - Validates expression types against a declared schema of variables and functions to ensure context-aware type safety.
  • Pure Expression Execution - Executes pre-compiled expressions against input variables to produce results without modifying state.
  • Stateless Expression Evaluation - Executes expressions in a stateless manner to ensure thread safety and predictable results across concurrent calls.
  • Static Type Checking - Validates expression types against a declared environment at compile time to prevent runtime type errors.
  • Expression Type Resolution - Validates expression types against a declared environment before evaluation to catch errors early.
  • AST Type Validation - Converts expression strings into type-checked abstract syntax trees to catch errors before evaluation.
  • Data Type Definitions - Represents information using JSON objects or typed schemas to provide context for expression evaluation.
  • Application-Embedded Evaluators - Allows integrating a fast and safe expression evaluator into applications using domain-specific extensions.
  • Domain Specific Languages - Allows building tailored expression engines with specific functions and operators for specialized applications.
  • Expression Languages - Provides a lightweight expression language to reshape or extract fields from data sets.
  • Expression Tree Compilation - Stores parsed and type-checked expression trees as executable programs to maximize performance across repeated evaluations.
  • Partial Evaluation - Implements partial evaluation to compute results and return residual expressions when some input variables are missing.
  • Evaluator Logic Extensions - Enables customizing evaluation logic by adding specific functions and restricting operators to match application requirements.
  • Predicate-Based Authorization - Checks structured data against boolean conditions to enforce authorization rules or request filters.
  • Compilers and Interpreters - Common Expression Language implementation.
  • Scripting Languages - Fast, portable expression evaluation engine.

Historial de estrellas

Gráfico del historial de estrellas de google/cel-goGráfico del historial de estrellas de google/cel-go

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Cel Go

Proyectos open-source similares, clasificados según cuántas características comparten con Cel Go.
  • antonmedv/exprAvatar de antonmedv

    antonmedv/expr

    7,905Ver en GitHub↗

    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

    Go
    Ver en GitHub↗7,905
  • expr-lang/exprAvatar de expr-lang

    expr-lang/expr

    7,906Ver en GitHub↗

    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 engine utilizes a specialized compiler and virtual machine to achieve high-performance execution. It employs static type validation during the compilation phase to ensure operand compatibility and prevent runtime crashes. The project provides a data transformation engine capable of mapping, filtering, and aggregating coll

    Gobytecodeconfiguration-languageengine
    Ver en GitHub↗7,906
  • google/cel-specAvatar de google

    google/cel-spec

    3,673Ver en GitHub↗

    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

    Starlark
    Ver en GitHub↗3,673
  • hashicorp/hclAvatar de hashicorp

    hashicorp/hcl

    5,788Ver en GitHub↗

    HCL is a configuration language implementation designed for parsing, evaluating, and encoding structured settings through the use of blocks and attributes. It functions as a configuration AST parser and a schema-based decoder that maps attributes and blocks to internal data structures using predefined rules. The project includes an expression evaluation engine that resolves dynamic values and cross-references through multi-phase processing of variables and functions. It also provides a configuration file formatter to standardize the layout and indentation of source code for consistent visual

    Goconfiguration-languagehashicorphcl
    Ver en GitHub↗5,788
Ver las 30 alternativas a Cel Go→

Preguntas frecuentes

¿Qué hace google/cel-go?

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.

¿Cuáles son las características principales de google/cel-go?

Las características principales de google/cel-go son: Expression Evaluators, Expression Engines, Abstract Syntax Tree Parsing, Compiled Expression Programs, Evaluation Environments, High-Performance Expression Evaluators, Program Caching Strategies, Residual Expression Evaluation.

¿Qué alternativas de código abierto existen para google/cel-go?

Las alternativas de código abierto para google/cel-go incluyen: antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic… expr-lang/expr — Expr is a statically typed expression engine and domain-specific language for parsing and evaluating dynamic logic… google/cel-spec — The Common Expression Language specification is a formal standard for a non-Turing-complete expression language… hashicorp/hcl — HCL is a configuration language implementation designed for parsing, evaluating, and encoding structured settings… rhysd/actionlint — actionlint is a static analysis tool and linter specifically designed for GitHub Actions workflow files. It functions… kanaka/mal — This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of…