8 articles
← Back to all tagsAn isomorphism between two types A and B is a pair of functions to : A → B and from : B → A such that from(to(a)) = a and to(from(b)) = b for any value.
An all-too-often ignored truth runs through discussions about testing practices: you cannot test what hasn't been designed to be tested.
One of the most persistent misconceptions about Test-Driven Development is reducing it to a technique for writing tests.
Property-based testing (PBT), popularized by QuickCheck in Haskell in the late 1990s, reverses the traditional approach to unit testing.
The scenario is classic: a legacy function f, tangled, difficult to maintain, but whose behavior is correct (or at least accepted as such by system users).
The distinction between describing a program and executing it constitutes a fundamental shift in perspective in functional programming.
The fundamental Lean principle that a defect costs exponentially more as it progresses through the value chain applies with particular acuity to software development.
Trunk-Based Development (TBD) takes the logic of continuous flow to its conclusion: all developers commit directly to a single branch (trunk or main), multiple times per day, without long-lived featur...