Abstract | ||
---|---|---|
Static and dynamic type systems have well-known strengths and weaknesses. In previous work we developed a gradual type system for a functional calculus named $\lambda^?_\to$. Gradual typing provides the benefits of both static and dynamic checking in a single language by allowing the programmer to control whether a portion of the program is type checked at compile-time or run-time by adding or removing type annotations on variables. Several object-oriented scripting languages are preparing to add static checking. To support that work this paper develops $\mathbf{Ob}^{?}_{, a gradual type system for object-based languages, extending the Ob calculus of Abadi and Cardelli. Our primary contribution is to show that gradual typing and subtyping are orthogonal and can be combined in a principled fashion. We also develop a small-step semantics, provide a machine-checked proof of type safety, and improve the space efficiency of higher-order casts. |
Year | DOI | Venue |
---|---|---|
2007 | 10.1007/978-3-540-73589-2_2 | ECOOP |
Keywords | Field | DocType |
type safety,gradual typing,functional calculus,dynamic type system,gradual type system,previous work,type annotation,dynamic checking,ob calculus,static checking,object oriented,scripting language,higher order,type system,dynamic typing | Type system,Manifest typing,Functional calculus,Programming language,Computer science,Theoretical computer science,Subtyping,Type safety,Duck typing,Scripting language,Gradual typing | Conference |
Volume | ISSN | ISBN |
4609 | 0302-9743 | 3-540-73588-7 |
Citations | PageRank | References |
166 | 6.35 | 22 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Jeremy G. Siek | 1 | 563 | 45.96 |
Walid Taha | 2 | 1020 | 70.41 |