Scripting COM components in Haskell

  • Simon Peyton Jones ,
  • Erik Meijer ,
  • Daan Leijen

Fifth International Conference on Software Reuse |

Published by IEEE Computer Society Press

The expressiveness of higher-order, typed languages such as Haskell or ML makes them an attractive medium in which to write software components. Hitherto, however, their use has been limited by the all or-nothing problem: it is hard to write just part of an application in these languages.

Component-based programming using a binary standard such as Microsoft’s Component Object Model (COM) offers a solution to this dilemma, by specifying a language-independent interface between components. This paper reports about our experience with 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.