A Programmer’s Reduction Semantics for Classes and Mixins
Matthew Flatt, Shriram Krishnamurthi, Matthias Felleisen
Formal Syntax and Semantics of Java, 1999