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...
Gespeichert in:
| Veröffentlicht in: | Modelirovanie i analiz informacionnyh sistem Jg. 30; H. 1; S. 40 - 62 |
|---|---|
| Hauptverfasser: | , |
| 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 |