The power of small abstractions

Every time we solve an everyday programming problem we learn from its solution. When we come across a similar problem later on, we think “aha! I’ve seen this before! I know how to solve it!”. Many of us are also familiar with design patterns, which are abstractions that solve entire classes of problems.

There also exists, however, a different kind of pattern. But, as opposed to help you structure a whole compiler or business application, these patterns love hiding in small things like methods of functions, or even binary operations. They whisper to you when you concatenate two strings. They leave a trail of breadcrumbs every time you map over a list.

These abstractions have superpowers, too. They can separate the what from the when, or even from the how. They can add together things other than numbers. They can control time, or take over the control flow of your program entirely.

In this talk you will discover the amazing power of small abstractions. After that you’ll start hearing their whispers and seeing their breadcrumb trails. And only then you will be ready to let them unfold their full potential in your programs.

I’m a general enthusiast, based in Berlin but originally from Barcelona. I program in Ruby, Clojure, Scala and sometimes Haskell when it's snowy outside. I love functional programming, and among my obsessions you can find food, compilers, coffee, virtual machines, making music, cooking, programming language theory, food and more recently type theory and logic. And food.

Together with my company, Codegram, I also organize Full Stack Fest (Barcelona Ruby Conference and Barcelona Future JS)