Tag: Functional Programming
All the articles with the tag "Functional Programming".
- Featured
Break Your Own Code First: Property-Based Testing in TypeScript
Your tests pass because you chose the inputs, and you chose them with the same mental model that wrote the bug. State the law instead and let a generator hunt the counterexample. Doing this to my own published reducer found a rule I had promised in print and never actually enforced.
- Featured
Stop Building Spread Pyramids: Composable Focus in TypeScript
Changing one string five levels down means rebuilding every object on the way back up, by hand, in a pyramid of spreads where the bug is never in the value you meant to change. A lens turns that path into a value you can name, compose, and reuse, and the pyramid collapses to one line.
State Is a Fold Over Events: Functional State in React and Beyond
Your state is the residue of setter calls nobody recorded, which is why the bug won't reproduce. Name what happened as events, let one pure function fold them into state, and every screen your app has ever shown is one replay away.
Effects Are Values: Functional Core, Imperative Shell
Your business rules can't be tested because they're welded to fetches, toasts, and analytics calls. Split the program in two: a pure core that decides what should happen and returns it as plain data, and a thin shell that performs it. The mock count drops to zero.