Between Tuesday August 20th, 5:00pm and Thursday August 22nd, 8:00am will be down for an upgrade to version 10.8.7. 1.14 KB

Extensions for Dependent Object Types

The DOT (Dependent Object Types) calculus by Amin et al. (2016) aims to formalizes Scala, specifically, abstract type members and path-dependent types.

This different folders of this repository contains extensions to DOT that aim to bridge the gap between DOT and Scala, and to experiment with new Scala features.

The extensions are based on the simple type-safety proof, which we started as a fork of the original proof as presented by Amin et al. (2016).

If you want to understand the DOT safety proof, or are interested in creating your own extensions to DOT, you can read our OOPSLA paper, and check out the corresponding Coq proof.


We currently provide the following extensions: