I'm happy to announce the first release of the First Class Methods (FCM) java prototype. This prototype anyone who is interested to find out what FCM really feels like.
Standard disclaimer: This software is released on a best-efforts basis. It is not Java. It has not passed the Java Compatibility Testing Kit. Having said that, in theory no existing programs should be broken. Just don't go relying on code compiled with this prototype for anything other than experimentation!
FCM javac implementation
The prototype includes the following features:
- Method literals
- Constructor literals
- Field literals
- Static method references
- Bound method references
- Constructor references
- Anonymous inner methods
The following are not implemented:
- Method types
- Instance method references
- Named inner methods
- Inner method non-final local variable access
- Inner method exception inference
- Inner method exception/completion transparancy
- Conversion to single abstract method classes
The download includes a README with many FAQs answered, including more information on how the types work.
The biggest outstanding area is getting generics working properly. This is a complex task however, and I took the view that it was better to release early than spend any more time trying to get generics working properly.
Nevertheless, even without full generics, you can get a really good feel for how Java would look and feel with FCM. In addition, the FCM enabled code just falls off my fingers very nicely. Now if only we could get Eclipse or Netbeans support...
One of the key requests for considering FCM as a viable proposal has been having a prototype to play with. Now the prototype is out there, it would be really great to hear some feedback, including any bugs. Comments welcome here, at kijaro-dev mailing list or scolebourne-joda-org.