The Scala language (http://www.scala-lang.org/) aims to unify
object-oriented and functional programming, while maintaining full
interoperability with the Java language. However, while Scala has been
under active development since 2003, there has yet to be a satisfactory
formal model of Scala. There are several calculi that come close, but all
have discrepancies in expressive power, some are lacking complete proofs,
and some are unsound.
In this talk, I will give a short introduction to Scala, review several
calculi that fall short of providing a formal model of Scala, and give an
overview of the calculus I have been developing, Scala Classic, that will
help fill this gap in the foundations of Scala.