One area of exploration for Lambdas is exploring which areas of the core libraries can benefit from api changes in order to exploit lambdafication. This is being undertaken internally by the Expert Group, but it always takes back seat to the bigger issues. Obviously there are a million places where the libraries could be enhanced. Identifying low-hanging fruit there is the goal of the exerise. Particularly good examples are those like "Add a constructor accepting a Factory to ThreadLocal", so that people could use ThreadLocal without subclassing it just to provide an initialValue method.
You might wish to look at the following Java library areas when considering what to change:
- IO & Networking - java.io, java.nio and java.net
- java.text
- XML Libraries
- JDBC
- java.beans
Any proposed changes should be:
- Prototyped - we really want an example of how you'd use the method, and a prototype implementation.
- Obviously beneficial - can you explain the benefit in one sentence?
- Necessary - Don't add more methods/interfaces to the core libraries if things can be easily done another way.
- Simple - we're only looking for small additions, rather than complete API rewrites. Can they fit into the core libraries?
- Not related to collections - The Expert Group and others have been putting a large amount of effort into improving the collections libraries and we won't be focussing on that.
- Idiomatic - we still want to be writing Java, just a slightly more advanced Java.