This part covers the ZIO module pattern. ZIO uses a module pattern that a layer depends on the layers imediately below it without knowing their interal implementations. A module consists a set of methods that addresses one oncern. ZIO uses modules to create different application layers depending on each other and allows flexible composition for testing and changing.
Study notes of serveral videos.
This is a study note of ZIO: a library for asynchronous and concurrent programming based on pure functional programming. This part covers the getting started and motivation of ZIO. It is based on Getting Started, the background, zio history and the video of Magic Tricks with Functional Effects.
The KISS definition in wikipedia is: “an acronym for “keep it simple stupid” or “keep it stupid simple”, is a design principle noted by the U.S. Navy in 1960. The KISS principle states that most systems work best if they are kept simple rather than made complicated; therefore, simplicity should be a key goal in design, and unnecessary complexity should be avoided”. This article summrizes its meaning in functional programming.
Study note of the Monad concept in Scala. It is based onthe book: Functional Programming, Simplified (FPS). As suggested by the author, one has to understand the state monad to really understand the monad concept. It helps to implement a lazy IO monad using the state monad concepts. Monad transformer is the last piece of the puzzle.
Study note of the chapter 22 of the book: Programming In Scala, 4th Edition.