The support for generic programming in modern object-oriented programming languages is awkward and lacks desirable expressive power. We introduce an expressive genericity mechanism that adds expressive power and strengthens static checking, while remaining lightweight and simple in common use cases. Like type classes and concepts, the mechanism allows existing types to model type constraints retroactively. For expressive power, we expose models as named constructs that can be defined and selected explicitly to witness constraints; in common uses of genericity, however, types implicitly witness constraints without additional programmer effort. Models are integrated into the object-oriented style, with features like model generics, model-dependent types, model enrichment, model multimethods, constraint entailment, model inheritance, and existential quantification further extending expressive power in an object-oriented setting. We introduce the new genericity features and show that common generic programming idioms, including current generic libraries, can be expressed more precisely and concisely. The static semantics of the mechanism and a proof of a key decidability property can be found in an associated technical report.
Wed 17 JunDisplayed time zone: Tijuana, Baja California change
09:15 - 10:55 | Semantics IIResearch Papers at PLDI Main RED (Portland 256) Chair(s): Robert Bruce Findler Northwestern University | ||
09:15 25mTalk | Declarative Programming over Eventually Consistent Data Stores Research Papers KC Sivaramakrishnan University of Cambridge, Gowtham Kaki Purdue University, Suresh Jagannathan Purdue University Media Attached | ||
09:40 25mTalk | Blame and coercion: Together again for the first time Research Papers Jeremy G. Siek Indiana University, Peter Thiemann University of Freiburg, Philip Wadler University of Edinburgh Media Attached | ||
10:05 25mTalk | Lightweight, Flexible Object-Oriented Generics Research Papers Yizhou Zhang Cornell University, Andrew Myers , Barbara Liskov MIT, Guido Salvaneschi TU Darmstadt, Matt Loring Cornell University Media Attached | ||
10:30 25mTalk | Relatively Complete Counterexamples for Higher-Order Programs Research Papers Media Attached |