- Most classes now implement Serializable. Anonymous classes that need to be serializable were lifted into a static context (following the recommendation of the Sun serialization spec).
- Added plt.concurrent.ConcurrentUtil, with support for running tasks with return values in another thread or process. Also added a few concurrency and timing-based classes.
- ReflectUtil supports dynamically accessing static fields and methods, in addition to invoking constructors.
- ReflectUtil supports converting methods, constructors, and fields to Lambdas.
- Reorganization in plt.lambda and plt.iter: some static fields were moved into LambdaUtil; some methods were renamed; some methods were added; a few unnecessary class definitions were removed, and a few class definitions were added.
- Added splitter and void writer/output stream classes to plt.io.
- Migrated the util.newjvm.ExecJVM methods to plt.concurrent.ConcurrentUtil.
- Improved tests.