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

Full description

Bibliographic Details
Main Authors: P. . Lozov, D. . Boulytchev
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