Skip to content

Make complement op for function type explicit #1220

@heshanpadmasiri

Description

@heshanpadmasiri

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.

Metadata

Metadata

Labels

Type/TaskideaImportant idea about implementation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions