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.
Library patterns Why frameworks are evil This article is a follow up to my previous blog post about functional library design , but you do not need to read the previous one, because I'll focus on a different topic. In the previous article, I wrote about a couple of principles that I find useful when designing libraries in a functional style. This follows from my experience with building F# libraries, but the ideas are quite general and can be useful in any programming language. Previously, I wrote how multiple layers of abstraction let you build libraries that make 80% of scenarios easy while
Explore this link on the map →related reading
- combinators in Rubymooreniemi.github.io
- It's hard to write code for computers, but it's even harder to write code for humans · Erik Bernhardssonerikbern.com
- A practical introduction to functional programmingmaryrosecook.com
- The cost of convenience — surma.devsurma.dev
- How to write complex softwaregrantslatton.com
- An introduction to functional programmingcodewords.recurse.com
- Clean Coder Blogblog.cleancoder.com
- A Software Library with No Codedbreunig.com
- Repeat yourself, do more than one thing, and... — programming is terribleprogrammingisterrible.com
- Design system components, recipes, and snowflakes | Brad Frostbradfrost.com
- What Async Promised and What it Delivered — Causalitycausality.blog
- Multiple Layers of Abstraction in Design Systems | Spotify Engineeringengineering.atspotify.com