Skip to Main content Skip to Navigation

A Framework for Defining Object-Calculi

Abstract : In this paper, we give a general framework for the foundation of an operational (small step) semantics of object-based languages with an emphasis on functional and imperative issues. The framework allows classifying very naturally object-based calculi according to their main implementation techniques of inheritance, namely "delegation" and "embedding". This distinction comes easily from the choice of the rules we make. Our framework is founded on two previous works, namely the "Lambda Calculus of Objects" of Fischer, Honsell, and Mitchell for the object aspects and the lambda-sigma-w-a of Benaissa, Lang, Lescanne, and Rose for the description of the operational semantics and sharing. The former is the formalization of a small delegation-based language which contains both lambda calculus and object primitives to create, update, and send messages to objects, while the latter is designed to provide a generic description of functional language implementations and is based on a calculus of explicit substitutions extended with addresses to speak about memory management. The framework is presented as a set of "modules", each of which captures a peculiar aspect of object-calculi (functional vs. imperative, delegation vs. embedding, and any combination of them). Our framework satisfies some crucial properties, namely "confluence" on the functional fragment (the final result does not depend on the sequence of computations i.e., on the evaluation strategy), "operational soundness" (our calculi yield the same results on the same data as in the Lambda Calculus of Objects), "subject reduction" (programs preserve types), "type soundness" (a typed program can not go wrong as invoking an unknown method on an object).
Document type :
Complete list of metadatas
Contributor : Colette Orange <>
Submitted on : Wednesday, April 17, 2019 - 9:14:05 AM
Last modification on : Wednesday, November 20, 2019 - 2:52:18 AM


Files produced by the author(s)


  • HAL Id : hal-02102094, version 1



Frédéric Lang, Pierre Lescanne, Luigi Liquori. A Framework for Defining Object-Calculi. [Research Report] LIP RR-1998-51, Laboratoire de l'informatique du parallélisme. 1998, 2 + 33p. ⟨hal-02102094⟩



Record views


Files downloads