Concepts and their Use for Modelling Objects and References in Programming Languages
Alexandr Savinov

TL;DR
The paper introduces 'concepts', a new programming construct pairing reference and object classes, forming the basis of concept-oriented programming (CoP), which emphasizes indirect object access and hierarchical reference structures.
Contribution
It proposes a novel programming paradigm, concept-oriented programming, replacing traditional classes with concepts that manage object references and hierarchies.
Findings
Concepts enable hierarchical reference spaces with virtual addressing.
CoP supports reference resolution, complex references, and method interception.
The approach offers new mechanisms for object lifecycle and polymorphism.
Abstract
In the paper a new programming construct, called concept, is introduced. Concept is pair of two classes: a reference class and an object class. Instances of the reference classes are passed-by-value and are intended to represent objects. Instances of the object class are passed-by-reference. An approach to programming where concepts are used instead of classes is called concept-oriented programming (CoP). In CoP objects are represented and accessed indirectly by means of references. The structure of concepts describes a hierarchical space with a virtual address system. The paper describes this new approach to programming including such mechanisms as reference resolution, complex references, method interception, dual methods, life-cycle management inheritance and polymorphism.
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
TopicsAdvanced Software Engineering Methodologies · Advanced Database Systems and Queries · Model-Driven Software Engineering Techniques
