Bridges to Functions: Imperative vs Kotlin FP
"Bridges to Functions" is a hands-on series for Kotlin developers who want to move from imperative patterns to functional thinking. Each post compares an imperative solution with a functional alternative, explains the ‘why’ through everyday analogies (recipes, conveyor belts, and blueprints), and introduces just-enough category theory (functors, monads, natural transformations) to make the abstractions meaningful. Expect concise Kotlin examples, visual pipelines, exercises, and practical patterns you can apply in production code.
Articles in this series
Tech Insights & Engineering Articles
Explore technical articles, software architecture deep dives, clean code tutorials, and computer science explorations from my journey.
Product Types: Why Types Behave Like Multiplication
There’s a point in programming where types stop feeling like simple containers and start behaving like algebra.
Algebra of Types — When Data Structures Start Behaving Like Math
There is a point in programming where types stop feeling like containers and start feeling like equations.
Asymmetry — Why Products and Coproducts Feel So Different
Category theory often promises symmetry. But real systems remind us: **direction changes everything**.
Coproducts — Modeling “Either This or That” in Code
Most bugs don’t come from what your program does. They come from what your program **assumes cannot happen**.
Products — When Two Independent Things Become One Structure
In programming, we combine values all the time.
Isomorphism — When Two Different Models Are Actually the Same
Sometimes the hardest bugs come from believing two structures are different when they actually contain the same informat…
Duality — Flipping the Arrows Changes Everything
When we studied initial objects and terminal objects, something subtle appeared.
Terminal Object — The Place Where All Arrows End
In the previous post we saw **initial objects** — objects that can send arrows **to everything else**. Now we reverse th…
The Initial Object — Finding the True Beginning
“Every complex system that works evolved from a simple system that worked.” — John Gall