Розробка HTTP-сервісу на функційній предметно-орієнтованій мовіпрограмування на базі вільних монад

Автор(и)

  • Oleksii Savenkov Національний університет «Києво-Могилянська академія», Ukraine

DOI:

https://doi.org/10.18523/2617-3808.2018.33-39

Ключові слова:

функційне програмування, вільні монади, предметно-орієнтована мова програмування, чисті функції, функційний веб-сервіс

Анотація

Розробка веб­сервісів чистим функційним способом є нетривіальною задачею через те, що там зазвичай наявні виклики бази даних на всіх етапах обробки запиту сервера, що ускладнює виокремлення функційного ядра коду, а це є основним принципом розробки функційної архітектури програми. Цю публікацію присвячено вирішенню цієї проблеми вільними монадами, за допомогою яких код, що працює зі змінними даними, можна розділити на функційне представлення імперативних операцій, що визначаються створеними на базі вільних монад предметно­орієнтованими мовами програмування (англ. Domain­Specific Language, або DSL), та інтерпретатор, що власне виконує ці операції. У статті наведено основні принципи використання вільних монад та їхні переваги в контексті задачі розробки HTTP­сервісу.

Біографія автора

Oleksii Savenkov, Національний університет «Києво-Могилянська академія»

Студент 4 курсу бакалаврської програми «Програмна інженерія» факультету інформатики

Посилання

  1. Kashyrets, V., Kinakh, Ya. I. (2013) Perevahy funktsionalnoi paradyhmy pry rozrobtsi prohramnoho zabezpechennia. Materialy Ⅲ naukovo-tekhnichnoi konferentsii "Informatsiini modeli, systemy ta tekhnolohii" (Ternopil, April 24, 2013), pp. 41 [in Ukrainian].
  2. Free Monad. (n.d.). In Typelevel online. Retrieved from https://typelevel.org/cats/datatypes/freemonad.html
  3. O’Sullivan B. & Stewart, D. & Goerzen, J. (2009). Real World Haskell. Sebastopol, USA : O’Reilly.
  4. Petricek, T. & Syme, D. (2014). The F# Computation Expression Zoo. In: Proceedings of PADL, PADL 2014, pp. 33–48. Cham, Switzerland : Springer.
  5. Typeclassopedia. (n.d.). In HaskellWiki online. — Retrieved from https://wiki.haskell.org/Typeclassopedia

##submission.downloads##

Як цитувати

[1]
O. Savenkov, «Розробка HTTP-сервісу на функційній предметно-орієнтованій мовіпрограмування на базі вільних монад», NRPCOMP, т. 1, с. 33–39, Жов 2018.