Library patterns: Why frameworks are evil - Tomas Petricek

This article continues my mini-series on functional library design. Previously, I discussed why your library should provide multiple levels of abstraction. Today, we look at composability and avoiding callbacks. These two often go together - frameworks are based on callbacks and are not composable, while good libraries avoid callbacks and compose well.

Read at http://tomasp.net/blog/2015/library-frameworks/