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 | 3948 reads
|
Browse archivesActive forum topics |
Recent comments
34 weeks 6 days ago
34 weeks 6 days ago
34 weeks 6 days ago
1 year 4 weeks ago
1 year 9 weeks ago
1 year 10 weeks ago
1 year 10 weeks ago
1 year 13 weeks ago
1 year 18 weeks ago
1 year 18 weeks ago