Детальная информация

Название Flovver: a graphical functional language with a compiler focused on recursion optimization // Информатика, телекоммуникации и управление. – 2023. – Vol. 16, № 1. — С. 46-59
Авторы Zavyalov A. A. ; Staroletov S. M.
Выходные сведения 2023
Коллекция Общая коллекция
Тематика Вычислительная техника ; Языки программирования ; functional programming languages ; graphical functional languages ; compilers ; compiler recursion ; optimizing compilers ; lambda-calculus ; graphical programming languages ; функциональные языки программирования ; графические функциональные языки ; компиляторы ; рекурсия компиляторов ; оптимизирующие компиляторы ; лямбда-исчисления ; графические языки программирования
УДК 004.43
ББК 32.973-018.1
Тип документа Статья, доклад
Тип файла PDF
Язык Английский
DOI 10.18721/JCSTCS.16104
Права доступа Свободный доступ из сети Интернет (чтение, печать, копирование)
Ключ записи RU\SPSTU\edoc\71278
Дата создания записи 28.06.2023

Разрешенные действия

Прочитать Загрузить (1,0 Мб)

Группа Анонимные пользователи
Сеть Интернет

Visual languages reflect many parts of textual programming languages, however, the existing visual programming solutions lack higher-order functions and recursion concepts. The article introduces the design of a visual language Flovver, which implements the concepts of graphical functional programming. We propose a programming language that supports higher-order and recursive computations. The language accepts programs in a specially designed notation with semantics which we explain in this paper using the lambda calculus. The syntactic unit of such a program is a function that can be combined in a specific way with other functions. We present a fixpoint combinator that helps to specify a recursive behavior in the graphical functional language. To obtain calculate-effective programs, we design and implement a compiler for it, which is capable to optimize recursive programs. We also discuss code generation to JavaScript using the static single assignment (SSA) form. Finally, we propose a sketch of graphical integrated environment to design programs in Flovver using pre-defined blocks, and we present the generated SSA-like code in the paper. The approach is demonstrated on well-known Factorial and Fibonacci recursive programs.

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

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Прочитать Печать Загрузить
Интернет Все

Количество обращений: 250 
За последние 30 дней: 22

Подробная статистика