If you are developing an exciting piece of software with Scala, tell us a bit about it.
Note: Unless noted otherwise, do not expect these projects are in release-worthy or supported state.
It uses Scala mixins aggressively to structure the system: shared data is “mixed-in” the various classes that require access to it.
The main data structure of a compiler (the syntax tree) is often difficult to access. Case classes and pattern matching made traversing the tree intuitive and straightforward.
Higher-order functions proved extremely useful to iterate over the many complex lists that are found everywhere in the compiler.
Scalac 2 is roughly 44’000 lines of code. The older and lesser compiler (Scalac 1) was 73’000 lines of Java. A large part of the improvement is certainly due to using Scala instead of Java.
Implements actor abstractions as a domain specific language (DSL) in Scala.
High performance through event-based computation. Actors are much more lightweight than VM threads.
Relies heavily on lightweight closures, partial functions and pattern matching of Scala.
Provides very pleasing syntax (close to Erlang) even though it is implemented entirely as a library.
Supports arbitrary blocking operations without inversion of control.
Lightweight
pickler combinators available for mobile JVMs (such as KVM) without reflection support (besides standard Java serialization).
Distributed operation over TCP and
JXTA.
Available on the Scala Bazaar in package scalaactors.
-
An in-house intranet application that allows 5000 employees in the company to do their holiday requests, and have them approved; eliminating 40.000 paper requests a year.
domain layer is written in Java
the webpages are simple jsp
the workflow logic is done in Scala
originally written in Scala 1.3, now ported to 2.1.5
the functional aspects of Scala made this a joy to build