lightweight version of struct encapsulation and deriving operators and casts.
Are we comparing apples to oranges in our code? Add tags:
int<Apple> apples; int<Orange> oranges;
Insert the tag at the root (where apples are first used) and automatically force all ints to be polymorphic int<a>
Anything that works for an int works for an int<foo>, but we can perform deep queries about what kinds of casts and derived functions and operators are occuring, and where polymorphism is being disambiguated.
No comments :
Post a Comment