Raul Raja

Raul Raja

Functional Error Handling

Exceptions in OOP centric langs such as Java are abused for control flow and event signaling. Lack of proper support for Monads, Higher Kinded Types and other facilities leave lang users with no alternative but to choose happy paths as return types of method signatures.

In this talk we will cover some examples regarding the misuse of exceptions and proper data types such as Option, Try, Either[E, A] and MonadError[M[_], E] to model absence of values, failing computations and alternate paths in method return types.


Functional programming enthusiast. Self driven software engineer with strong backend Scala experience. Creative problem solving. Always looking to try the latest in every technology.

Miguel Duarte

Miguel Duarte

Modern Java with Javaslang and Lombok

Java 8 brought Lambdas to Java, but the standard library changes didn't go as far as they could. Javaslang jumped in to fill the gap. It is a beautiful library that will like change the way we can write Java. If you're a functional programming fan you'll discover that you'll be able to express some of the concepts you've grown used to in plain Java. If you've been using Java for ages but you've never experienced functional programming concepts, hop in to see how you can change the way you code without having to learn a new language.

Topics to cover:

  • Immutable collections and structural sharing
  • Pattern matching
  • Exception handling in a composable way
  • Composing functions
  • Property based testing
  • Tuples
  • Immutable values and the Builder pattern
  • Type inference
  • Integrating Javaslang and Lombok @Values with Jackson.


Miguel has 17+ years experience - and still learning - in software development, architecture & delivery for large Telco, Financial Industry and Government systems in multiple programming languages and platforms.

Loves reading, playing strategy games with his kids and tending to the countryside orchard and garden :)

Event - 10th of May 2017


  • 19:00 - 19:15 - Check-in
  • 19:15 - 20:00 - Talk PT.JUG: Modern Java with Javaslang and Lombok
  • 20:00 - 20:30 - Break
  • 20:30 - 21:15 - Talk LxScala: Functional Error Handling
  • 21:15 - 21:30 - Closing Ceremony



Portugal Java User Group

The Portugal Java User Group (PT.JUG) is a group of users who share enthusiasm for the Java programming language and technologies associated with the JVM. We meet often to socialize, discuss what is best done in the Java world and learn from the presentations of some of the best professionals in the area. PT.JUG was born in 2007 and is the largest Java group in Portugal, organizing events all over the country, with greater emphasis on Lisbon. If you have any technical presentations that you would like to present to the group, please contact one of the organizers.

Learn more


Lisbon's Google Developers Group

One of the five groups in Portugal and one in more than 600 groups worldwide, Google Developers Group Lisbon is a group of developers with the main goal of sharing knowledge by organizing tech talks, workshops, conferences and assisting the Lisbon developer communities to grow through collaboration. GDG Lisbon considers itself has an open source community, where events can be requested and even organized by members of the community. GDG Lisbon aims to deliver top quality events and content.

Learn more


"Anfiteatro QA - Torre Sul, Instituto Superior T├ęcnico"

With support

logo IST