Skip to main content

Refined Effects for Unanticipated Object Re-classification: \(\mathcal{F}ickle_{\rm 3}\)

Extended Abstract

  • Conference paper
Theoretical Computer Science (ICTCS 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2841))

Included in the following conference series:

Abstract

In previous work on the language \(\mathcal{F}ickle\) and its extension \(\mathcal{F}ickle_{II}\) Dezani and us introduced language features for object re-classification for imperative, typed, class-based, object-oriented languages.

In this paper we present the language \(\mathcal{F}ickle_{3}\), which on one side refines \(\mathcal{F}ickle_{II}\) 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, \(\mathcal{F}ickle_{3}\) allows to correctly type meaningful programs which \(\mathcal{F}ickle_{II}\) rejects. Moreover, re-classification may be decided by the client of a class, allowing unanticipated object re-classification. As for \(\mathcal{F}ickle_{II}\), also the type and effect system for \(\mathcal{F}ickle_{3}\) 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 \(\mathcal{F}ickle_{3}\) has some significant differences from the one of \(\mathcal{F}ickle_{II}\). 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.

Work partially supported by IST-2001-33477 DART, MIUR Cofin ‘01 NAPOLI, and MIUR Cofin’02 McTati projects. The founding bodies are not responsible for any use that might be made of the results presented here.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ancona, D., Anderson, C., Damiani, F., Drossopoulou, S., Giannini, P., Zucca, E.: An Effective Translation of Fickle into Java. In: Restivo, A., Ronchi Della Rocca, S., Roversi, L. (eds.) ICTCS 2001. LNCS, vol. 2202, pp. 215–234. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  2. Chambers, C.: Predicate Classes. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 268–296. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  3. P. Costanza. Dynamic Object Replacement and Implementation-Only Classes. In WCOP 2001 (at ECOOP 2001) (2001), Available from http://www.cs.uni-bonn.de/~costanza/implementationonly.pdf

  4. Damiani, F., Dezani-Ciancaglini, M., Drossopoulou, S., Giannini, P.: Refined Effects for Re-classification: Fickle III (2002). Report for the IST-2001-33477 DART project - available at the http://www.cee.hw.ac.uk/DART/reports/D3.1/DDDG02b.pdf

  5. Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: Fickle: Dynamic Object Re-classification. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 130–149. Springer, Heidelberg (2001); A shorter version is available in: Electronic proceedings of FOOL8, http://www.cs.williams.edu/~kim/FOOL/

    Chapter  Google Scholar 

  6. Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: More Dynamic Object Re-classification: Fickle II. ACM Transactions On Programming Languages and Systems 24(2), 153–191 (2002)

    Article  Google Scholar 

  7. Drossopoulou, S., Eisenbach, S., Khurshid, S.: Is the Java Type System Sound? Theory and Practice of Object Systems 5(1), 3–24 (1999)

    Article  Google Scholar 

  8. Ghelli, G., Palmerini, D.: Foundations of Extended Objets with Roles (extended abstract). In: FOOL6 (1999), Available from http://www.cs.williams.edu/~kim/FOOL/FOOL6.html

  9. Lucassen, M., Gifford, D.K.: Polymorphic Effect Systems. In: POPL 1988, pp. 47–57. ACM Press, New York (1988)

    Chapter  Google Scholar 

  10. Serrano, M.: Wide Classes. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 391–415. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  11. Tailvasaari, A.: Object Oriented Programming with Modes. Journal of Object Oriented Programming 6(3), 27–32 (1993)

    Google Scholar 

  12. Talpin, J.-P., Jouvelot, P.: Polymorphic Type, Region and Effect Inference. Journal of Functional Programming 2(3), 245–271 (1992)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Damiani, F., Drossopoulou, S., Giannini, P. (2003). Refined Effects for Unanticipated Object Re-classification: \(\mathcal{F}ickle_{\rm 3}\) . In: Blundo, C., Laneve, C. (eds) Theoretical Computer Science. ICTCS 2003. Lecture Notes in Computer Science, vol 2841. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45208-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45208-9_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20216-5

  • Online ISBN: 978-3-540-45208-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics