Let's explore a real-world use case combining typeclasses, literal types, shapeless and scala.meta
In this talk from Tamer AbdulRadi at Scala Swarm, you'll learn how to program the type system use HLists and more!
How to program the type system
Scala has a rich static type system which provides powerful features such as implicits and typeclasses.
In this talk, we will explore a real-world use case combining typeclasses, literal types, shapeless and scala.meta to program the type-system to understand and validate simple SQL queries. The resulting solution will ensure they match a given schema without requiring a database connection.
The code examples are based on Troy, an open-source Cassandra driver which allows developers to paste raw queries within Scala code in a way such that they get compile time schema validation and derivation of case-class marshallers for free.
The talk targets established Scala developers who would like to know more about advanced Scala features and libraries. You will learn how to program the type system, use HLists, and augment all of that using a pinch of scala.meta on the top!
Have a sneak peek at the code examples here: https://github.com/tabdulradi/toy-troy
This talk was given by Tamer AbdulRadi at Scala Swarm 2017.