I'd like to announce the creation of a new project - kijaro. Kijaro is designed as a place where ideas for changes to the Java language can be implemented.
The kijaro project has been setup following various discussions on blogs, mailing lists and email. Its aim is to provide a very open place for those interested in implementing a change to javac to gather and code.
Kijaro is similar in its scope to the Kitchen Sink Language. The KSL project has been open for quite a while, but has yet to see any new features. KSL also aims to have code reviews and experienced compiler writers involved, which can be seen as quite formal.
Kijaro aims to be lightweight in rules:
- Documentation. Each new language feature must have some form of associated document, even if its just a blog. It doesn't have to be much, but should have an outline of why the feature is needed and the syntax implications.
- Backwards compatibility. On svn TRUNK all existing Java code must compile.
- Comments. Each change must have a comment so we can find it later, such as 'FCM-MREF'.
So far, the proponents of three language enhancements have expressed an interest in working at kijaro:
- First Class Methods (FCM) - Stephen Colebourne and Stefan Schulz - method references and inner methods
- Properties - Remi Forax - new property keyword
- Abstract Enums - Frederic Simon - allowing Enums to have an abstract superclass
In fact, the FCM and Properties code is already checked in.
So, do you have a favourite language change that you want to see implemented in Java 7? Or, would you like to download and try out one of these changes? Then, please join us at kijaro! The more ideas we get implemented the better!
After all, real working prototypes tend to produce good feedback and really encourage the decision makers that any change is practical.