Dependent types let the same language be used to write types and the programs they describe. They also let us write mathematical proofs using the tools we know from functional programming. Based on an upcoming book, “The Little Typer”, I’ll show the core ideas from dependently typed programming.
Tagless Final has been a hot topic the last couple of years. It’s a great concept, but we can make it even better! This talk aims to look at some more advanced techniques like making any inspecting and generically optimizing tagless final programs and discover different libraries on the way.
Would you like to break up a monolith into microservices? Would you like to push live data to your end-users? This talk will teach you how to use the Backend-For-Frontend pattern to answer these questions. PagerDuty implemented BFFs with Akka HTTP and Streams, and we’re here to share our learnings!
As I dove into yet another Clojure codebase, it was whispering very quietly. I couldn’t quite figure out what it was saying, but it caught my attention.
A couple of months later, I finally understood.
Although it was written in Clojure, it was just a java app in disguise!
Haskell is an amazing language for domain modelling, with its expressive data types and highly reusable abstractions. In this workshop we will design the core of a simple project management system, and explore different ways of traversing and folding our data when implementing new features.
In this talk, I introduce the audience to functional patterns like Applicative/Monad in an easily approachable way, by showing real world use-cases for them.
Have you ever asked yourself why we only free monads? Turns out there are a lot of other structures that want to be liberated from the constraints of their existence! In this talk we will investigate what other poor (algebraic) structures we can free from the dirty hands of imperative programmers.
We present beep boop, a representation for lambda calculus terms inspired by sound. It is a humane alternative to de Bruijn notation. It is much easier to utter a sequence of symbols in beep boop than in traditional lambda-based representations. Pretty useful for humans!
From side-effect free state modification to Finite State Machines. The State Monad is immensely useful and actually - not scary at all. In this talk we’ll get comfortable with the state monad from Cats, and learn how we can write functional APIs that describe state transition on the type level.
Gentle introduction to Scala and without to much focus on the new scary concepts such as immutability, first-class functions, implicits, and a ton of language features.
Scalaz 8 is the latest edition of the popular functional programming library for Scala. In this whirlwind tour, maintainer John A. De Goes discusses some of the hottest features of Scalaz 8, including a fast, concurrent effect system, a non-linear type class hierarchy, & powerful polymorphic values.
What if we use math to solve programming problems? Let’s take a tour through lambda calculus, the Curry-Howard equivalence, and category theory, and explore the relationship of math and programming, the rich span of possibilities opened by it, and why that matters.
Haskell, the far away language that (almost) no one uses? Not quite, this talk shows that Haskell deeply influences your favorite language, subverting OO, forcing syntax and type systems to evolve. Caution: after this talk you might want to use the real thing!
Design Drive Development, CQRS, Event Sourcing and Elixir all in one talk. Sounds fun? In this talk we’ll go over all of these and how they can work in tandem to give your apps the separation of concerns and scalability they need.