You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #2127
See a trial implementation in #2121.
There's still ongoing conversation about whether imports should be implicit or explicit. Basically, if you have a structure like:
// root.zed
from .group import group
definition resource {
relation group: group
permission view = group->member
}
// group.zed
definition user {}
definition group {
relation user: user
permission member = user
}
Should the user definition be brought in implicitly because it's referenced by group, or should it be excluded because it wasn't explicitly requested by the import?
We've mostly been having the discussion in terms of whether a definition is an implementation detail (as it would be in most programming languages) or a part of the externally-facing API (which would push towards being more explicit).
#2121 implements the explicit approach; the implicit approach would need to happen in a post-compilation optimization step that uses the reachability graph to understand which definitions are related to each other.
The text was updated successfully, but these errors were encountered:
Part of #2127
See a trial implementation in #2121.
There's still ongoing conversation about whether imports should be implicit or explicit. Basically, if you have a structure like:
Should the
user
definition be brought in implicitly because it's referenced bygroup
, or should it be excluded because it wasn't explicitly requested by the import?We've mostly been having the discussion in terms of whether a
definition
is an implementation detail (as it would be in most programming languages) or a part of the externally-facing API (which would push towards being more explicit).#2121 implements the explicit approach; the implicit approach would need to happen in a post-compilation optimization step that uses the reachability graph to understand which definitions are related to each other.
The text was updated successfully, but these errors were encountered: