Guaranteeing memory safety in Rust

Wednesday, September 10, 2014 - 10:30
USI Lugano Campus, room A12, Red building (Via G. Buffi 13)

Rust is a new programming language targeting systems-level applications. Rust offers a similar level of control over performance to C++, but guarantees type soundness, memory safety, and data-race freedom. One of Rust's distinguishing features is that, like C++, it supports stack allocation and does not require the use of a garbage collector.
This talk covers the basics of Rust, with an emphasis on the type system. We show how Rust employs ownership and regions in order to guarantee memory safety, and how these same techniques can be generalized to provide data-race freedom.

Nicholas Matsakis is a senior researcher at Mozilla research. He focuses on safe support for parallelism in programming languages. He is currently working on the Rust programming language as well as extensions to the JavaScript language.