aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/cel.dev/expr/README.md
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-01-22 16:07:17 +0100
committerTaras Madan <tarasmadan@google.com>2025-01-23 10:42:36 +0000
commit7b4377ad9d8a7205416df8d6217ef2b010f89481 (patch)
treee6fec4fd12ff807a16d847923f501075bf71d16c /vendor/cel.dev/expr/README.md
parent475a4c203afb8b7d3af51c4fd32bb170ff32a45e (diff)
vendor: delete
Diffstat (limited to 'vendor/cel.dev/expr/README.md')
-rw-r--r--vendor/cel.dev/expr/README.md65
1 files changed, 0 insertions, 65 deletions
diff --git a/vendor/cel.dev/expr/README.md b/vendor/cel.dev/expr/README.md
deleted file mode 100644
index 2da1e7f2f..000000000
--- a/vendor/cel.dev/expr/README.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# Common Expression Language
-
-The Common Expression Language (CEL) implements common semantics for expression
-evaluation, enabling different applications to more easily interoperate.
-
-Key Applications
-
-* Security policy: organizations have complex infrastructure and need common
- tooling to reason about the system as a whole
-* Protocols: expressions are a useful data type and require interoperability
- across programming languages and platforms.
-
-
-Guiding philosophy:
-
-1. Keep it small & fast.
- * CEL evaluates in linear time, is mutation free, and not Turing-complete.
- This limitation is a feature of the language design, which allows the
- implementation to evaluate orders of magnitude faster than equivalently
- sandboxed JavaScript.
-2. Make it extensible.
- * CEL is designed to be embedded in applications, and allows for
- extensibility via its context which allows for functions and data to be
- provided by the software that embeds it.
-3. Developer-friendly.
- * The language is approachable to developers. The initial spec was based
- on the experience of developing Firebase Rules and usability testing
- many prior iterations.
- * The library itself and accompanying toolings should be easy to adopt by
- teams that seek to integrate CEL into their platforms.
-
-The required components of a system that supports CEL are:
-
-* The textual representation of an expression as written by a developer. It is
- of similar syntax to expressions in C/C++/Java/JavaScript
-* A binary representation of an expression. It is an abstract syntax tree
- (AST).
-* A compiler library that converts the textual representation to the binary
- representation. This can be done ahead of time (in the control plane) or
- just before evaluation (in the data plane).
-* A context containing one or more typed variables, often protobuf messages.
- Most use-cases will use `attribute_context.proto`
-* An evaluator library that takes the binary format in the context and
- produces a result, usually a Boolean.
-
-Example of boolean conditions and object construction:
-
-``` c
-// Condition
-account.balance >= transaction.withdrawal
- || (account.overdraftProtection
- && account.overdraftLimit >= transaction.withdrawal - account.balance)
-
-// Object construction
-common.GeoPoint{ latitude: 10.0, longitude: -5.5 }
-```
-
-For more detail, see:
-
-* [Introduction](doc/intro.md)
-* [Language Definition](doc/langdef.md)
-
-Released under the [Apache License](LICENSE).
-
-Disclaimer: This is not an official Google product.