FreezeML: Complete and Easy Type Inference for First-Class Polymorphism
ML is remarkable in providing statically typed polymorphism without the
programmer ever having to write any type annotations.
The cost of this parsimony is that the programmer is limited to a form of
polymorphism in which quantifiers can occur only at the outermost level of a
type and type variables can be instantiated only with monomorphic types.
Type inference for unrestricted System F-style
polymorphism is undecidable in general. Nevertheless, the literature abounds
with a range of proposals to bridge the gap between ML and System F.
We put forth a new proposal, FreezeML, a conservative extension of ML with two
new features. First, let- and lambda-binders may be annotated with arbitrary
System F types. Second, variable occurrences may be frozen, explicitly
disabling instantiation. FreezeML is equipped with type-preserving
translations back and forth between System F and admits a type inference
algorithm, an extension of algorithm W, that is sound and complete and which
yields principal types.
Thu 18 Jun Times are displayed in time zone: (GMT-07:00) Pacific Time (US & Canada) change
|09:20 - 09:40|
Rachit NigamCornell University, USA, Sachille AtapattuCornell University, USA, Samuel ThomasCornell University, USA, Zhijing LiCornell University, USA, Theodore BauerCornell University, USA, Yuwei YeCornell University, USA, Apurva KotiCornell University, USA, Adrian SampsonCornell University, USA, Zhiru ZhangCornell University, USA
|09:40 - 10:00|
David DurstStanford University, USA, Matthew FeldmanStanford University, USA, Dillon HuffStanford University, USA, David AkeleyUniversity of California at Los Angeles, USA, Ross DalyStanford University, USA, Gilbert Louis BernsteinUniversity of California at Berkeley, USA, Marco PatrignaniStanford University, USA / CISPA, Germany, Kayvon FatahalianStanford University, USA, Pat HanrahanStanford University, USA
|10:00 - 10:20|