Blog

Articles, tutorials, and insights about functional programming in Java

Subscribe via RSS
Why You Should Upgrade to Java 25

Why You Should Upgrade to Java 25

Java 25 is the next Long-Term Support release and the most significant Java upgrade since Java 21. Here is a practical look at what it delivers, why LTS matters for production codebases, and how a functional-style library like dmx-fun benefits from the new language features.

Pragmatic Functional Programming vs Academic Purism

Pragmatic Functional Programming vs Academic Purism

Where does the line fall between adopting functional ideas that genuinely improve Java code and chasing theoretical purity that only adds ceremony? A frank look at what FP concepts are worth carrying into production Java, and which ones are better left in the research papers.

dmx-fun 0.0.10 Released

dmx-fun 0.0.10 Released

Version 0.0.10 brings sequence and traverse combinators to Try, Optional interop for both Result and Try, and a full set of Stream collectors for Result including stream(), toList(), and partitioningBy().

Railway-Oriented Programming in Java (Without Frameworks)

Railway-Oriented Programming in Java (Without Frameworks)

Learn how to model error-handling as two parallel tracks—success and failure—using pure Java and a Result type, eliminating scattered exceptions and making your business pipelines composable, readable, and testable.

Immutability in Java: An OOP Foundation

Immutability in Java: An OOP Foundation

Immutability is one of those ideas that sounds simple—an object doesn’t change after it’s created—but has surprisingly deep consequences for design quality, correctness, and long-term maintainability.

Functional Composition Patterns

Functional Composition Patterns

Explore powerful composition patterns to build complex functionality from simple, reusable functions

Welcome to dmx-fun Blog

Welcome to dmx-fun Blog

Introducing the dmx-fun blog - your resource for functional programming in Java