The Design of a COM-Oriented Module System
Riccardo Pucella

TL;DR
This paper proposes a new module system inspired by COM and Standard ML, featuring first-class components and interfaces, with automated memory management and simplified interface handling.
Contribution
It introduces a novel module system that combines COM-like components with first-class interfaces and automated memory management, simplifying interface handling.
Findings
Supports first-class component instances and interfaces
Automates memory management of interfaces
Simplifies interface handling by hiding low-level mechanisms
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Advanced Software Engineering Methodologies · Software Engineering Research
