In previous work with Dezani on the language Fickle and its extension FickleII we introduced language features for object re-classification for imperative, typed, class-based, object-oriented languages. In this paper we present the language Fickle3, which on one side refines FickleII with more expressive effect annotations, and on the other eliminates the need to declare explicitly which are the classes of the objects that may be re-classified. Therefore, Ficle3 allows to correctly type meaningful programs which FickleII rejects. Moreover, re-classification may be decided by the client of a class, allowing "unanticipated object re-classification". As for FickleII, also the type and effect system for Fickle3 guarantees that, even though objects may be re-classified across classes with different members, they will never attempt to access non existing members. The type and effect system of Fickle3 has some significant differences from the one of FickleII. In particular, besides the fact that intra-class type checking has to track the more refined effects, when a class is combined with other classes some additional inter-class checking is introduced.

Refined Effects for Unanticipated Object Re-classification: Fickle3

DAMIANI, Ferruccio;
2003-01-01

Abstract

In previous work with Dezani on the language Fickle and its extension FickleII we introduced language features for object re-classification for imperative, typed, class-based, object-oriented languages. In this paper we present the language Fickle3, which on one side refines FickleII with more expressive effect annotations, and on the other eliminates the need to declare explicitly which are the classes of the objects that may be re-classified. Therefore, Ficle3 allows to correctly type meaningful programs which FickleII rejects. Moreover, re-classification may be decided by the client of a class, allowing "unanticipated object re-classification". As for FickleII, also the type and effect system for Fickle3 guarantees that, even though objects may be re-classified across classes with different members, they will never attempt to access non existing members. The type and effect system of Fickle3 has some significant differences from the one of FickleII. In particular, besides the fact that intra-class type checking has to track the more refined effects, when a class is combined with other classes some additional inter-class checking is introduced.
2003
Theoretical Computer Science, 8th Italian Conference, ICTCS 2003
Bertinoro, Italy
October 13-15, 2003
Theoretical Computer Science, 8th Italian Conference, ICTCS 2003
Springer
2841
97
110
F. DAMIANI; SOPHIA DROSSOPOULOU; PAOLA GIANNINI
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/24145
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 12
  • ???jsp.display-item.citation.isi??? 3
social impact