A Functional Approach to Exception Handling

Опубликовано: 13 Октябрь 2024
на канале: Virtual Kotlin User Group
776
44

Hello, fellow Kotliners!

It's time for our next virtual get-together. This time Tristan Hamilton will give us his talk "A Functional Approach to Exception Handling".

Here is the abstract:
"why catch if you never throw?"
An introduction into the world of functional programming by discussing an approach to exception handling sometimes referred to as "railway oriented programming".

About the speaker:
I've been working in tech for the last 6 years and impersonating an Android developer for less than half that. When not writing code for a living, you'll find me messing around with synthesizers, climbing or hanging out with my cats.

We are also always looking for speakers and talks. Let us know and don't be shy, we are a friendly bunch and are happy to help you with your speaker career!

You can reach us here through meetup or on the #vkug channel on the Kotlinlang Slack. Get an invitation here: https://surveys.jetbrains.com/s3/kotl...

And here is the information Tristan mentioned:
Resources:
Monad in pictures: http://adit.io/posts/2013-04-17-funct...
Kotlin result type: https://github.com/JetBrains/kotlin/b...
Kotlin result KEEP doc: https://github.com/Kotlin/KEEP/blob/m...
Exception handling talk at kotlinconf 19:    • KotlinConf 2019: Error Handling Strat...  
kotlin-result repo (please ⭐️ and readme has lots of goodness too): https://github.com/michaelbull/kotlin...
Scott-Wlaschin railroad programming: https://fsharpforfunandprofit.com/rop/
Arrow describes monad comprehensions: https://arrow-kt.io/docs/patterns/mon...
Result on Android:
https://adambennett.dev/2020/05/the-r...
https://proandroiddev.com/railway-ori...
The big functional programming lib for kotlin: https://arrow-kt.io/
If you are interested in learning fp from the ground up, there is a very popular book for learning fp in scala (the red book: https://www.manning.com/books/functio...) that is currently being ported to kotlin: https://www.manning.com/books/functio...
Definitely Non null types KEEP (intersection type): https://github.com/Kotlin/KEEP/issues...
Context Receivers KEEP (coeffects section): https://github.com/Kotlin/KEEP/blob/c...

And here are the links to the events we mentioned at the end:
Kotlin Dev Day: https://kotlindevday.com/
Java Advent (https://javaadvent.com) RfP: https://tinyurl.com/javaadvent-rfp-2021