Mario Fernandez, Software Developer &
Andrei Bechet, Software Developer
Handling error conditions is a core part of software development. However, it is often treated as a second class citizen. Through the abuse of null values and exceptions the code becomes hard to understand and maintain. In the functional programming community, it is common to use datatypes such as Option, Either or Validated to make intentions explicit when dealing with errors. The compiler can be leveraged to verify that the errors are being handled instead of hoping for the best at runtime. This results in code that is clearer, without hidden path flows. Mario and Andrei demonstrate how this can be achieved in Kotlin, with the help of the Arrow library.