Розробка HTTP-сервісу на функційній предметно-орієнтованій мовіпрограмування на базі вільних монад
DOI:
https://doi.org/10.18523/2617-3808.2018.33-39Ключові слова:
функційне програмування, вільні монади, предметно-орієнтована мова програмування, чисті функції, функційний веб-сервісАнотація
Розробка вебсервісів чистим функційним способом є нетривіальною задачею через те, що там зазвичай наявні виклики бази даних на всіх етапах обробки запиту сервера, що ускладнює виокремлення функційного ядра коду, а це є основним принципом розробки функційної архітектури програми. Цю публікацію присвячено вирішенню цієї проблеми вільними монадами, за допомогою яких код, що працює зі змінними даними, можна розділити на функційне представлення імперативних операцій, що визначаються створеними на базі вільних монад предметноорієнтованими мовами програмування (англ. DomainSpecific Language, або DSL), та інтерпретатор, що власне виконує ці операції. У статті наведено основні принципи використання вільних монад та їхні переваги в контексті задачі розробки HTTPсервісу.
Посилання
- 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].
- Free Monad. (n.d.). In Typelevel online. Retrieved from https://typelevel.org/cats/datatypes/freemonad.html
- O’Sullivan B. & Stewart, D. & Goerzen, J. (2009). Real World Haskell. Sebastopol, USA : O’Reilly.
- Petricek, T. & Syme, D. (2014). The F# Computation Expression Zoo. In: Proceedings of PADL, PADL 2014, pp. 33–48. Cham, Switzerland : Springer.
- Typeclassopedia. (n.d.). In HaskellWiki online. — Retrieved from https://wiki.haskell.org/Typeclassopedia
##submission.downloads##
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2018 Oleksii Savenkov
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Автори, які публікуються у цьому журналі, погоджуються з такими умовами:
а) Автори зберігають за собою авторські права на твір на умовах ліцензії CC BY 4.0 Creative Commons Attribution International License, котра дозволяє іншим особам вільно поширювати (копіювати і розповсюджувати матеріал у будь-якому вигляді чи форматі) та змінювати (міксувати, трансформувати, і брати матеріал за основу для будь-яких цілей, навіть комерційних) опублікований твір на умовах зазначення авторства.
б) Журнал дозволяє автору (авторам) зберігати авторські права без обмежень.
в) Автори мають право укладати самостійні додаткові угоди щодо поширення твору (наприклад, розміщувати роботу в електронному репозитарії), за умови збереження посилання на його першу публікацію. (Див. Політика Самоархівування)
г) Політика журналу дозволяє розміщення авторами в мережі Інтернет (наприклад, у репозитаріях) тексту статті, як до подання його до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).