Building a Native C# Implementation of the CEL Engine for .NET
Building a native C# implementation of CEL engine
I built Celly, a pure managed C# implementation of Google's Common Expression Language that passes the full conformance suite. By avoiding WebAssembly or native bindings, I created a safe, high-performance policy engine for .NET. This project also enabled the first protovalidate library for the platform, allowing developers to enforce validation rules directly in their applications without redeploying code.
The trick is that CEL gives you just enough language to express real logic and deliberately withholds everything that would make it dangerous.
- akshayshah
I'm surprised (without any particular positive/negative valence) that the article doesn't mention using AI to write the port - especially since both CEL and protovalidate have fairly extensive conformance testing harnesses. The project should be right in the sweet spot for today's tools.
The omission is especially striking since most of the article sounds AI-authored to me. (Pangram agrees, for what that's worth.)
- nu11ptr
> It’s the language behind Kubernetes admission policies, Envoy’s RBAC rules, Google Cloud IAM conditions, and gRPC’s protovalidate
Very small nitpick, but AFAIK protovalidate comes from Buf, not Google. While protovalidate DOES work with gRPC via backward compatibility (but also Buf's ConnectRPC), saying "gRPC's protovalidate" probably makes people think it came from Google.
Disclaimer: I have no affiliation with either Buf or Google.
- xeonax
This seems like it might be good way to guard state transitions in my PLM/PDM project