Please note: This master’s thesis presentation will take place in DC 2314 and online.
Harris Lau, Master’s candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Ondřej Lhoták
Like most languages that target the JVM, Scala inherited from Java the design decision that any reference may be null. Every dereference is therefore a potential null pointer exception. Scala’s explicit nulls system removes this hazard at the type level: the null type is no longer a subtype of the reference types, and a nullable value must be declared as a union of its base type with null. The change is sound, but it is also global, and it invalidates a large body of existing Scala code as well as every assumption that Scala programs make about the nullability of the Java libraries they call. A null-safe type system that nobody migrates to is of little use, so the practical question is not whether explicit nulls is correct, but whether the ecosystem can be moved onto it.
Attend this master’s thesis presentation through:
- In-person: DC 2314
- Virtually: Zoom