Publication Type |
technical report |
School or College |
College of Engineering |
Department |
Computing, School of |
Program |
Advanced Research Projects Agency |
Creator |
McDirmid, Sean; Hsieh, Wilson C.; Flatt, Matt |
Title |
Expressive modular linking for object-oriented languages |
Date |
2002-10-11 |
Description |
In this paper we show how modular linking of program fragments can be added to statically typed, object-oriented (OO) languages. Programs are being assembled out of separately developed software components deployed in binary form. Unfortunately, mainstream OO languages (such as Java) still do not provide support for true modular linking. Modular linking means that program fragments can be separately compiled and type checked, and that linking can ensure global program type correctness without analyzing program fragment implementations. Supporting modular linking in OO languages is complicated by two expressive features that current OO languages do not support together: mixin-style inheritance across program fragment boundaries, and cyclic dependencies between program fragments. In a previous paper at OOPSLA 2001, we have demonstrated the practical uses for such expressiveness. When such expressiveness is permitted, link-time type checking rules must ensure that method collisions and inheritance cycles do not occur after program fragments are linked into a program. In this paper, we show how modular linking with both cyclic linking and mixin-style inheritance can be supported using a type-checking architecture that can be added on top of existing OO languages, such as Java. 1 |
Type |
Text |
Publisher |
University of Utah |
Subject |
Modular linking; Program fragments |
Subject LCSH |
Object-oriented programming languages |
Language |
eng |
Bibliographic Citation |
McDirmid, S., Hsieh, W. C., & Flatt, M. (2002). Expressive modular linking for object-oriented languages. UUCS-02-014. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
150,938 bytes |
Source |
University of Utah School of Computing |
ARK |
ark:/87278/s68d0dx6 |
Setname |
ir_uspace |
ID |
707245 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s68d0dx6 |