The Scala Consultancy

Know Your Scala


Books, videos, training, and mentoring... everything you need to excel.

Browse our catalogue

Succeed With Scala


Professional services tailored to your business, whatever stage you're at.

Work with us

Latest from the Blog

Giving a First Talk

Underscore is supporting new speakers at Scala eXchange. Last year, Danielle Ashley gave her first Scala eXchange talk, and in this guest post, she writes about her experiences.

Continue reading…

How You Can Help Bring New Speakers and New Ideas to Scala eXchange 2016

The Scala eXchange 2016 conference is taking place in December, in London. The call for papers is open. We know you’re going to hear from some great established speakers, but we also want to make sure new voices are heard. New speakers increase the diversity of experiences, ideas, approaches, and interests. We can all benefit from that.

In this post, we’ll tell you how we’re helping new speakers. We need your help too.

Continue reading…

Opaque and Transparent Interpreters

The interpreter is the über pattern of functional programming. Most large programs written in a functional style can be viewed as using this pattern. Amongst many reasons, interpreters allow us to handle effects and still keep desirable properties such as substitution.

Given the importance of interpreters it is not surprising there are many implementation strategies. In this blog post I want to discuss one of the main axes along which implementation strategies vary, which is how far we take reification of actions within the interpreter.

Continue reading…

Probabilistic Programming in Scala

At the Typelevel Summit in Philadelphia I gave a talk about probabilistic programming, which I have recently been exploring. Probabilistic programming combines two great research areas that go great together—functional programming and machine learning (specifically, Bayesian inference). In this blog post I’ll attempt to explain the basic ideas behind probabilistic programming. I’m assuming you, dear reader, skew more towards programming than statistics, but are not afraid of numbers. Hence I’ll concentrate more on the programming than the machine learning side of things here.

Continue reading…

Scala.js is Important for Cloud Services

More people are using serverless architectures than I would have guessed, and they are getting significant benefits from doing so. Scala is a great fit for these kinds of architectures because it can use the JVM and, thanks for Scala.js, JavaScript runtimes too. This post is a small observation regarding this.

Continue reading…

Our Customers

Some of our happy customers: