| Quasi-static typing |
| Full text |
Pdf
(1.41 MB)
|
| Source
|
Annual Symposium on Principles of Programming Languages
archive
Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
table of contents
San Francisco, California, United States
Pages: 367 - 381
Year of Publication: 1989
ISBN:0-89791-343-4
|
|
Author
|
|
Satish Thatte
|
Department of Mathematics and Computer Science, Clarkson University, Potsdam, NY
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 13, Downloads (12 Months): 38, Citation Count: 15
|
|
|
ABSTRACT
We present a new approach to dynamic typing in a static framework. Our main innovation is the use of structural subtyping for dynamic types based on the idea that possible dynamic typing as a property should be inherited by objects of all types. Two properties of our system set it apart from existing systems which combine static and dynamic typing: all tagging and checking takes place via implicit coercions, and the semantics of dynamic typing is representation independent. The latter property leads to a significant increase in expressive power—for instance it allows us to define a general call-by-value fixpoint operator.
The resulting system—which we call quasi-static typing—is a seamless merger of static and dynamic typing. The system divides programs into three categories: well-typed, ill-typed and ambivalent programs. Ill-typed programs contain expressions that are guaranteed to go wrong. Run-time checking is limited to doubtful function applications in ambivalent programs. Conceptually, quasi-static typing takes place in an unusual two-phase process—a first phase infers types and coercions and a second plausibility checking phase identifies ill-typed programs. The typing rules allow minimal typing judgements and plausibility checking can be characterized as simplification via a canonical set of rewrite rules. The two phase process can therefore be implemented with a one pass algorithm.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
ABC+83
|
M.P. Atkinson, P.J. Bailey, K.J. Chisholm, P.W. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26(4):360-365, 1983.
|
 |
ACPP89
|
M. Abadi , L. Cardelli , B. Pierce , G. Plotkin, Dynamic typing in a statically-typed language, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.213-227, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75296]
|
| |
BTCGS89
|
V. Breazu-Tannen , T. Coquand , C. Gunter , A. Scedrov, Inheritance and explicit coercion, Proceedings of the Fourth Annual Symposium on Logic in computer science, p.112-129, June 1989, Pacific Grove, California, United States
|
| |
Car86
|
|
| |
Car89
|
Luca Cardelli, January 1989. Personal Communication.
|
 |
CDJ+89
|
L. Cardelli , J. Donahue , M. Jordan , B. Kalsow , G. Nelson, The Modula–3 type system, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.202-212, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75295]
|
 |
CW85
|
|
 |
Hue80
|
|
| |
RT88
|
Edmund Robinson and Robert Tennent, October 1988. Note sent to "Types" E- mail forum.
|
| |
Tha88
|
|
| |
Tha89
|
Satish R. Thatte. Type inference and implicit scaling, 1989. To Appear.
|
| |
Wad76
|
C. Wadsworth. The relation between computational and denotational properties for Scott's Do~ models of the )~-calculus. SIAM J. Camput., 5(3):488-520, 1976.
|
|