This article explores some of Java 8’s new features, using both Java’s proposed syntax and Scala. We cover lambda expressions, higher-order functions, parallel collections and virtual extension methods aka traits. Besides this, we will provide insights into the new paradigms integrated in Java 8, such as functional programming.
I've been thinking about the best approach to implement pure function verification in the Scala compiler. An approach similar to the one in D would fit a lot better than the one used in Haskell (which would break all existing code and cause some problems due to strict evaluation). A solution using annotations would be quite simple to implement:
sbt is a simple build tool for Scala projects that aims to do the basics well. It requires Java 1.5 or later.
Features
* Fairly fast, unintrusive, and easy to set up for simple projects
* Configuration is done in Scala
* The default source directory layout is the same as maven's so you can always switch to maven should you need/want to
* Regardless of what sources you have added, changed, or removed, sbt should (in theory) recompile the right sources using information extracted from compilation with a compiler plugin
* Supports ScalaCheck, specs, and ScalaTest.
* Can generate documentation with scaladoc
* Packages jars (classes, sources, or api docs)
* Can start the Scala interpreter with the right classpath (dependencies and compiled classes)
* Multiple project/subproject support
* Parallel task execution, including parallel test execution
* Dependency management support: basic inline declarations, configuration with Maven (partial support) or Ivy, or manual management.