awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/cel-go

0
View on GitHub↗
2,875 stele·260 fork-uri·Go·apache-2.0·4 vizualizăricel.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.

Istoric stele

Graficul istoricului de stele pentru google/cel-goGraficul istoricului de stele pentru google/cel-go

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face 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.

Care sunt principalele funcționalități ale google/cel-go?

Principalele funcționalități ale google/cel-go sunt: Expression Evaluators, Expression Engines, Abstract Syntax Tree Parsing, Compiled Expression Programs, Evaluation Environments, High-Performance Expression Evaluators, Program Caching Strategies, Residual Expression Evaluation.

Care sunt câteva alternative open-source pentru google/cel-go?

Alternativele open-source pentru google/cel-go includ: 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…

Alternative open-source pentru Cel Go

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Cel Go.
  • antonmedv/exprAvatar antonmedv

    antonmedv/expr

    7,905Vezi pe 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
    Vezi pe GitHub↗7,905
  • expr-lang/exprAvatar expr-lang

    expr-lang/expr

    7,906Vezi pe 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
    Vezi pe GitHub↗7,906
  • google/cel-specAvatar google

    google/cel-spec

    3,673Vezi pe 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
    Vezi pe GitHub↗3,673
  • hashicorp/hclAvatar hashicorp

    hashicorp/hcl

    5,788Vezi pe 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
    Vezi pe GitHub↗5,788
  • Vezi toate cele 30 alternative pentru Cel Go→