- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Contributed Libraries and Tools
Created by admin on 2009-03-16.
Updated: 2012-09-05, 13:45
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)
- 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.
- 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.- Team: Workingmouse Pty Ltd.
- Team: Workingmouse Pty Ltd.
- 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.
- 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.
- Team: Burak Emir.
- Specs2
Specs2 provides a BDD (Behavior-Driven-Design) framework for the Scala language.- Team: Eric Torreborre.
- 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.
- 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.
- 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
- Team: Chris Twiner
- Soletta
Soletta is a Scala implementation of the Paterson and Hinze’s Finger Trees.- Team: Ross Judson.
- 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.
- 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.- Team: Daniel Ramage.
- Team: Daniel Ramage.
- 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.- Team: Stergios Papadimitriou.
- Team: Stergios Papadimitriou.
- 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.- Team led by: Tony Sloane.
- Team led by: Tony Sloane.
- 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.- Team led by: Nils Kilden-Pedersen.
- Team led by: Nils Kilden-Pedersen.
- 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).
- 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.
- Team: Shams Imam, 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
Themaven-scala-plugin
is used for compiling Scala code in Maven.- Team: David Bernard. Requires: Java 1.5 or newer, Maven 2.0.7 or newer.
- Team: David Bernard. Requires: Java 1.5 or newer, Maven 2.0.7 or newer.
- 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.
- Team:
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.
- 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.
- 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.
- 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.
- Team: Eric Torreborre, David Bernard, Jorge Ortiz.
Other
- Universe Type System for Scala
The goal of this master's project is to apply the Universe type system to the Scala programming language.- Team: Daniel Schregenberger.