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
With #461, we now have constructor and relation besides function. However, it is still allowed to do semantically dubious operations on them, and this leaks the underlying implementation details.
(sort foo)
(constructor bar (i64) foo)
(set (bar 0) (bar 1)) ; This currently creates then unions the two terms
(relation baz (i64 i64))
(let x (baz 0 1)) ; This creates the edge and binds `x` to unit
We want to forbid this kind of behavior.
A straightforward fix is to add those restrictions on the subtypes for those actions. The challenge is to make sure all cases are covered.
The text was updated successfully, but these errors were encountered:
With #461, we now have
constructor
andrelation
besidesfunction
. However, it is still allowed to do semantically dubious operations on them, and this leaks the underlying implementation details.We want to forbid this kind of behavior.
A straightforward fix is to add those restrictions on the subtypes for those actions. The challenge is to make sure all cases are covered.
The text was updated successfully, but these errors were encountered: