Beyond Lambdas & Streams - Functional Fluency in Java

location_city Bengaluru schedule Nov 18th 04:00 - 04:45 PM IST place Regal people 7 Interested

Java 8 opened the doors for the developers to leverage the power of functional programming. Developers can apply techniques such as higher order functions, composition, and laziness with lambdas, and streams API introduced in Java 8. However, we would soon hit the limits if we extensively use the functional style of programming. In this demo, I will start with the examples that will show such limitations, and I will use a library called "Vavr" to overcome the limitations of Java 8 and bring in additional functional programming techniques that are not readily available in Java 8 language. My goal is to convey how to write fluent functional programs in Java without falling back on the conventional object-oriented techniques to fill the gaps.


Outline/Structure of the Demonstration

  • Introduction & Fluent API to create functions (5 minutes)
  • What happens when a function in streams chain throws an exception & how to retain functional fluency (10 minutes)
  • Currying, partial application, lifting, and memoization (10 minutes)
  • Examples of fluent composition (10 minutes)
  • Property-based testing (5 minutes)
  • Q&A (5 minutes)

Learning Outcome

  • What are the limitation we hit while programming in functional style in Java 8
  • How to overcome these limitations and write more fluent programs
  • How to leverage the functional programming techniques that are not directly available in the language (Java 8)

Target Audience

Developers who wants leverage functional programming techniques in Java, Architects, FP enthusiasts



schedule Submitted 5 years ago