Path dependent types have long served as an expressive component of the Scala programming language. They allow for the modelling of both bounded polymorphism and a degree of nominal subtyping. Nominality in turn provides the ability to capture first class modules. Thus a single language feature gives rise to a rich array of expressiveness. Recent work has proven path dependent types sound in the presence of both intersection and recursive types, but unfortunately typing remains undecidable, posing problems for programmers who rely on the results of type checkers. The Wyvern programming language is an object oriented language with path dependent types, recursive types and first class modules. In this paper we define two variants of Wyvern that feature decidable typing, along with machine checked proofs of decidability. Despite the restrictions, our approaches retain the ability to encode the parameteric polymorphism of Java generics along with many idioms of the Scala module system.
Thu 23 Jan Times are displayed in time zone: Saskatchewan, Central America change
14:00 - 15:05: Type SystemsResearch Papers at Ile de France II (IDF II) Chair(s): Peter ThiemannUniversity of Freiburg, Germany | |||
14:00 - 14:21 Talk | Undecidability of D<: and Its Decidable FragmentsDistinguished Paper Research Papers Link to publication DOI Media Attached File Attached | ||
14:21 - 14:43 Talk | Decidable Subtyping for Path Dependent Types Research Papers Julian MackayVictoria University of Wellington, Alex PotaninVictoria University of Wellington, Jonathan AldrichCarnegie Mellon University, Lindsay GrovesVictoria University of Wellington Link to publication DOI Media Attached | ||
14:43 - 15:05 Talk | Dependent Type Systems as Macros Research Papers Stephen ChangNortheastern University, Michael BallantynePLT @ Northeastern University, Milo TurnerPLT @ Northeastern University, William J. BowmanUniversity of British Columbia Link to publication DOI Media Attached File Attached |