Functional Programming in Spring with Arrow, Lenses and Effects

location_city Melbourne schedule May 15th 10:30 - 11:00 AM AEST place Green Room people 64 Interested

With the introduction of Kotlin as a supported language, as well as the Arrow functional programming framework, building a functional web application with Spring has never been easier. More importantly, the conversion path from an Object Oriented Spring app to a Functional Programming Spring app can be accomplished with little risk and much reward.

Spring is the most widely used JVM web framework. For many years, the paradigm it has adopted has been object-oriented, stateful and imperative. This talk will show how to take such a codebase and refactor it into a functional programming style. It will show the benefits of this approach with regards to clarity, stability, safety and testability.


Outline/Structure of the Talk

Introduction to Spring 5 and its Functional Aspects

Applying Kotlin and some Spring-Fu

Introducing Arrow and applying it piece by piece

How it all comes together, and where to go from here

Learning Outcome

  • how to apply functional concepts to an existing OO application
  • steps to take to incrementally refactor a codebase piece by piece
  • what fp concepts are available in Kotlin thanks to the Arrow framework
  • how to leverage these concepts to get the most value with the least interruption to the team's performance

Target Audience

Java/Kotlin or other JVM developers who want to introduce FP into their codebases

Prerequisites for Attendees

No pre-reqs. Some familiarity with Spring, Kotlin or Java helpful.



schedule Submitted 4 years ago