layout | title | authors | date | venue | categories |
---|---|---|---|---|---|
post |
George |
2016-12-09 11:30:00 +0800 |
CB 313 |
George 2016 |
Intersection types in traditional OO languages and λi both have their limitation of expressiveness in accepting all reasonable programs: in the former, contravariance of function parameters are usually not accepted; so are typical function overloading such as the toString method in latter. In this talk, I will show how one might get around the drawbacks by having two function arrows that differs in their subtyping relation. The resulting type system is going to enjoy the best of the two worlds.