Summary: Shake is a monadic build system, and monadic build systems are more powerful than applicative ones. Several people have wondered if the dependencies in the Shake build system are monadic, and if Make dependencies are applicative. In this post I'll try and figure out what that means, and show that the claim is somewhat true. Gergo recently wrote a good primer on the concepts of Applicative