Simon Thompson

Co-author of Erlang Programming (School of Computing, University of Kent)

Researcher, author and teacher, based at the University of Kent. My research has covered many aspects of functional programming, including verification, tool building and testing for Erlang, Haskell and OCaml. I'm author of books on type theory, Haskell and Erlang, and run a MOOC on Erlang for FutureLearn.

Simon Thompson's talks: 2

Making It Lazy: never evaluate anything more than once

Put some more advanced features of Erlang to work by implementing lazy evaluation. First we find a way of being non-strict, so we only evaluate things by need, and then we find a way of memoising the results. We show how to build infinite, graphical and indeed cyclic data structures, using higher-order functions, macros and ETS tables.


Learn some advanced functional programming techniques and see how they can be implemented in Erlang.


Anyone who would like to learn some neat functional programming tricks to use in Erlang or Elixir.


Panel discussion on the trends in research

Some of the earliest Erlang adopters were Universities, using the language semantics to teach aspects of computer science. This resulted in research projects and collaboration focusing on type systems, tooling, static analysis, property based testing, all overlapping with classic themes such as VM enhancements, concurrency, distribution, scalability, reliability and multi-core. Whilst lots has been achieved, the challenges faced by the software industry keeps on evolving, as does the hardware and infrastructure they run our systems on. In this panel, Torben Hoffmann will be leading a discussion on how the Industry and Universities can work together to keep research thriving, accessible, cutting edge and relevant.

All Media with Simon Thompson

Making It Lazy Never Evaluate Anything More Than Once - Code BEAM SF 2018

Making it lazy: never evaluate anything more than once - SLIDES - Code BEAM SF 2018
Simon Thompson

Slides from Simon Thompson's talk "Making it lazy: never evaluate anything more than once" - Code BEAM SF 2018


Making It Lazy: never evaluate anything more than once - Code BEAM STO 2018