© 2021 Strange Loop
Rust is a unique programming language that blends imperative and functional concepts to make low-level systems safer. However, compared to other modern languages, designing APIs in Rust requires a fundamentally different mindset -- for example, designing without classes or inheritance. In this talk, I will show how Rust's sophisticated type system can be leveraged to reimagine many basic patterns of systems design, such as event handlers, state machines, and access control. We will design an API for each concept, and see how using Rust's ownership and traits can help API clients catch mistakes in API usage at compile-time.
Will Crichton is a 5th year CS Ph.D. student at Stanford University advised by Prof. Pat Hanrahan. His research is about applying cognitive psychology and programming language theory to understand programmers and design better programming tools.