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
This is a placeholder to not lose track of some discussion in other issues that typed-function could allow clients to declare one type is a subtype of another.
Potential advantages of this include:
reduce redundancy in type checking/number of type checks (there is no need to reiterate the supertype check in the subtype, the infrastructure will do it for you; and if the supertype check fails, there is no need to test any of its subtypes).
typed-function can reorder the type checks to avoid "missing" a type because a more inclusive check happens to get ordered before a less inclusive one; hence proper operation of typed-function will be less dependent on getting the order of types exactly right, allowing clients potentially to better spread/modularize addition of types in their code.
error/sanity checking: illegal to add a conversion from a subtype to a supertype.
better implementation of type conversions, reduction in redundancy in conversion: a conversion from a supertype would work on all its subtypes as well, and a conversion to a subtype would convert to all supertypes as well. At the moment, if A is a subtype of B and C is a subtype of D, you might have to define all four conversions from either A or B to C or D as appropriate; with subtyping, depending on the desired behavior, this might well reduce to two conversions or even just one (from B to C).
The text was updated successfully, but these errors were encountered:
This is a placeholder to not lose track of some discussion in other issues that typed-function could allow clients to declare one type is a subtype of another.
Potential advantages of this include:
The text was updated successfully, but these errors were encountered: