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
Currently, we are using bddSubtypeComplement (ref) as the complement operation for function types. Furthermore, the function type represents its parameters as a read-only tuple. Therefore when we take the complement for a function type we calculate the parameter type by removing the parameter type from all list types. This is wrong and we must instead use the set of all read-only tuples as the top type for parameters.
Edit: above statement is wrong since function parameters are contravariant. Therefore "top type" for parameters is NEVER. Therefore current implementation is technically correct. But it may still be worth it to make the function top type explicit.
The text was updated successfully, but these errors were encountered:
Currently, we are using
bddSubtypeComplement
(ref) as the complement operation for function types. Furthermore, the function type represents its parameters as a read-only tuple.Therefore when we take the complement for a function type we calculate the parameter type by removing the parameter type from all list types. This is wrong and we must instead use the set of all read-only tuples as the top type for parameters.Edit: above statement is wrong since function parameters are contravariant. Therefore "top type" for parameters is NEVER. Therefore current implementation is technically correct. But it may still be worth it to make the function top type explicit.
The text was updated successfully, but these errors were encountered: