RUS  ENG
Full version
JOURNALS // Modelirovanie i Analiz Informatsionnykh Sistem // Archive

Model. Anal. Inform. Sist., 2023 Volume 30, Number 1, Pages 40–62 (Mi mais790)

Theory of computing

C language extension to support procedural-parametric polymorphism

A. I. Legalov, P. V. Kosov

Higher school of Economics, National research University, 20, Myasnitskaya str., Moscow 101000, Russia

Abstract: Software development is often about expanding functionality. To improve reliability in this case, it is necessary to minimize the change in previously written code. For instrumental support of the evolutionary development of programs, a procedural-parametric programming paradigm was proposed, which made it possible to increase the capabilities of the procedural approach. This allows to extend both data and functions painlessly. The paper considers the inclusion of procedural-parametric programming in the C language. Additional syntactic constructions are proposed to support the proposed approach. These constructions include: parametric generalizations, specializations of generalizations, generalizing functions, specialization handlers. Their semantics, possibilities and features of technical implementation are described. To check the possibilities of using this approach, models of procedural-parametric constructions in the C programming language were built. The example in the article demonstrates the flexible extension of the program and support of multiple polymorphism.

Keywords: programming languages, compilation, procedural-parametric programming, polymorphism, multiple polymorphism, evolutionary software development.

UDC: 004.4’42, 004.43

MSC: 68N15, 68Q55

Received: 10.11.2022
Revised: 03.02.2023
Accepted: 08.02.2023

DOI: 10.18255/1818-1015-2023-1-40-62



© Steklov Math. Inst. of RAS, 2026