Connecting...

W1siziisimnvbxbpbgvkx3rozw1lx2fzc2v0cy9zawduawz5lxrly2hub2xvz3kvanbnl2jhbm5lci1kzwzhdwx0lmpwzyjdxq

How to program the type system by Tamer AbdulRadi

W1siziisijiwmtkvmdcvmduvmtavmdkvmjuvmzq0l3blegvscy1wag90by5qcgcixsxbinailcj0ahvtyiisijkwmhg5mdbcdtawm2uixv0

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.