Talks

Announced talks

A Gentle, Practical Introduction to Path-Dependent Types

Presentation
by
David van Geest

How can you avoid casting and Options when dealing with inconsistent HTTP APIs? Scala’s path-dependent types provide an elegant solution that is less intimidating than it sounds. Expect to see simple explanations, and the real-world, open-source code that inspired this talk.

Details

Brave New World - tales of PureScript and Haskell in production

Presentation
by
Felix Mulder

The 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.

Details

Galaxy brain: type-dependence and state-dependence in property-based testing

Presentation
by
Erik Osheim

Property-based testing is a powerful tool to validate our code, but it is only as good as the random generators which produce its test cases. This talk will demonstrate several techniques to take random generators to the next level and expand the universe of useful types that can be generated.

Details

Impractical Lambda Calculus

Presentation
by
Einar W. Høst and Jonas Winje

The SKI combinator calculus can be thought of as a computer programming language, though it is not convenient for writing software. In this talk we’ll use it for live-coding.

Details

Live Coding a Concurrent Web Crawler

Presentation
by
John Ⓐ De Goes

Watch as John furiously scrambles to live code a massively parallel web crawler in the span of 30 minutes. Along the way, you’ll learn about how functional programmers use modern, purely functional libraries like ZIO to solve complex business challenges.

Details

Transducers - composable algorithmic transformations

Presentation
by
Erik Assum

A transducer is composable algorithmic transformation, but what does that even mean? In the introduction to transducers it’s described as a function with the following signature: (whatever, input -> whatever) -> (whatever, input -> whatever)

Details