Simon Thompson

Researcher, author and teacher

Researcher, author and teacher, senior researcher for IOHK and professor at the University of Kent and ELTE, Budapest.

His research has covered many aspects of functional programming, including verification, tool building and testing for Erlang, Haskell and OCaml. He is an author of books on type theory, Haskell and Erlang, and runs a MOOC on Erlang for FutureLearn. He is currently a senior research lead at IOHK, developing a DSL for financial contracts on blockchain.

Refactoring via the Language Server Protocol

Audience: Introductory and overview

Refactoring is the process of improving code without changing what it does, and is typically supported in tools such as Wrangler for Erlang. The Language Server Protocol (LSP) allows tools like this to be integrated in a variety of editors, including VS Code, emacs and vim, and the Erlang Language Server (ELS) provides an integration of Erlang into LSP.

After a short introduction to refactoring, Wrangler and Erlang LS, we explain how facilities in Wrangler, including refactorings, input and form-based choices, are incorporated into ELS and LSP, and demo these for a variety of Wrangler refactorings.


The talk will introduce refactoring and Wrangler to a new audience of coders who might use ELS as part of their daily practice. It will also show how the Wrangler Language Server can be used, and point out how to overcome its imperfections, and how it might be enhanced.


Any Erlang user