Evolving Projects to Concurrency with Wrangler

Simon Thompson
Professor of Logic and Computation, University of Kent

Systems that are valuable have to be evolved. For instance, if you want to make your projects run on multicore hardware, then introducing concurrency into your system will help.

In this talk we'll show how Wrangler can help with this. We introduce three novel Wrangler refactorings for retrofitting concurrency to Erlang applications, and demonstrate how the use of program slicing makes the automation of these refactorings possible. 

The talk will be illustrated with short demos to show how it works hands on, including the an API migration facility, which  is built on an extensibility API and DSL for Wrangler that allows you to write your own refactorings and transformations for yourself, using Erlang syntax to describe what it is you want to do.

Talk objectives:

The talk will give you experience of what Wrangler can do, seeing it in action on various scenarios. After the talk you should be confident about what it can do for you, as well as seeing how to use it in practice.

Target audience:

This talk is for anyone who builds and maintains Erlang projects and who wants to use a tool that will help with some of that. Wrangler can help with the mundane tasks and free you up to solve the more complex problems.


Simon has been with functional programming through the good and bad times since the 1980s, has written books on Erlang, Haskell and dependent types, and is really pleased to see all the buzz around Erlang and other languages at the moment. One big focus at the moment is working on building tool support to help with code transformations: refactorings, code migration, API upgrade and so on. Another is to build tools that provide strong guarantees that the refactorings that they implement don’t change what does code, but only change how it does it. He also teaches: teaching Erlang to students at Kent is well established, leading to students taking Erlang-based internships and placements in growing numbers; he’s running an Erlang MOOC on FutureLearn for the first time this year, too.

GitHub: simonjohnthompson

Twitter: @thompson_si

Back to conference page