Marcin Rzeźnicki explores monadic error handling, Free and Cofree monads, and how he designed a custom monad to solve real-world team constraints.
Marcin Rzeźnicki at #ScalaUA- Using monads to enforce programming style your Boss likes
It all started with my boss coming to me - "I don't like EitherT", he said. "All right, you should be using MonadError anyway" - I replied. "Oh, I don't like that even more". So I decided to help him out and everything went south. I ended up wrestling `Free` and `Cofree`, fighting stack overflows, benchmarking trampolines with flame graphs and, finally, rolled up my own monad which I call `Sealed`. I promise I'll put a GitHub link, but for now I am not really proud of it. My boss and my company love it, though. So I thought I could share with you how to use monads to make your boss happy.
Topics I'll cover:
- monadic error handling and flow control
- explore design and implementation of various existing monads in Scala,
- learn how to design a lawful monad from scratch and test it,
- how to deal with various issues that arise in the process: stack safety, performance implications,
- benchmarking with JMH and flame graphs
Follow ScalaUA Conference on Twitter:
twitter.com/@ScalaUA_Conf
Why it's here
1 person recommends this
What people say. Recommended as part of a curated list of high-quality ScalaUA conference talks.
k
u/know_not_muchin r/scala • Recommends
All Videos of ScalaUA conference are now available!
All the videos of ScalaUA conference can be seen at
link to this video
and
https://old.reddit.com/r/ScalaConferenceVideos/
Since this conference has exceptionally good topic selection, I am listing down the urls to all the talks below
Thinking Functionally - John A. De GoesBig Step to Functional Programming - Alex ZvolinskiyScheduling and retrying effects with cats - Miklós MartinConquering Concurrency with Functional Programming - Jakub KozłowskiScala Schemas with Shapeless - Kévin RauscherBackpressure over the wire - when things go wrong - Zahari DichevThings I wish I knew when I started with Akka - Markus Jura
[Tou…