Library patterns: Why frameworks are evil
https://tomasp.net/blog/2015/library-frameworks/
·
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.