C Language Extension to Support Procedural-Parametric Polymorphism

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Modelirovanie i analiz informacionnyh sistem Jg. 30; H. 1; S. 40 - 62
Hauptverfasser: Legalov, Alexander I., Kosov, Pavel V.
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Yaroslavl State University 28.04.2023
Schlagworte:
ISSN:1818-1015, 2313-5417
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
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.
AbstractList 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.
Author Kosov, Pavel V.
Legalov, Alexander I.
Author_xml – sequence: 1
  givenname: Alexander I.
  orcidid: 0000-0002-5487-0699
  surname: Legalov
  fullname: Legalov, Alexander I.
  organization: Higher school of Economics, National research University
– sequence: 2
  givenname: Pavel V.
  orcidid: 0000-0002-9035-312X
  surname: Kosov
  fullname: Kosov, Pavel V.
  organization: Higher school of Economics, National research University
BookMark eNo90F1LwzAUxvEgE5xzn8F-gWhOkibppY75AgMH7j6c5mVW2makHbhvr9tkVwceDr-L_y2Z9KkPhNwDewDDy_IRDBgKDErKGRcUqGRU8Ssy5QIELSXoCZlenm7IfBiamkmpSyFKPSXPi2KF_XaP21Asf8bQD03qizEVn_vdLuWxWOfkgt9nbOkaM3ZhzI0r1qk9dCnvvpqhuyPXEdshzP_vjGxelpvFG119vL4vnlbUgRKcytqVlYyeOXQqhuA58qiQozDGOJCRS-2rGivNtefGV1EGiA6Al8yJWszI-5n1Cb_tLjcd5oNN2NjTkPLWYh4b1wYLQvmqUsqhcVL52kBVAzM6sCqC1Phn6bPlchqGHOLFA2ZPYe2xmT02s8ewFqxkVnHxC9nDbXs
Cites_doi 10.1007/BF01806960
10.1007/978-1-4613-9067-1
10.1007/978-1-4842-4143-1
10.1007/978-1-4842-7355-5
10.1002/9781119421276
ContentType Journal Article
DBID AAYXX
CITATION
DOA
DOI 10.18255/1818-1015-2023-1-40-62
DatabaseName CrossRef
DOAJ Directory of Open Access Journals
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

Database_xml – sequence: 1
  dbid: DOA
  name: DOAJ Directory of Open Access Journals
  url: https://www.doaj.org/
  sourceTypes: Open Website
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2313-5417
EndPage 62
ExternalDocumentID oai_doaj_org_article_136d9966ca8c46db819b1087e09f147a
10_18255_1818_1015_2023_1_40_62
GroupedDBID 5VS
642
AAFWJ
AAYXX
ADBBV
ALMA_UNASSIGNED_HOLDINGS
BCNDV
CITATION
GROUPED_DOAJ
KQ8
ID FETCH-LOGICAL-c1632-4bc594fd0cac6feed2a2f6a2a3888c14f247d9ba9727d28d9f4e1fc11250c3b3
IEDL.DBID DOA
ISSN 1818-1015
IngestDate Fri Oct 03 12:46:16 EDT 2025
Sat Nov 29 02:26:07 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 1
Language English
License https://www.mais-journal.ru/jour/about/editorialPolicies#openAccessPolicy
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c1632-4bc594fd0cac6feed2a2f6a2a3888c14f247d9ba9727d28d9f4e1fc11250c3b3
ORCID 0000-0002-9035-312X
0000-0002-5487-0699
OpenAccessLink https://doaj.org/article/136d9966ca8c46db819b1087e09f147a
PageCount 23
ParticipantIDs doaj_primary_oai_doaj_org_article_136d9966ca8c46db819b1087e09f147a
crossref_primary_10_18255_1818_1015_2023_1_40_62
PublicationCentury 2000
PublicationDate 2023-04-28
PublicationDateYYYYMMDD 2023-04-28
PublicationDate_xml – month: 04
  year: 2023
  text: 2023-04-28
  day: 28
PublicationDecade 2020
PublicationTitle Modelirovanie i analiz informacionnyh sistem
PublicationYear 2023
Publisher Yaroslavl State University
Publisher_xml – name: Yaroslavl State University
References ref13
ref12
ref23
ref15
ref14
ref20
ref11
ref22
ref10
ref21
ref2
ref1
ref17
ref16
ref19
ref18
ref8
ref7
ref9
ref4
ref3
ref6
ref5
References_xml – ident: ref13
– ident: ref2
– ident: ref12
  doi: 10.1007/BF01806960
– ident: ref5
– ident: ref1
  doi: 10.1007/978-1-4613-9067-1
– ident: ref7
– ident: ref20
– ident: ref21
– ident: ref22
– ident: ref23
– ident: ref4
  doi: 10.1007/978-1-4842-4143-1
– ident: ref6
  doi: 10.1007/978-1-4842-7355-5
– ident: ref9
– ident: ref8
– ident: ref19
– ident: ref18
– ident: ref3
  doi: 10.1002/9781119421276
– ident: ref16
– ident: ref10
– ident: ref11
– ident: ref17
– ident: ref15
– ident: ref14
SSID ssib044753357
ssib009050552
ssib059259322
ssib006738434
ssj0001879522
Score 2.217562
Snippet Software development is often about expanding functionality. To improve reliability in this case, it is necessary to minimize the change in previously written...
SourceID doaj
crossref
SourceType Open Website
Index Database
StartPage 40
SubjectTerms compilation
evolutionary software development
multiple polymorphism
polymorphism
procedural-parametric programming
programming languages
Title C Language Extension to Support Procedural-Parametric Polymorphism
URI https://doaj.org/article/136d9966ca8c46db819b1087e09f147a
Volume 30
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVAON
  databaseName: DOAJ Directory of Open Access Journals
  customDbUrl:
  eissn: 2313-5417
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001879522
  issn: 1818-1015
  databaseCode: DOA
  dateStart: 20120101
  isFulltext: true
  titleUrlDefault: https://www.doaj.org/
  providerName: Directory of Open Access Journals
– providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2313-5417
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssib044753357
  issn: 1818-1015
  databaseCode: M~E
  dateStart: 20000101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV09T8MwELUQYmDhG_EtD6xW_ZXEHgEVMZSqQ4W6RY7tSEjQICgIFn47d05ahYmFJYOVRMr5ovfOPr9HyGV0OuRVOvaRKQb1l2bWG8GAKQCamxhMEtJ-GBXjsZnN7KRn9YU9Ya08cBu4gVB5QE7unfE6DxUgWCW4KSK3tdBFoka8sL1iqt1fVKYvfGbRsC1bATmq3KmeEFtmoQpQnZBdWp1BD-60BQEIiPqnIuuaw6CiygarQYbu46kKY7n8BW09B4AEVbc7ZKvjmPSq_bZdshbne2R76d9Au995n1zf0FG3XEmHn6mVvZnTRUPR6hNoOU2nCAIKc7CJwy4ulPOnk-bp67mB-Xl8ez4g09vh9OaOdZ4KzAPzkkxXPrO6Dtw7n9cAkNLJOnfSKSiFvdC11EWwlbPAa4I0wdY6itoDK8u4V5U6JOvzZh6PCJWV9Lnz1nF4RhvuvCtyGwrho4rRqmPCl9EoX1rljBIrDgxgiQHE7rKsxACWosQOM3lMrjFqq9tR-joNQEKUXUKUfyXEyX-85JRsppnlmklzRtYXr-_xnGz4j8Xj2-tFyjW43n8PfwDTQ809
linkProvider Directory of Open Access Journals
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=C+Language+Extension+to+Support+Procedural-Parametric+Polymorphism&rft.jtitle=Modelirovanie+i+analiz+informacionnyh+sistem&rft.au=Legalov%2C+Alexander+I.&rft.au=Kosov%2C+Pavel+V.&rft.date=2023-04-28&rft.issn=1818-1015&rft.eissn=2313-5417&rft.volume=30&rft.issue=1&rft.spage=40&rft.epage=62&rft_id=info:doi/10.18255%2F1818-1015-2023-1-40-62&rft.externalDBID=n%2Fa&rft.externalDocID=10_18255_1818_1015_2023_1_40_62
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1818-1015&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1818-1015&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1818-1015&client=summon