Explore the intricacies of Slick, Lightbend's relational database library for Scala, in this 52-minute conference talk from Scala Days New York 2016. Dive into the "lifted embedding" at the core of Slick's Scala DSL, which allows developers to work with database tables using syntax similar to Scala collections. Discover how the "Shape" abstraction enables the use of standard Scala tuples in the DSL with arbitrary nesting, and learn about its application to Slick's HList implementation. Gain insights into functional dependencies, a key language feature added in Scala 2.8 for implementing the "CanBuildFrom" abstraction. The talk covers topics such as AST, lifted representation, primitive values, extension methods, tables, columns, and implicit examples, providing a comprehensive overview of Slick's polymorphic record types in a lifted embedding.
Overview
Syllabus
Introduction
What is Slick
AST
Lifted embedding
Lifted representation
Type R
Primitive values
Extension methods
Tables
Columns
Examples
Implicit example
Can build from
Implicit shapes
Implementation
Query
H Lists
Taught by
Scala Days Conferences