Charlotte Lorelei de Oliveira

✨ Net Idol ✨

Charlotte likes to talk about free open source software, privacy, programming languages, theory and software engineering.

Her work is breaking computers, fixing them and then teaching others about the results.

Past conferences

Charlotte Lorelei de Oliveira
Code BEAM STO 2019
17 May 2019
14.30 - 15.15

Introduction to a type system: session types

Correctness in software development is an important subject that has been explored by the academy and by the industry. How to ensure that your program cannot fail? How to ensure that what you're developing will work as expected without unwanted side-effects? etc.

Since then, several approaches were developed; one of them is static type analysis, a methodology which tries to prove that your program is correct based on the mathematical types theory, whose basic assumption is that unless your program can prove it attends its basic contracts, it is faulty. Considering Erlang is widely known by its focus on fault-tolerance and, by consequence, guarantees of reliability, there have been several attempts to improve Erlang programs by proving their correctness with type systems but such attempts have failed.

This talk proposes to explain what is a type system, why attempts to type strictly Erlang have failed and how the theory of Session Types might prove to be a way to achieve correctness in environments like Erlang's.



  • Present the concept of static type analysis
  • Present the research so far in session types applied to programming
  • Build hype over the future of environments based on the actor-message model



Developers who have before had to handle bugs in their code; functional programming enthusiasts.

Charlotte Lorelei de Oliveira
Code BEAM Lite Munich 2018
07 Dec 2018
15.30 - 16.10

How does fault tolerance work in Erlang

Introductory and intermediate level talk explaining how Erlang can isolate its processes and why this is important for fault tolerant systems. The talk will touch on topics such as scheduling processes, the Erlang philosophy behind error handling and how to use supervisors to have a fault tolerant system.


To teach about process isolation in Erlang, actor-message model, how BEAM has control over the processes execution and how scheduling processes work.