Latest News :
- The very first prototypal version of the I-Java preprocessor is released.
Papers :
rss feed 

Type
Safe Dynamic Object Delegation in Class-based Languages
Lorenzo Bettini, Viviana Bono.
Proc. of PPPJ, Principles and Practice of Programming in Java. pp. 171--180. ACM Press. 2008. abstract incfj_PPPJ.pdf bibtex
Lorenzo Bettini, Viviana Bono.
Proc. of PPPJ, Principles and Practice of Programming in Java. pp. 171--180. ACM Press. 2008. abstract incfj_PPPJ.pdf bibtex
Object
Incompleteness and Dynamic Composition in Java-Like Languages
Lorenzo Bettini, Viviana Bono, Betti Venneri.
TOOLS (46). Richard F. Paige and Bertrand Meyer (Eds.). pp. 198-217. LNBIP vol. 11. Springer. 2008. abstract incfj.pdf bibtex
Lorenzo Bettini, Viviana Bono, Betti Venneri.
TOOLS (46). Richard F. Paige and Bertrand Meyer (Eds.). pp. 198-217. LNBIP vol. 11. Springer. 2008. abstract incfj.pdf bibtex
I-Java: Java with Incomplete Objects
I-Java is an extension of Java
with incomplete objects. This extension is based on the definition of
specific annotations (thus the Java grammar is not extended). It
provides a preprocessor that, given a program that uses our special
annotations (for incomplete classes) and generates standard Java
classes.
You just need to run the main class of the preprocessor specifying the path of the where the classes to be preproccessed are
Main path
The preprocessor will generate the preprocessed classes into the subfolder "GeneratedClasses"; the classes in this folder must then be compiled with the standard Java compiler.
Incomplete Objects
The programmer, besides standard classes, can define incomplete classes whose instances are incomplete objects that can be composed in an object-based fashion. Hence, in our language it is possible:- to instantiate standard classes, obtaining fully-fledged objects ready to be used;
- to instantiate incomplete classes, obtaining incomplete objects that can be composed (by object composition) with complete objects, thus yielding new complete objects at run-time;
- in turn, to use a complete object obtained by composition for composing with other incomplete objects.
Download
You can download the sources and binaries (released under GPL), from the SourceForge site.Documentation
At the moment the documentation is quite small.You just need to run the main class of the preprocessor specifying the path of the where the classes to be preproccessed are
Main path
The preprocessor will generate the preprocessed classes into the subfolder "GeneratedClasses"; the classes in this folder must then be compiled with the standard Java compiler.
Involved People
- Lorenzo Bettini
- Viviana Bono
- Erica Turin