1
I Use This!
New Project

News

Analyzed about 22 hours ago. based on code collected 2 days ago.
Posted 1 day ago by domix
Currying sounds like academic theory. Partial application is something Java developers already do every day — they just don't name it. This post names it, distinguishes the two concepts, and shows five situations where partial application makes real production code cleaner.
Posted 4 days ago by domix
A method signature is a contract. Most Java APIs break that contract silently — returning null, throwing undeclared exceptions, or hiding multiple outcomes behind a boolean. Functional types turn vague promises into honest, self-documenting interfaces.
Posted 8 days ago by domix
Adding a functional library to a Java codebase rarely solves the underlying problem on its own. Sometimes the library is the right answer. Sometimes the problem is discipline, naming, and design — and a library just gives bad habits a fancier vocabulary.
Posted 11 days ago by domix
Legacy systems do not need a rewrite to benefit from functional programming. The right approach is incremental: find the seams, wrap the dangerous parts, and grow functional islands outward. A practical guide for Java teams working with existing production code.
Posted 15 days ago by domix
Sealed types make your domain states explicit and exhaustive. Pattern matching forces every caller to handle them all. Together they turn a class of runtime surprises into compile-time errors — and make the business model readable in the type signatures.
Posted 18 days ago by domix
Lazy evaluation defers a computation until its result is actually needed. That single idea eliminates wasted work, enables safe default values, and defers heavy initialization — but it also introduces traps around side effects, debugging, and error timing that you need to know before reaching for it.
Posted 22 days ago by domix
Higher-order functions are not just map and filter. They are the mechanism behind every composable pattern in functional programming — Strategy, Decorator, Policy, pipeline — explained through real backend Java code.
Posted 25 days ago by domix
Predictable code is code you can understand without reading everything around it. Functional programming gives you three concrete tools to get there: pure functions, honest signatures, and immutable values.
Posted 27 days ago by domix
0.1.0 is the first stable, production-ready release of dmx-fun: a battle-tested ecosystem of functional programming modules for Java backends, with first-class Spring Boot and Quarkus support.
Posted 28 days ago by domix
Functional idioms improve code when applied to the problems they solve. Applied to problems they do not solve, they add ceremony, obscure intent, and hurt performance. This post catalogs the specific cases where the functional version is the worse version — and why.