MJH-3826 Unlocking the magic of monads in Java 8 | Devoxx

Unlocking the magic of monads in Java 8


java Java SE

Room 2 - Schibsted

Tuesday at 11:50 - 12:50

This code-heavy session demystifies what monads are and outlines reasons why you would even want to introduce them into your code. We’ll take a look at the traditional definition for monads and offer a corresponding type definition in Java. We’ve selected a sample Java 8 implementation of a ‘Promise’ monad, which represents the result of async computation to help us answer practical questions about monads. Also, we'll go over the Laws of Monads and show that you can have a proper monad in Java, if you are brave enough to allow the underlying platform change the rules a bit.

PS. You won’t be penalised or ridiculed during this session for your (lack of) Haskell knowledge!

Oleg Šelajev Oleg Šelajev

Oleg is a Java developer, Evangelist and RebelLabs editor at ZeroTurnaround, with a focus on Continuous Delivery and Devops. He also enjoys spending time using Clojure, Github and Google docs. He is currently studying for a PhD on dynamic system updates and process migration and is a part-time teacher at the University of Tartu. As a technical writer for RebelLabs, Oleg regularly provides content for blogs and popular reports. In his free time he plays chess at a semi-grandmaster level, loves puzzles and solving problems. He is a geek but loves to hang out with people.