A̵d̵v̵a̵n̵c̵e̵d̵ ̵F̵u̵n̵c̵t̵i̵o̵n̵a̵l̵ Compiler Programming for OO/Java Developers, Appendix A: DSL Parser Generation Using JavaCC and Syntactic Sugar

I’ve run a series of posts on functional programming for Java developers, and had actually planned to stop it at part 4, but it turns out I still have (a bit) more to say, so here’s a small appendix (and there’s likely a fifth part coming as well sometime). The first four parts introduced various […]

Read More…

Advanced Functional Programming for OO/Java Developers, Part 4: Conditionals, Recursive Functions (Featuring Fancy Fixpoints), Accumulators, and Tail Recursion

This is the fourth and last part in a series of posts introducing functional concepts to OO/Java developers. The first three parts introduced visitors, functional data types, and increasingly sophisticated and powerful continuations. We have used a running example of expression evaluation to illustrate the concepts. In the previous part we set up our expression […]

Read More…

Advanced Functional Programming for OO/Java Developers, Part 3: Syntactic Sugar, JIT-Compiling, and even More Advanced Continuation Use

This is the third part of a series of posts introducing principles from functional programming to OO developers, primarily using Java. In the first two parts, we covered the visitor pattern and basic use of continuations, as well as functional data structures and more advanced use of continuations. We used a basic example of expression […]

Read More…