2000/05/31 by Emanuele Panizzi, Panizzi, Emanuele, Bernardo Pastorelli +1 · 1 citation
Computer Science · #Advanced Software Engineering Methodologies #D.1.5 #D.3.3 #D.3.4 #FOS: Computer and information sciences #Logic, programming, and type systems #Model-Driven Software Engineering Techniques #Programming Languages (cs.PL) #cs.PL
paper · pdf · doi:10.48550/arxiv.cs/0005033
15 pages, 18 figures
arxiv created 2000/05/31 · openalex publication_date 2000/05/31 · arxiv updated 2009/11/30 · openalex created_date 2016/06/24 · openalex updated_date 2026/07/28
The goal of this paper is the description and analysis of multimethod implementation in a new object-oriented, class-based programming language called OOLANG. The implementation of the multimethod typecheck and selection, deeply analyzed in the paper, is performed in two phases in order to allow static typechecking and separate compilation of modules. The first phase is performed at compile time, while the second is executed at link time and does not require the modules' source code. OOLANG has syntax similar to C++; the main differences are the absence of pointers and the realization of polymorphism through subsumption. It adopts the C++ object model and supports multiple inheritance as well as virtual base classes. For this reason, it has been necessary to define techniques for realigning argument and return value addresses when performing multimethod invocations.