Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleFebruary 2022
A Subtyping Scheme for Nominal and Structural Types Based on Class Graph Equivalence
ICBTA '21: Proceedings of the 2021 4th International Conference on Blockchain Technology and ApplicationsPages 151–157https://doi.org/10.1145/3510487.3510509Subtyping and multiple inheritance are the essential features of oo and component-based programming languages, in particular with the presence of interfaces and contracts. More general, the composability of these constructs admitting the subtype ...
- research-articleOctober 2019
Efficient fail-fast dynamic subtype checking
VMIL 2019: Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate LanguagesPages 32–37https://doi.org/10.1145/3358504.3361229We address the problem of dynamically checking if an instance of class S is also an instance of class T. Researchers have designed various strategies to perform constant-time subtype tests. Yet, well-known production implementations degrade to linear ...
- research-articleNovember 2016
Just-in-time inheritance: a dynamic and implicit multiple inheritance mechanism
DLS 2016: Proceedings of the 12th Symposium on Dynamic LanguagesPages 37–47https://doi.org/10.1145/2989225.2989229Multiple inheritance is often criticised for the ambiguity that arises when multiple parents want to pass on a feature with the same name to their offspring. A survey of programming languages reveals that no programming language has an inherently ...
Also Published in:
ACM SIGPLAN Notices: Volume 52 Issue 2 - research-articleOctober 2016
Classless Java
GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesPages 14–24https://doi.org/10.1145/2993236.2993238This paper presents an OO style without classes, which we call interface-based object-oriented programming (IB). IB is a natural extension of closely related ideas such as traits. Abstract state operations provide a new way to deal with state, which ...
Also Published in:
ACM SIGPLAN Notices: Volume 52 Issue 3 - research-articleOctober 2014
Multiple Inheritance in AgentSpeak(L)-Style Programming Languages
AGERE! '14: Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized ControlPages 109–120https://doi.org/10.1145/2687357.2687362Agent-Oriented Programming (AOP) is a high-level pro-gramming paradigm for implementing intelligent distrib-uted systems. While a number of AOP languages have been proposed in the literature, many of them focus on the provision of support for ...
-
- research-articleOctober 2013
Class hierarchy complementation: soundly completing a partial type graph
OOPSLA '13: Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applicationsPages 515–532https://doi.org/10.1145/2509136.2509530We present the problem of class hierarchy complementation: given a partially known hierarchy of classes together with subtyping constraints ("A has to be a transitive subtype of B") complete the hierarchy so that it satisfies all constraints. The ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 10 - research-articleJuly 2013
Efficiency of subtype test in object oriented languages with generics
ICOOOLPS'13: Proceedings of the 8th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and SystemsPages 4–10https://doi.org/10.1145/2491404.2491406In a programming language, the choice of a generics typing policy impacts both typing test semantics and type safety. In this paper, we compare the cost of the generic policy chosen and analyze its impacts on the subtype test performance.
To make this ...
- ArticleSeptember 2012
A graph-based formalism for controlling access to a digital library ontology
CISIM'12: Proceedings of the 11th IFIP TC 8 international conference on Computer Information Systems and Industrial ManagementPages 111–122https://doi.org/10.1007/978-3-642-33260-9_9This paper presents a graph-based formalism for an Ontology Based Access Control (OBAC) system applied to Digital Library (DL) ontology. It uses graph transformations, a graphical specification technique based on a generalization of classical string ...
- ArticleDecember 2011
COQ mechanization of featherweight fortress with multiple dispatch and multiple inheritance
CPP'11: Proceedings of the First international conference on Certified Programs and ProofsPages 264–279https://doi.org/10.1007/978-3-642-25379-9_20In object-oriented languages, overloaded methods with multiple dispatch extend the functionality of existing classes, and multiple inheritance allows a class to reuse code in multiple classes. However, both multiple dispatch and multiple inheritance ...
- research-articleOctober 2011
Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance
OOPSLA '11: Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applicationsPages 973–992https://doi.org/10.1145/2048066.2048140In previous work, we presented rules for defining overloaded functions that ensure type safety under symmetric multiple dispatch in an object-oriented language with multiple inheritance, and we showed how to check these rules without requiring the ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 10 - articleMay 2011
Perfect class hashing and numbering for object-oriented implementation
Software—Practice & Experience (SPRE), Volume 41, Issue 6Pages 661–694https://doi.org/10.1002/spe.1024Late binding and subtyping create run-time overhead for object-oriented languages, especially in the context of both multiple inheritance and dynamic loading, for instance for JAVA interfaces. In a previous article, we proposed a novel approach based on ...
- articleMay 2011
Coloring, a versatile technique for implementing object-oriented languages
Software—Practice & Experience (SPRE), Volume 41, Issue 6Pages 627–659https://doi.org/10.1002/spe.1022Late binding and subtyping create run-time overhead for object-oriented languages. Dynamic typing and multiple inheritance create even more overhead. Static typing and single inheritance lead to two major invariants, of reference and position, that make ...
- research-articleApril 2011
Implementing statically typed object-oriented programming languages
ACM Computing Surveys (CSUR), Volume 43, Issue 3Article No.: 18, Pages 1–48https://doi.org/10.1145/1922649.1922655Object-oriented programming represents an original implementation issue due to its philosophy of making the program behavior depend on the dynamic type of objects. This is expressed by the late binding mechanism, aka message sending. The underlying ...
- research-articleJanuary 2011
Formal verification of object layout for c++ multiple inheritance
POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 67–80https://doi.org/10.1145/1926385.1926395Object layout - the concrete in-memory representation of objects - raises many delicate issues in the case of the C++ language, owing in particular to multiple inheritance, C compatibility and separate compilation. This paper formalizes a family of C++ ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 1 - research-articleOctober 2010
Reasoning about multiple related abstractions with MultiStar
OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsPages 504–519https://doi.org/10.1145/1869459.1869501Encapsulated abstractions are fundamental in object-oriented programming. A single class may employ multiple abstractions to achieve its purpose. Such abstractions are often related and combined in disciplined ways. This paper explores ways to express, ...
Also Published in:
ACM SIGPLAN Notices: Volume 45 Issue 10 - research-articleJune 2010
Empirical assessment of C++-like implementations for multiple inheritance
ICOOOLPS '10: Proceedings of the Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and SystemsArticle No.: 2, Pages 1–5https://doi.org/10.1145/1925801.1925803Multiple inheritance and dynamic loading increase the overhead yielded by object-oriented mechanisms like late binding. This article provides an empirical assessment of the implementation technique that can be used in this context, namely C++-like ...
- research-articleJune 2010
Towards a full multiple-inheritance virtual machine
ICOOOLPS '10: Proceedings of the Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and SystemsArticle No.: 1, Pages 1–6https://doi.org/10.1145/1925801.1925802Late binding and subtyping create run-time overhead for object-oriented languages, especially in the context of both multiple inheritance and dynamic loading, for instance for Java interfaces. It is, however, generally agreed that the efficiency of Java ...
- research-articleOctober 2009
Empirical assessment of object-oriented implementations with multiple inheritance and static typing
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applicationsPages 41–60https://doi.org/10.1145/1640089.1640093Object-oriented languages involve a threefold tradeoff between runtime efficiency, expressiveness (multiple inheritance), and modularity, i.e. open-world assumption (OWA). Runtime efficiency is conditioned by both the implementation technique and ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 10 - research-articleOctober 2009
CZ: multiple inheritance without diamonds
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applicationsPages 21–40https://doi.org/10.1145/1640089.1640092Multiple inheritance has long been plagued with the "diamond" inheritance problem, leading to solutions that restrict expressiveness, such as mixins and traits. Instead, we address the diamond problem directly, considering two difficulties it causes: ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 10 - ArticleJuly 2009
Relaxed Objects - Object Model for Context-Aware Applications
COMPSAC '09: Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 02Pages 225–230https://doi.org/10.1109/COMPSAC.2009.138It is sometimes necessary to operate on data having different sets of attributes. It can be caused by the fact that the data come from different sources or that we collected different amount of information about different real-world entities. In such ...