It has been widely recognized that while object orientation bringstangible practical benefits to the software development process, itstheoretical underpinnings are less clear. This paper fits within a bodyof research that is responding to this problem. It does this bypresenting an encoding of Abadi and Cardelli’s object calculus (OC) intothe &pgr;-calculus.
One possible criticism of this activity is that it takes a ratheresoteric and theoretical calculus, OC, and encodes it into anotheresoteric and theoretical calculus, the &pgr;-calculus. However, acontrary position is that the encoding links practical imperativeprogramming languages to the &pgr;-calculus, since encodings of suchlanguages into OC already exist. Furthermore, the work gives furtherevidence that the &pgr;-calculus is a foundational model for objectorientation, in the sense that a wide spectrum of object-orientednotations can be encoded in it.
A particular contribution of this paper is that it emphasizestyping in such encoding exercises and presents impressive theoreticalresults on this topic. These results ensure that under the translation,the types in OC agree (in some well-defined sense) with the types in the&pgr;-calculus.
In order to obtain this agreement, a particular dialect of the&pgr;-calculus is proposed that uses variant types and a case constructrather than tupling and matching. Using this dialect, subtle problemssurrounding the self parameter in OCmethods are resolved at the expense of a relatively complex encoding.One important question that the paper leaves unanswered is how theproposed &pgr;-calculus dialect relates to other &pgr;-calculusincarnations. This is, of course, an important issue if asingle foundational theory is being sought.