Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
FOO: a minimal modern OO calculus
Gerakios P., Fourtounis G., Smaragdakis Y.  FTfJP 2015 (Proceedings of the 17th Workshop on Formal Techniques for Java-like Programs, Prague, Czech Republic, Jul 7, 2015)1-4.2015.Type:Proceedings
Date Reviewed: Oct 7 2015

Many object calculi (for example, [1]) or language-specific modeling techniques (for example, [2]) do not capture well the elements of recent object-oriented language design. The flyweight object-oriented (FOO) calculus is a simple, minimal class-based calculus for modeling object-oriented computational features, including larger-scale features such as inheritance and generics. FOO is compact relative to recent formalization techniques and can model Java, C#, or Scala extensions with minimal overhead.

FOO integrates nominal and structural subtyping, using the latter as a substitute for object fields and constructors. Similar to the technique used in Scala, structural components are given as anonymous sets of methods adjoined to nominal classes. In this way, section 2 shows how to define such object-oriented features as subtype polymorphism, inheritance, and fields.

The formal semantics given in section 3 include two reduction rules for dynamic behavior, and static-behavior rules for determining component typing, hierarchical relations, well formedness, and so on. Further work is needed to determine FOO’s ability to model modern object-oriented features.

At four pages, this paper is autologically compact. Readers should be familiar with object-oriented formalizations, or with language formalizations and object-oriented languages. The bibliography is oversized in relation to the rest of the paper, but is also thorough and appropriate.

Reviewer:  R. Clayton Review #: CR143826 (1512-1052)
1) Abadi, M.; Cardelli, L. A theory of objects. Springer, New York, NY, 1996.
2) Igarashi, A.; Pierce, B.; Wadler, P. Featherweight Java: a minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems 23, 3(2001), 396–450.
Bookmark and Share
  Editor Recommended
 
 
Semantics (D.3.1 ... )
 
 
Polymorphism (D.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Semantics": Date
The semantics of programming languages: an elementary introduction using structural operational semantics
Hennessy M., John Wiley & Sons, Inc., New York, NY, 1990. Type: Book (9780471927723)
Jul 1 1991
Logic of domains
Zhang G., Birkhäuser Boston Inc., Cambridge, MA, 1991. Type: Book (9780817635701)
Mar 1 1993
A linear-history semantics for languages for distributed programming
Francez N., Lehmann D., Pnueli A. Theoretical Computer Science 32(1-2): 25-46, 1984. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy