Title
Corecursive Featherweight Java
Abstract
Despite cyclic data structures occur often in many application domains, object-oriented programming languages provide poor abstraction mechanisms for dealing with cyclic objects. Such a deficiency is reflected also in the research on theoretical foundation of object-oriented languages; for instance, Featherweigh Java (FJ), which is one of the most widespread object-oriented calculi, does not allow creation and manipulation of cyclic objects. We propose an extension to Featherweight Java, called COFJ, where it is possible to define cyclic objects, abstractly corresponding to regular terms, and where an abstraction mechanism, called regular corecursion, is provided for supporting implementation of coinductive operations on cyclic objects. We formally define the operational semantics of COFJ, and provide a handful of examples showing the expressive power of regular corecursion; such a mechanism promotes a novel programming style particularly well-suited for implementing cyclic data structures, and for supporting coinductive reasoning.
Year
DOI
Venue
2012
10.1145/2318202.2318205
FTfJP@ECOOP
Field
DocType
Citations 
Data structure,Operational semantics,Programming language,Programming paradigm,Computer science,Corecursion,Real time Java,Theoretical computer science,Coinduction,Generics in Java,Java
Conference
6
PageRank 
References 
Authors
0.45
14
2
Name
Order
Citations
PageRank
Davide Ancona172769.43
Elena Zucca2497101.25