Functional Programming with Java
summary
Demonstrates concrete functional techniques applied to Java: implements the Luhn checksum as composed, testable functions; builds a lazy FizzBuzz via zipped infinite streams; implements an immutable linked list with sealed classes and pattern matching that the compiler can exhaustively check. Uses Vavr for persistent collections, uses Java 21 records (and previews like pattern matching) to make value types concise, and shows currying and partial application for reuse. Notes where generics and Java verbosity make fluent functional style awkward but fully workable.
AI-written summary · about
chapters (13)
- 0:00Introduction to talk
- 3:48Why functional programming
- 7:50Java 8 functional limits
- 10:22Missing Java functional features
- 12:10Immutability in Java
- 18:22Java 21 records explained
- 20:51Pure functions concept
- 23:43Functional data structures
- 28:28Higher order functions
- 34:36Function composition and currying
- 41:45Monadic data types
- 44:37Pattern matching in Java
- 48:08Functional vs imperative Java
related talks
52mFunctional Programming with Java 8
48mEmbrace the Func - How Far has Functional Programming Come in Java?
55mPain-free Functional Programming with Java 21
55mFunctional Programming Patterns with Java8
36mHow functional programming change my Java code
01h 00mFrege: Purely Functional Programming for the JVM
57mLearning To Code In Functional Style with Java
55mFunctional Programming in Java
