A walkthrough of how we write web APIs using Haskell at Klarna
Slides 2020-01-21The rumours are true. Writing code in purely functional languages tends to produce code that is much easier to read, modify and reason about. This talk examines how an experienced Scala team transitioned into writing production code using PureScript in AWS lambda, and services using Haskell.
Slides 2019-06-14A state transition can be modeled as a simple function:
type State[S, A] = S => (S, A)
In this talk we’ll see how indexed monads like the State Monad are built around this simple concept.
From side-effect free state modification to Finite State Machines. The State Monad is immensely useful and actually - as will be shown throughout this talk, definitely, not scary at all.
We’ll get comfortable with the state monad from the Cats library, and learn how we can write functional APIs that describe state transition on the type level using indexed monads.
Scala is a diverse language combining functional with object oriented programming. This has given rise to multiple approaches to concurrency and parallelism. In this talk, I'll break down the different approaches as well as talking about upcoming features in Scala 3 that will aid in building fast, scalable and, above all correct, systems.
Slides 2017-11-28This talk is a case study of the world's first program written in Dotty, the Dotty REPL. Prepare yourselves for types, language features and inference rants - basically all the good stuff.
Slides 2017-09-20The new Scala compiler is nearing beta readiness. A lot of thought has gone into designing Dotty to be as fast and structurally sound as possible. Now comes the next step - adding a new level of usability to the compiler and the surrounding tools. In this talk I want to show what Dotty can offer you as a developer in terms of improved experience - whether it is awesome error messages, rewrite rules or optimizations. I will also talk about how we are optimizing the project for outside contributors, and what you can do to get involved today!
Slides 2017-05-31Dotty brings many powerful new abstractions to Scala. In this talk I will introduce implicit functions and show how they enable extension of GADTs as well as simplicifations to type class usage. I will also talk about the new enums and give an update on the progress of Dotty.
Slides 2017-05-03The new Scala compiler is nearing beta readiness. A lot of thought has gone into designing Dotty to be as fast and structurally sound as possible. Now comes the next step - adding a new level of usability to the compiler and the surrounding tools. In this talk I want to show what Dotty can offer you as a developer in terms of improved experience - whether it is awesome error messages, rewrite rules or optimizations. I will also talk about how we are optimizing the project for outside contributors, and what you can do to get involved today!
Slides 2017-02-26Dotty is a next generation compiler aimed at trying new language concepts and compiler technologies for Scala. In this talk I aim to explore the future of Scala from a compiler engineer's perspective. I will explore the compiler pipeline, type inferencing, library rewrite rules and compiler optimizations as well as giving an overall view of the differences between Scala and the Dotty version of Scala.
Slides 2017-02-07Dotty is a next generation compiler aimed at trying new language concepts and compiler technologies for Scala. In this talk I aim to explore the future of Scala from a compiler engineer's perspective. I will explore the compiler pipeline, type inferencing, library rewrite rules and compiler optimizations as well as giving an overall view of the differences between Scala and the Dotty version of Scala.
Slides 2016-10-17