Formalizing φ-calculus: a purely object-oriented calculus of decorated objects
Many calculi exist for modelling various features of object-oriented languages. Many of them are based on λ-calculus and focus either on statically typed class-based languages or dynamic prototype-based languages. We formalize untyped calculus of decorated objects, informally presented by Bugayenko, which is defined in terms of objects and relies on decoration as a primary mechanism of object extension. It is not based on λ-calculus, yet with only four basic syntactic constructions is just as complete. We prove the calculus is confluent (i.e. possesses Church-Rosser property), and introduce an abstract machine for call-by-name evaluation. Finally, we provide a sound translation to λ-calculus with records.
READ FULL TEXT