Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annex the cel.* namespace for language extensions #149

Open
JimLarson opened this issue Sep 25, 2020 · 0 comments
Open

Annex the cel.* namespace for language extensions #149

JimLarson opened this issue Sep 25, 2020 · 0 comments

Comments

@JimLarson
Copy link
Contributor

Except for the reserved words, users are free to use whatever identifiers they wish for custom variables, types, and functions. The standard describes the variables, types, and functions provided in the standard environment. (We leverage the mechanisms of the protocol buffer package namespace to prevent collisions for message names.) User variables and functions will shadow these standard ones, so new additions to the standard won't change the meaning of user programs. However, it means that some users will not be able to access new functionality without potentially changing their user environment to rename things out of the way - which can be burdensome if they have a large library of expressions for that environment.

Proposed that the cel.* namespace be reserved for the standard CEL language. It is unlikely that any users are currently using this namespace, and those that are should not be surprised by this annexation. This will allow new entries to the language standard to be available to all users regardless of their environment.

Perhaps also add new entires to the unqualified namespace for more streamlined use when there is no collision.

Perhaps also copy all existing standard definitions into the cel.* namespace for uniformity, and to allow full use of unqualified names.

Perhaps use a modification of the container mechanism to implement the previous two properties.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants
@JimLarson and others