Jeremy Pierre

Director of Platform Engineering at Askuity Inc

Alpaca: Static Typing on the BEAM

Static typing provides significant advantages in terms of reduced unit testing needs and faster feedback loops. While the reasons for Erlang's dynamic typing vary, with careful trade-offs it is possible to bring the rigour of a statically typed language to the Erlang virtual machine. This talk will cover the reasons for which Alpaca was started, the basic and most compelling features of its statically typed nature including typed message sending, some of the trade-offs made, and how the compiler itself is structured.

About Alpaca: Alpaca is a statically typed, functional programming language inspired by the ML family of languages, written in Erlang, for the Erlang virtual machine. It has a type inferencer and the basic features one would expect from such a language like algebraic data types (ADTs), row polymorphism, and typed message flows for processes.

Talk objectives:

The what, why, and how of the Alpaca programming language - show how anyone can get involved with Alpaca's development.

Target audience:

People interested in statically typed languages or in using one with Erlang, those implementing languages on the BEAM.

View Slides Here   


Jeremy came to a software development career by a circuitous route through a music education and brief stints in sales and teaching English. A longtime Scala user and more recently Erlang programmer, his day job involves developing and managing parts of the Askuity platform built using both.

Twitter: @j14159
Github: j14159