MCORBA: A CORBA Binding for Mercury

  • Authors:
  • David Jeffery;Tyson Dowd;Zoltan Somogyi

  • Affiliations:
  • -;-;-

  • Venue:
  • PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

MCORBA is a binding to the CORBA distributed object framework for the purely declarative logic/functional language Mercury. The binding preserves the referential transparency of the language, and has several advantages over similar bindings for other strongly typed declarative languages. As far as we know, it is the first such binding to be bidirectional; it allows a Mercury program both to operate upon CORBA components and to provide services to other CORBA components. Whereas the Haskell binding for COM maps COM interfaces onto Haskell types, MCORBA maps CORBA interfaces onto Mercury type classes. Our approach simplifies the mapping, makes the implementation of CORBA's interface inheritance straightforward, and makes it trivial for programmers to provide several different implementations of the same interface. It uses existential types to model the operation of asking CORBA for an object that satisfies a given interface but whose representation is unknown.