Fine-grained interoperability through mirrors and contracts

Kathryn E. Gray*, Robert Bruce Findler, Matthew Flatt

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

35 Scopus citations

Abstract

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.

Original languageEnglish (US)
Title of host publicationOOPSLA'05 - Conference Proceedings
Subtitle of host publication20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications
PublisherAssociation for Computing Machinery
Pages231-245
Number of pages15
ISBN (Print)1595930310, 9781595930316
DOIs
StatePublished - 2005
EventOOPSLA'05 - 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications - San Diego, CA, United States
Duration: Oct 16 2005Oct 20 2005

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Other

OtherOOPSLA'05 - 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications
CountryUnited States
CitySan Diego, CA
Period10/16/0510/20/05

Keywords

  • Contracts
  • Interoperability
  • Java
  • Mirrors
  • Scheme

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Fine-grained interoperability through mirrors and contracts'. Together they form a unique fingerprint.

  • Cite this

    Gray, K. E., Findler, R. B., & Flatt, M. (2005). Fine-grained interoperability through mirrors and contracts. In OOPSLA'05 - Conference Proceedings: 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (pp. 231-245). (Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA). Association for Computing Machinery. https://doi.org/10.1145/1094811.1094830