Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA

У статті запропонована структура для вбудовування методів логічного програмування та програмування в обмеженнях у мову Scala шляхом побудови логічної предметно-орієнтованої мови навколо уніфікації типізованої логіки на основі монад. Відмінності в можливостях логічних механізмів можна виразити як під...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2025-01-18
Автор: Шевченко, Р.С.
Формат: Стаття
Мова:Ukrainian
Опубліковано: 2025-01-18
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/201452
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id nasplib_isofts_kiev_ua-123456789-201452
record_format dspace
spelling Шевченко, Р.С.
2025-01-17T22:07:56Z
2025-01-17T22:07:56Z
2025-01-18
https://nasplib.isofts.kiev.ua/handle/123456789/201452
004.424
У статті запропонована структура для вбудовування методів логічного програмування та програмування в обмеженнях у мову Scala шляхом побудови логічної предметно-орієнтованої мови навколо уніфікації типізованої логіки на основі монад. Відмінності в можливостях логічних механізмів можна виразити як підкласи монади уніфікації. Такий спосіб дає змогу генерувати одну реалізацію налаштовуваної уніфікації для вбудовування різних логічних систем у Scala та використовувати вбудовані сторонні проблемно-орієнтовані мови у логічних виразах. Монадичний прикладний програмний інтерфейс надає розробнику програми простий та інтуїтивно зрозумілий інструмент для реалізації власної логіки всередині уніфікації.
The paper proposes a framework for embedding logic programming and constraint programming methods in Scala by building a logical object-oriented language around the unification of typed logic based on monads. Two types of API are considered — high-level for language embeddings and low-level for organization of the bidirectional flow of data during the execution of logic programs. Differences in the capabilities of logical mechanisms can be expressed as subclasses of the class of unification monad types. This design makes it possible to share the implementation of custom unification between different frameworks and to use other languages’ embeddings in Scala from the declarative side. The monadic API provides the application developer with a simple and intuitive tool to implement custom logic within the unification. Our frameworks provide a clear representation of logical deduction: Scala code is only used for ad hoc unification. But the overall goal execution is an external interpretation that can implement different strategies. This design provides modularity and good integration with the rest of the ecosystem.
uk
Мови програмування
Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
Embedding a family of logic languages with custom monadic unification in Scala
Article
first published
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
title Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
spellingShingle Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
Шевченко, Р.С.
Мови програмування
title_short Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
title_full Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
title_fullStr Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
title_full_unstemmed Вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в SCALA
title_sort вбудування сімейства логічних мов із можливостями перепрограмування монадичної уніфікації в scala
author Шевченко, Р.С.
author_facet Шевченко, Р.С.
topic Мови програмування
topic_facet Мови програмування
publishDate 2025-01-18
language Ukrainian
format Article
title_alt Embedding a family of logic languages with custom monadic unification in Scala
description У статті запропонована структура для вбудовування методів логічного програмування та програмування в обмеженнях у мову Scala шляхом побудови логічної предметно-орієнтованої мови навколо уніфікації типізованої логіки на основі монад. Відмінності в можливостях логічних механізмів можна виразити як підкласи монади уніфікації. Такий спосіб дає змогу генерувати одну реалізацію налаштовуваної уніфікації для вбудовування різних логічних систем у Scala та використовувати вбудовані сторонні проблемно-орієнтовані мови у логічних виразах. Монадичний прикладний програмний інтерфейс надає розробнику програми простий та інтуїтивно зрозумілий інструмент для реалізації власної логіки всередині уніфікації. The paper proposes a framework for embedding logic programming and constraint programming methods in Scala by building a logical object-oriented language around the unification of typed logic based on monads. Two types of API are considered — high-level for language embeddings and low-level for organization of the bidirectional flow of data during the execution of logic programs. Differences in the capabilities of logical mechanisms can be expressed as subclasses of the class of unification monad types. This design makes it possible to share the implementation of custom unification between different frameworks and to use other languages’ embeddings in Scala from the declarative side. The monadic API provides the application developer with a simple and intuitive tool to implement custom logic within the unification. Our frameworks provide a clear representation of logical deduction: Scala code is only used for ad hoc unification. But the overall goal execution is an external interpretation that can implement different strategies. This design provides modularity and good integration with the rest of the ecosystem.
url https://nasplib.isofts.kiev.ua/handle/123456789/201452
work_keys_str_mv AT ševčenkors vbuduvannâsímeistvalogíčnihmovízmožlivostâmipereprogramuvannâmonadičnoíunífíkacíívscala
AT ševčenkors embeddingafamilyoflogiclanguageswithcustommonadicunificationinscala
first_indexed 2025-12-07T18:32:54Z
last_indexed 2025-12-07T18:32:54Z
_version_ 1850875444532871168