Still writing Visitor patterns and manual tree recursion in Java?
Part 4 of Functional Optics for Modern Java shows how the Focus DSL turns this into fluent, composable paths:
.departments().each().employees().each().salary()
No reconstruction boilerplate. Just declare what you want.
We build a complete expression optimiser using the Focus DSL.
https://blog.scottlogic.com/2026/01/30/traversals-rewrites.html








