SLICK, the Scala Language Integrated Connection Kit, is a framework for connecting to databases (both relational and NoSQL) and other data sources. It integrates them seamlessly into Scala, so that stored and remote data can be queried and processed in the same way as in-memory data using plain Scala classes and collections. This talk focuses on the features of the first public release which is scheduled for the end of Q2 2012, plus an overview of the roadmap for the upcoming releases.
Core components of SLICK evolved from the existing ScalaQuery code, reusing the database connection layer and the back-ends for several SQL databases. We will explain some of the changes to the ScalaQuery codebase and show new features, including support for nested tuples (inspired by the Scala Integrated Query research prototype) for overcoming the limitation of 22 columns per query and allowing better structuring of query results. Other notable changes include a redesigned query syntax tree for better compositionality, and separate layers for the AST and the front-end.
SLICK provides a new front-end layer based on the macro facilities in Scala 2.10 which complements the existing front-end DSL. Similar to LINQ on the .NET platform it integrates queries transparently using ordinary Scala types. We will give an impression of the user experience and highlight the benefits of each approach.