Authors
Simon Peyton Jones, Erik Meijer and Daan Leijen
Date
December 1997
Abstract
Designers of advanced languages such as ML, Prolog, or Haskell, face an unphill
struggle to persuade potential users of the merits of their approach. In fact,
it has hitherto been impossible to find other than niche applications because (foreing
languages interfaces notwithstanding) it has been too difficult to integrate
software components written in new languages with large bodies of existing code.
Microsoft's Component Object Model (COM) offers this community a new opportunity.
Because the interface between objects is by design language independent and
armslength, it is possible either to write glue programs that integrate existing
COM objects, or to write software components whose services can be used by
clients written in more conventional languages.
We describe our experience of exploiting this opportunity in the
purely-functional language Haskell. We describe a design for integrating COM
components into Haskell programs, and we demonstrate why someone might want to
script their COM components in this way.
Full Text
[pdf]