13 articles
← Back to all tagsAlexis King's article, published in 2019, crystallized an intuition that many functional programmers carried without necessarily knowing how to articulate it.
An aggregate in Domain-Driven Design is fundamentally a guardian of invariants: it encapsulates a cluster of entities and value objects whose coherence must be maintained at each transaction.
An 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.
Raw data has no intrinsic meaning: it's merely a sequence of 1s and 0s, an inert structure, an arrangement of symbols. It's interpretation that confers meaning.
The distinction between describing a program and executing it constitutes a fundamental shift in perspective in functional programming.
Embedded domain-specific languages (embedded DSLs) allow building mini-languages within a host language, inheriting its syntax, type system, and tooling.
Partial application and currying transform a function with multiple arguments into a chain of single-argument functions.
Greg Young, in his foundational documents on CQRS, introduces an enlightening distinction between two interface styles.
A persistent confusion in the industry consists of mixing three fundamentally independent dimensions:
Seiton, the second pillar of 5S, literally means "to arrange" or "to put in order." In Toyota factories, this principle translates to a simple rule: every tool must be within arm's reach of the operat...
During World War II, inhabitants of certain Melanesian islands witnessed an extraordinary phenomenon: military aircraft dropped cargo loads of food, clothing, and equipment. After the armed forces dep...