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 :
Reports
Complete list of metadatas

https://hal-lara.archives-ouvertes.fr/hal-02102094
Contributor : Colette Orange <>
Submitted on : Wednesday, April 17, 2019 - 9:14:05 AM
Last modification on : Sunday, April 28, 2019 - 1:23:03 AM

File

RR1998-51.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-02102094, version 1

Collections

Citation

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⟩

Share

Metrics

Record views

8

Files downloads

7