Treffer: Integrating full-featured enums into Go programming language ; Інтеграція повнофункціональних перерахувань у мову програмування Go

Title:
Integrating full-featured enums into Go programming language ; Інтеграція повнофункціональних перерахувань у мову програмування Go
Source:
Актуальні проблеми автоматизації та інформаційних технологій; Том 27 (2023) ; Актуальные проблемы автоматизации и инфорационных технологий; Том 27 (2023) ; Actual problems of automation and information technology; Том 27 (2023) ; 2313-5301 ; 2312-119X ; 10.15421/43232701
Publisher Information:
Oles Honchar Dnipro National University
Publication Year:
2023
Collection:
Actual problems of automation and information technology (E-Journal) / Актуальні проблеми автоматизації та інформаційних технологій
Document Type:
Fachzeitschrift article in journal/newspaper
File Description:
application/pdf
Language:
Ukrainian
DOI:
10.15421/432301
Rights:
Авторы, которые публикуются в данном журнале, соглашаются со следующими условиями:1. Авторы сохраняют за собой авторские права на работу и передают журналу право первой публикации вместе с работой, одновременно лицензируя ее на условиях Creative Commons Attribution License, которая позволяет другим распространять данную работу с обязательным указанием авторства данной работы и ссылкой на оригинальную публикацию в этом журнале.2. Авторы сохраняют право заключать отдельные, дополнительные контрактные соглашения на неэксклюзивное распространение версии работы, опубликованной этим журналом (например, разместить ее в университетском хранилище или опубликовать ее в книге), со ссылкой на оригинальную публикацию в этом журнале. ; Authors who publish with this journal agree to the following terms:1. Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.2. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal. ; Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:1. Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.2. Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
Accession Number:
edsbas.47FC3909
Database:
BASE

Weitere Informationen

In the constantly evolving landscape of programming languages, each offering unique features and advantages, the integration of new functionalities into these languages often presents a challenge. This article focuses on the incorporation of full-featured enums, similar to those found in languages like Rust and Haskell, into the Go programming language. However, instead of directly modifying Go's core, the approach taken here involves transpilation – transforming a new Go dialect, named GoNext, into standard Go code. ; У середовищі cучасних мов програмування, які постійно розвиваються і кожна з яких пропонує свої унікальні функції та переваги, інтеграція нових функцій у ці мови часто є значною проблемою. Ця стаття присвячена впровадженню повнофункціональних enum-ів, подібних до тих, які є в таких мовах, як Rust і Haskell, у мову програмування Go. Однак замість прямої модифікації ядра Go, використовується підхід, що передбачає транспіляцію, а саме створення нового діалекту мови Go під назвою GoNext і перетворення його кода у стандартний код Go. Існують різні методи імплементації мов програмування, кожний з яких має свої переваги та недоліки. Можна імплементувати мову програмування повністю з нуля, починаючи з написання парсера, закінчуючи генератором машиного коду. Можна використовувати такі існуючі інструменти, як Low-Level Virtual Machine або Java Virtual Machine. Ця стаття фокусується на демонстрації ще одного методу – транспіляції, або перетворення коду однієї мови програмування у код іншої мови програмуванні. У якості прикладу можливостей транспіляції саме у мову програмування Go у цій статті розглядається проєктування і імплементація повнофункціональних enum-ів у діалекті GoNext, починаючи з визначення їх можливого синтаксису, представлення їх в пам’яті, опису можливостей і закінчуючи питаннями сумісності запропонованих enum-ів з існуючим кодом на Go та доцільністю їх реалізації з точки зору ефекту на екосистему бібліотек Go. Спочатку пропонується реалізація enum-ів, яка використовується у більшості ...