This is a study note of Mill: a new Scala/Java build tool. The motivation is to use the functional programming concept and good ideas from Bazel to make build easy.
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.