Published 2012
| Version v1
Publication
Translating Corecursive Featherweight Java in Coinductive Logic Programming
Creators
Contributors
Others:
Description
Corecursive FeatherWeight Java (coFJ) is a recently proposed extension of the calculus FeatherWeight Java (FJ), supporting
cyclic objects and regular recursion, and explicitly designed to promote a novel programming paradigm inspired by coinductive Logic Programming (coLP),
based on coinductive, rather than inductive, interpretation of recursive function definitions.
We present a slightly modified version of coFJ where the application of a coinductive hypothesis can trigger the evaluation of a specific expression
at declaration, rather than at use site. Following an approach inspired by abstract compilation,
we then show how coFJ can be directly translated into coLP, when coinductive SLD is extended with a similar feature for explicitly solving a goal
when a coinductive hypothesis is applied.
Such a translation is quite compact and, besides
showing the direct relation between coFJ and coinductive Prolog, provides a first prototypical but simple and effective implementation of coFJ.
Additional details
Identifiers
- URL
- http://hdl.handle.net/11567/488726
- URN
- urn:oai:iris.unige.it:11567/488726
Origin repository
- Origin repository
- UNIGE