CATEGORY THEORY AS A BASIS FOR DEVELOPING BUSINESS WEB APPLICATIONS
DOI:
https://doi.org/10.24867/09BE17NovakovicKeywords:
functional programming, category theory, functor, monad, web application, ScalaAbstract
Purpose of this paper is to show how one can use strict mathematical formalisms as a base for developing production ready business web applications. Consequently, first part of this paper, titled theoretical foundations, goes through parts of fundamental mathematics, specificaly category theory. Second part of the paper, overview of the state of the field, shows how category theory terms translate to expressions of programming languages. Examples are presented in programming language Scala, primarily because of it‘s popularity. Third part of this paper presents use case in which ilustrative business web application for student examination is developed.
References
[1] Chiusano, P., & Bjarnason, R. (2014). Functional programming in Scala. Manning Publications Co.
[2] Adámek, J., Herrlich, H., & Strecker, G. E. (2004). Abstract and concrete categories. The joy of cats.
[3] Odersky, M., Altherr, P., Cremet, V., Emir, B., McDirmid, S., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., & Zenger, M. (2006). An Overview of the Scala Programming Language Second Edition.
[4] Noel, W., & Dave, G. (2017). Scala with Cats.
[5] Lipovaca, M. (2011). Learn you a haskell for great good!: a beginner’s guide.
[6] „ZIO.dev. Summary.” URL: https://zio.dev/docs/overview/overview_index (pristupljeno u februaru 2020.)
[2] Adámek, J., Herrlich, H., & Strecker, G. E. (2004). Abstract and concrete categories. The joy of cats.
[3] Odersky, M., Altherr, P., Cremet, V., Emir, B., McDirmid, S., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., & Zenger, M. (2006). An Overview of the Scala Programming Language Second Edition.
[4] Noel, W., & Dave, G. (2017). Scala with Cats.
[5] Lipovaca, M. (2011). Learn you a haskell for great good!: a beginner’s guide.
[6] „ZIO.dev. Summary.” URL: https://zio.dev/docs/overview/overview_index (pristupljeno u februaru 2020.)
Downloads
Published
2020-08-27
Issue
Section
Electrotechnical and Computer Engineering