| Русский Русский | English English |
   
Главная
20 | 12 | 2024
10.14489/vkit.2021.06.pp.049-056

DOI: 10.14489/vkit.2021.06.pp.049-056

Конюхова О. В., Кравцова Э. А., Ужаринский А. Ю.
СОЗДАНИЕ ИНТЕРАКТИВНЫХ ПРИЛОЖЕНИЙ НА ОСНОВЕ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ ЯЗЫКА ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ HASKELL И СРЕДЫ РАЗРАБОТКИ Qt
(с. 49-56)

Аннотация. Рассматривается один из возможных вариантов программной реализации подхода к разработке интерактивных приложений с графическим пользовательским интерфейсом на основе совместного использования языка функционального программирования Haskell и среды разработки Qt Creator. Язык Haskell используется для выполнения вычислений, среда Qt Creator – для разработки пользовательского интерфейса.

Ключевые слова:  реализация алгоритмов на Haskell; интерактивные приложения; графический интерфейс в Haskell; язык С++; среда разработки Qt Creator; совместное использование Haskell и Qt Creator.

 

Konyuhova O. V., Kravtsova E. A., Uzharinskiy A. Yu.
INTERACTIVE APPLICATION DEVELOPMENT BASED ON THE JOINT USE OF THE HASKELL FUNCTIONAL PROGRAMMING LANGUAGE AND Qt FRAMEWORK
(pp. 49-56)

Abstract. The Haskell language allows you to efficiently implement computational algorithms. Higher-order functions, composition of functions, lazy calculations allow you to create functional programs with a clear structure that most fully reflect the logic of the algorithm being implemented. This allows you to get programs that are more compact and more flexible to make changes. Also, the use of pure functions allows you to avoid errors associated with the influence of the “side effect”. The I / O operations required for user interaction use special constructs and functions with a “side effect”, which violates the functional purity of the Haskell language. The approach considered in the article involves the allocation of two parts in an interactive application: interface (front-end) and computing (back-end), interacting with each other by exchanging parameters. The interface part of the application organizes the interaction with the user through the graphical user interface, and the computational part provides the algorithm implementation. To implement front-end is proposed to use the Qt Creator  framework with C++ language, and to implement the back-end – the Haskell language. Using a shared address space (files) for data exchange minimizes the impact of the “outside world” on the Haskell program. We also consider a possible way of the software implementation of this approach and example of its applying  to develop an application for solve the k-shortest path problem in a graph.

Keywords: Implementation of algorithms in Haskell; Interactive applications; Graphical interface in Haskell; C++ language; Qt Creator framework; Sharing of Haskell and Qt Creator.

Рус

О. В. Конюхова, Э. А. Кравцова, А. Ю. Ужаринский (Орловский государственный университет имени И. С. Тургенева, Орел, Россия) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript  

Eng

O. V. Konyuhova, E. A. Kravtsova, A. Yu. Uzharinskiy (Orel State University named after I. S. Turgenev, Orel, Russia) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript  

Рус

1. Haskell Platform [Электронный ресурс]. URL: http://haskell.org (дата обращения: 19.05.2021).
2. Haskell GUI – инструменты программирования [Электронный ресурс]. URL: http://anton-k.github.io/ru-haskell-book/files/ru-haskell-book.pdf (дата обращения: 19.05.2021).
3. Конюхова О. В., Кравцова Э. А., Лукьянов П. В. Программная реализация на языке функционального программирования Hakell алгоритма двойного поиска k кратчайших путей // Информационные системы и технологии. 2020. № 3. С. 64 – 73.
4. Хьюз Дж. Cильные стороны функционального программирования [Электронный ресурс]. URL: http://www.softcraft.ru/paradigm/fp/whyfp/ (дата обращения: 19.05.2021).
5. Уроки по Qt 5 [Электронный ресурс]. URL: https://ravesli.com/ (дата обращения: 19.05.2021).

Eng

1. Haskell Platform. Available at: http://haskell.org (Accessed: 19.05.2021).
2. Haskell GUI - programming tools. Available at: http://anton-k.github.io/ru-haskell-book/files/ru-haskell-book.pdf (Accessed: 19.05.2021). [in Russian language]
3. Konyuhova O. V., Kravtsova E. A., Luk'yanov P. V. (2020). Software implementation in the functional programming language Hakell of the double k shortest path search algorithm. Informatsionnye sistemy i tekhnologii, (3), pp. 64 – 73. [in Russian language]
4. H'yuz Dzh. Strengths of functional programming. Available at: http://www.softcraft.ru/paradigm/fp/whyfp/ (Accessed: 19.05.2021). [in Russian language]
5. Qt 5 tutorials. Available at: https://ravesli.com/ (Accessed: 19.05.2021). [in Russian language]

Рус

Статью можно приобрести в электронном виде (PDF формат).

Стоимость статьи 450 руб. (в том числе НДС 18%). После оформления заказа, в течение нескольких дней, на указанный вами e-mail придут счет и квитанция для оплаты в банке.

После поступления денег на счет издательства, вам будет выслан электронный вариант статьи.

Для заказа скопируйте doi статьи:

10.14489/vkit.2021.06.pp.049-056

и заполните  форму 

Отправляя форму вы даете согласие на обработку персональных данных.

.

 

Eng

This article  is available in electronic format (PDF).

The cost of a single article is 450 rubles. (including VAT 18%). After you place an order within a few days, you will receive following documents to your specified e-mail: account on payment and receipt to pay in the bank.

After depositing your payment on our bank account we send you file of the article by e-mail.

To order articles please copy the article doi:

10.14489/vkit.2021.06.pp.049-056

and fill out the  form  

 

.

 

 

 
Rambler's Top100 Яндекс цитирования