In this article we have been able to see how, thanks to libraries such as ZIO, we can implement complete applications using the functional programming paradigm, just by writing descriptions of interactions with the outside world (called functional effects) that can be combined with each other to form more complex descriptions. We have seen that ZIO allows us to create, combine and transform functional effects with each other in various ways, although we certainly have not seen all the possibilities that ZIO offers. However, I hope this will serve as a boost to continue exploring the fascinating ecosystem that is being built around this library.
Something important that we have not done in this article is to write unit tests for our application, and that will be precisely the topic to be discussed in a following article, where we will see how it is also possible to write unit tests, in a purely functional way, using the ZIO Test library.
Finally, if you want to learn more about ZIO, you can take a look at the following resources: