Sciweavers

OOPSLA
2005
Springer

Fine-grained interoperability through mirrors and contracts

14 years 5 months ago
Fine-grained interoperability through mirrors and contracts
As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions can be immediate; for higher order data, such as functions and objects, some must be delayed until the value is used in a particular way. Typically, these coercions and checks are implemented by an ad-hoc mixture of wrappers, reflection, and dynamic predicates. We observe that 1) the wrapper and reflection operations fit the profile of mirrors, 2) the checks correspond to contracts, and 3) the timing and shape of mirror operations coincide with the timing and shape of contract operations. Based on these insights, we present a new model of interoperability that builds on the ideas of mirrors and contracts, and we describe an interoperable implementation of Java and Scheme that is guided by the model. Categories and Subject Descriptors D.3.3 [Programming Languages]: La...
Kathryn E. Gray, Robert Bruce Findler, Matthew Fla
Added 28 Jun 2010
Updated 28 Jun 2010
Type Conference
Year 2005
Where OOPSLA
Authors Kathryn E. Gray, Robert Bruce Findler, Matthew Flatt
Comments (0)