RUS  ENG
Полная версия
ЖУРНАЛЫ // Информатика, телекоммуникации и управление // Архив

Информатика, телекоммуникации и управление, 2023, том 16, выпуск 1, страницы 46–59 (Mi ntitu320)

Программное обеспечение вычислительных, телекоммуникационных и управляющих систем

Flovver: a graphical functional language with a compiler focused on recursion optimization

[Flovver: графический функциональный язык с ориентированным на оптимизацию рекурсии компилятором]

A. A. Zavyalova, S. M. Staroletovb

a Novosibirsk State University
b Altai State Technical University

Аннотация: Визуальные языки отражают многие черты текстовых языков программирования, однако в существующих решениях визуального программирования не хватает функций высшего порядка и рекурсии. В статье описан дизайн визуального языка Flovver, реализующего концепции графического функционального программирования. Предложен язык программирования, поддерживающий рекурсивные вычисления более высокого порядка. Язык принимает программы в специально разработанной нотации с семантикой, объясняемой с использованием лямбда-исчисления. Основной синтаксической единицей такой программы является функция, которая может определенным образом комбинироваться с другими функциями. Представлен комбинатор неподвижной точки, помогающий определить рекурсивное поведение в данном графическом функциональном языке. С целью получения вычислительно-эффективных программ разработан и реализован компилятор, способный оптимизировать рекурсивные программы. Рассмотрена генерация кода в программу на JavaScript с использованием формы статического одиночного присваивания (SSA). Предложен эскиз графической интегрированной среды для разработки программ во Flovver с использованием заранее определенных блоков и представлен сгенерированный SSA-подобный код. Подход демонстрируется на известных рекурсивных программах вычисления факториала и последовательности Фибоначчи.

Ключевые слова: язык программирования, графический язык, функциональный язык, оптимизирующий компилятор, рекурсия.

УДК: 004.43

Поступила в редакцию: 18.02.2023

Язык публикации: английский

DOI: 10.18721/JCSTCS.16104



© МИАН, 2025