Conversion Typed Functions into Relational Form
Relational programming is an approach that allows you to execute programs in different "directions" to get different behaviors from one relational specification. The direct development of relational programs is a complex task, requiring the developer to have certain skills. However, in man...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Ivannikov Institute for System Programming of the Russian Academy of Sciences
2018-10-01
|
Series: | Труды Института системного программирования РАН |
Subjects: | |
Online Access: | https://ispranproceedings.elpub.ru/jour/article/view/481 |
id |
doaj-ed1ea8c1a3e84fa2888e1d5de2131ab9 |
---|---|
record_format |
Article |
spelling |
doaj-ed1ea8c1a3e84fa2888e1d5de2131ab92020-11-25T01:57:05Zeng Ivannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-01302456410.15514/ISPRAS-2018-30(2)-3481Conversion Typed Functions into Relational FormP. . Lozov0D. . Boulytchev1Санкт-Петербургский государственный университетСанкт-Петербургский государственный университетRelational programming is an approach that allows you to execute programs in different "directions" to get different behaviors from one relational specification. The direct development of relational programs is a complex task, requiring the developer to have certain skills. However, in many cases, the required relational program can be obtained from a certain functional program automatically. In this paper, the problem of automatic conversion of functional programs into relational ones is considered. The main contribution of the paper is the method of converting typed functions into a relational form, as well as proving its static and dynamic correctness. This method can be applied to typed programs of a general kind. To describe these programs, a compact ML-like language (a subset of OCaml) is used, equipped with a Hindley-Milner type system with let-polymorphism Also, the paper discusses the limitations of the proposed method, presents an implementation for a subset of the OCaml language, and evaluates the method on a number of realistic examples.https://ispranproceedings.elpub.ru/jour/article/view/481функциональное программированиереляционное программированиегенерация программ |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
P. . Lozov D. . Boulytchev |
spellingShingle |
P. . Lozov D. . Boulytchev Conversion Typed Functions into Relational Form Труды Института системного программирования РАН функциональное программирование реляционное программирование генерация программ |
author_facet |
P. . Lozov D. . Boulytchev |
author_sort |
P. . Lozov |
title |
Conversion Typed Functions into Relational Form |
title_short |
Conversion Typed Functions into Relational Form |
title_full |
Conversion Typed Functions into Relational Form |
title_fullStr |
Conversion Typed Functions into Relational Form |
title_full_unstemmed |
Conversion Typed Functions into Relational Form |
title_sort |
conversion typed functions into relational form |
publisher |
Ivannikov Institute for System Programming of the Russian Academy of Sciences |
series |
Труды Института системного программирования РАН |
issn |
2079-8156 2220-6426 |
publishDate |
2018-10-01 |
description |
Relational programming is an approach that allows you to execute programs in different "directions" to get different behaviors from one relational specification. The direct development of relational programs is a complex task, requiring the developer to have certain skills. However, in many cases, the required relational program can be obtained from a certain functional program automatically. In this paper, the problem of automatic conversion of functional programs into relational ones is considered. The main contribution of the paper is the method of converting typed functions into a relational form, as well as proving its static and dynamic correctness. This method can be applied to typed programs of a general kind. To describe these programs, a compact ML-like language (a subset of OCaml) is used, equipped with a Hindley-Milner type system with let-polymorphism Also, the paper discusses the limitations of the proposed method, presents an implementation for a subset of the OCaml language, and evaluates the method on a number of realistic examples. |
topic |
функциональное программирование реляционное программирование генерация программ |
url |
https://ispranproceedings.elpub.ru/jour/article/view/481 |
work_keys_str_mv |
AT plozov conversiontypedfunctionsintorelationalform AT dboulytchev conversiontypedfunctionsintorelationalform |
_version_ |
1724976418399453184 |