This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Contributed Libraries and Tools

Many projects and useful libraries for Scala have been developed by external contributors; this page lists some of these efforts. The Projects page on the Scala Wiki has further information about Scala-related projects hosted at Google Code, SourceForge and other network services.

Please note that we do not directly manage any of the projects listed on this page, nor specifically endorse them. To receive support, please refer to the corresponding project page.
 

Libraries and Frameworks

  • Slick
    Slick is a modern database query and access library for Scala. It allows you to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred.
    • Stefan Zeiger (Typesafe), Christopher Vogt (EPFL)
       
  • lift Web Framework
    lift (formerly Scala with Sails) is a web development framework. lift runs inside a Java web container and uses the Scala programming language for coding. lift code is as clean and brief as Rails, yet performs 6 times faster and is multithreaded.
    • Team: David Pollak, Maciek, DavidD, SteveJ and Eric Torreborre. Source Repository: liftweb.
       
  • Scalaz
    Scalaz (Scar-lah-zed) is a library written in the Scala Programming Language. The intention of Scalaz is to include general functions that are not currently available in the core Scala API.
  • Scala Migrations
    Scala Migrations is a library to manage upgrades and rollbacks to database schemas.  Migrations allow a source control system to manage together the database schema and the code using the schema. This project was developed and subsequently made open-source by Sony Imageworks.
    • Team: Blair Zajac.
       
  • Scala/xml
    Scala/xml is a collection of XML tools for Scala, e.g. schema2src is a data binding tool, xquery2src translates XQuery to Scala, xslt2src translates XSLT to Scala, etc..
    • Team: Burak Emir.
       
  • Specs2
    Specs2 provides a BDD (Behavior-Driven-Design) framework for the Scala language.
    • Team: Eric Torreborre.
       
  • Jiva
    Jiva is a Scala based Genetic Algorithms (GA) toolkit. It provides a robust set of GA components that can be used out-of-the-box to solve real problems.
    • Team: Lalit Pant.

  • Scalextric
    Scalextric enables the use of Scala in multi-language applications, taking advantage of every framework strengths and libraries through web-services communication (e.g. XmlRpc).
    • Team: Gabriel Riba.
       
  • Scales
    Scales is an experiment in both DSL design and a component based web design. Its specific aims are to provide a DSL to create web pages and a minimal dependency injection framework to manage beans.
    • Team: Chris Twiner
       
  • Soletta
    Soletta is a Scala implementation of the Paterson and Hinze’s Finger Trees.
    • Team: Ross Judson.
       
  • Akka Actor Kernel
    The Akka Actor Kernel is a RESTful Distributed Fault-tolerant Persistent Transactional Actors, and a successor to the Scala OTP library.
    • Team: Jonas Boner.
       
  • Scalala
    Scalala is a high performance numeric linear algebra library for Scala, with rich Matlab-like operators on vectors and matrices; a library of numerical routines; support for plotting. Part of the ScalaNLP effort.
  • Scalalab
    The ScalaLab project aims to provide a fast, efficient and user friendly Matlab-like scientific programming environment for the Java Virtual Machine. The scripting language is based on the Scala programming language enhanced with high level scientific syntax. ScalaLab also supports a Computer Algebra system, and comes with an extensive set of Java and Scala libraries and toolboxes for diverse scientific applications.
  • Kiama
    Kiama is a Scala library for language processing. It enables convenient analysis and transformation of structured data. The programming styles supported by the library are based on well-known formal language processing paradigms, including attribute grammars and tree rewriting. Kiama is a project of the Programming Languages Research Group in the Department of Computing at Macquarie University.
  • O/R Broker
    The O/R Broker project aims to provide a framework for JDBC access. It facilitates dynamic SQL, reusable ResultSet extractors, and enforces transactional control.
  • Graph for Scala
    Graph is intended to provide basic graph functionality seamlessly fitting into the Scala Collection Library.
    • Team: scala-graph [at] arcor [dot] de (Peter Empen).
       
  • Scala CnC
    CnC-Scala is a Scala-based implementation of the Concurrent Collections programming model developed as part of the Habanero project at the Rice university. 

Development Tools

  • YourKit
    YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:
  • JavaRebel
    JavaRebel has donated a free license to the Scala community. More information on this page of the lift website.
     
  • maven-scala-plugin
    The maven-scala-plugin is used for compiling Scala code in Maven.
  • sbt: Simple Build Tool
    sbt is a flexible and easy-to-use build tool for Scala: simple to use but quite powerful. Features dependency management support, documentation generation, jar packaging, compatibility with Maven directory layout, etc.
    • Team:

      Mark Harrah.


       

Program Testing

  • ScalaCheck
    ScalaCheck is a Scala implementation of the QuickCheck library for Haskell. It tries to keep the look and feel of QuickCheck as much as possible, while being open for improvements and extensions that can ease the task of property-based, randomized testing of Scala programs.
    • Team: Rickard Nilsson. Requires: Scala 2.6.0 or newer. Documentation: User's Guide.
       
  • Rehersal
    Rehersal is a testing framework for Scala, intended as an easier-to-use replacement for SUnit in the standard library.
    • Team: Raphael Cohn.
       
  • ScalaTest
    ScalaTest is a free, open-source testing tool for Scala and Java programmers. It is written in Scala, and enables you to write tests in Scala to test either Scala or Java code. It is released under the Apache 2.0 open source license.
    • Team: Bill Venners.
       
  • Scala Specs
    Specs is a Behaviour-Driven-Design framework that provides: a simple and typed language to create specifications; matchers to specify code properties; integration with JUnit, Scalacheck, and jMock2; a pattern-like matcher; possibilities to structure and compose specifications, and to reuse examples across specs; data tables to group several data examples at once.
    • Team: Eric Torreborre, David Bernard, Jorge Ortiz.
       

Other

 

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland