An interoperable calculus for external object access

Atsushi Ohori, Kiyoshi Yamatodani

Research output: Contribution to conferencePaperpeer-review

2 Citations (Scopus)


By extending an ML-style type system with record polymorphism, recursive type definition, and an ordering relation induced by field inclusion, it is possible to achieve seamless and type safe interoperability with an object-oriented language. Based on this observation, we define a polymorphic language that can directly access external objects and methods, and develop a type inference algorithm. This calculus enjoys the features of both higher-order programming with ML polymorphism and class-based object-oriented programming with dynamic method dispatch. To establish type safety, we define a sample object-oriented language with multiple inheritance as the target for interoperability, define an operational semantics of the calculus, and show that the type system is sound with respect to the operational semantics. These results have been implemented in our prototype interpretable language, which can access Java class files and other external resources.

Original languageEnglish
Number of pages12
Publication statusPublished - 2002
EventProceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02) - Pittsburgh, PA, United States
Duration: 2002 Oct 42002 Oct 6


OtherProceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02)
Country/TerritoryUnited States
CityPittsburgh, PA


  • Interoperability
  • Java
  • ML
  • Object-oriented language
  • Record polymorphism
  • Type inference

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'An interoperable calculus for external object access'. Together they form a unique fingerprint.

Cite this