User loginNavigation |
archivesInteresting use cases for universal quantifiers in rank 2?Trevor Jim’s System P2 types the same terms as the second-rank System F2, but function arguments can only be typed as (finite) intersections of simple types. This restriction is reasonable and also seems to correspond neatly to the inner workings of a compiler which specializes polymorphic functions for every usage (such as Rust’s, IIRC). What do we lose, relative to F2? Here are the things that I can think of (in fact, they also apply to unrestricted System P, which prohibits universal quantifiers in negative positions):
Anything else? Side note: What is then the class of all datatypes whose induction principles fit into P2? Is it interesting or any bigger than that for HM? I don’t understand what intersections could mean as eliminator arguments. By Alex Shpilkin at 2016-10-23 00:23 | LtU Forum | login or register to post comments | other blogs | 3970 reads
|
Browse archivesActive forum topics |
Recent comments
1 week 4 days ago
41 weeks 5 days ago
41 weeks 5 days ago
41 weeks 5 days ago
1 year 11 weeks ago
1 year 16 weeks ago
1 year 17 weeks ago
1 year 17 weeks ago
1 year 20 weeks ago
1 year 25 weeks ago