Results 1 -
3 of
3
Calling Hell From Heaven and Heaven From Hell
- In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming
, 1999
"... The increasing popularity of component-based programming tools offer a big opportunity to designers of advanced programming languages, such as Haskell. If we can package our programs as COM objects, then it is easy to integrate them into applications written in other languages. In earlier work we de ..."
Abstract
-
Cited by 56 (6 self)
- Add to MetaCart
The increasing popularity of component-based programming tools offer a big opportunity to designers of advanced programming languages, such as Haskell. If we can package our programs as COM objects, then it is easy to integrate them into applications written in other languages. In earlier work we described a preliminary integration of Haskell with Microsoft's Component Object Model (COM), focusing on how Haskell can create and invoke COM objects. This paper develops that work, concentrating on the mechanisms that support externally-callable Haskell functions, and the encapsulation of a Haskell program as a COM object. 1 Introduction "Component-based programming" is all the rage. It has come to mean an approach to software construction in which a program is an assembly software components, perhaps written in different languages, glued together by some common substrate [16]. The most widely used substrates are Microsoft's Component Object Model (COM), and the Common Object Request Broke...
The Design of a COM-Oriented Module System
- In Proceedings of the Joint Modular Languages Conference, Lecture Notes in Computer Science
, 2000
"... . We present in this paper the preliminary design of a module system based on a notion of components such as they are found in COM. This module system is inspired from that of Standard ML, and features first-class instances of components, first-class interfaces, and interface-polymorphic function ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
. We present in this paper the preliminary design of a module system based on a notion of components such as they are found in COM. This module system is inspired from that of Standard ML, and features first-class instances of components, first-class interfaces, and interface-polymorphic functions, as well as allowing components to be both imported from the environment and exported to the environment using simple mechanisms. The module system automates the memory management of interfaces and hides the IUnknown interface and QueryInterface mechanisms from the programmer, favoring instead a higher-level approach to handling interfaces. 1 Introduction Components are becoming the principal way of organizing software and distributing libraries on operating systems such as Windows NT. In fact, components offer a natural improvementover classical distribution mechanism, in the areas of versioning, licensing and overall robustness. Many languages are able to use such components dire...
Component-Oriented Programming in Object-Oriented Languages
- Department of Information and Computer Science, University of California
, 1999
"... Current approaches to component-oriented programming are based on traditional object-oriented languages and concepts. However, most existing object-oriented languages fail to address subtle interface compatibility issues that become paramount in a component-based setting. We explore both syntactic a ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Current approaches to component-oriented programming are based on traditional object-oriented languages and concepts. However, most existing object-oriented languages fail to address subtle interface compatibility issues that become paramount in a component-based setting. We explore both syntactic and semantic interface incompatibilities and discuss why they are difficult to handle. We argue that resolving these incompatibilities requires breaking with a fundamental idiom of object-oriented languages: the subordination of messages to interfaces and classes. We propose a solution based on the concept of stand-alone messages as found in the experimental programming language Lagoona and discuss its ramifications.

