The Essence of Scala: Calculus of Dependent Object Types
scala-lang.org