Tamer AbdulRadi

Senior Software Engineer @ Cake Solutions

Tamer is the author of Troy, the schema-safe Scala Cassandra driver. He has been building stuff with Scala since 2012, now he is a senior software engineer at Cake Solutions.
Check Tamer’s tweets under @tabdulradi and posts at abdulradi.com

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

Scroll Up