Contracts for First-Class Classes
Abstract
First-class classes enable programmers to abstract over patterns in the class hierarchy and to experiment with new forms of object-oriented programming such as mixins and traits. This increase in expressive power calls for tools to control the complexity of the software architecture. A contract system is one possible tool that has seen much use in object-oriented programming languages, but existing contract systems cannot cope with first-class classes. On the one hand, the typical contract language deals only with plain values such as numbers, while classes are higher-order values. On the other hand, contract specifications are usually contained within class definitions, while classes as values call for a separate contract language.
Document Details
- Document Type
- Pub Defense Publication
- Publication Date
- Nov 01, 2013
- Source ID
- 10.1145/2518189
Entities
People
- Asumu Takikawa
- Christos Dimoulas
- Matthias Felleisen
- T. Stephen Strickland
Organizations
- Air Force Office of Scientific Research
- Defense Advanced Research Projects Agency
- National Science Foundation
- Northeastern University