Literal types, what they are good for? von Tamer Abdulradi · · 285 Besichtigungen · Scala Days











Embed <div id="presentation-embed-38907881"></div> <script src='https://slideslive.com/embed_presentation.js'></script> <script> embed = new SlidesLiveEmbed('presentation-embed-38907881', { presentationId: '38907881', autoPlay: false, // change to true to autoplay the embedded presentation verticalEnabled: true }); </script>

Thanks to SIP-23, we will soon be able to write literals in type positions! Which definitely makes it convenient to do type level operations on arbitrary strings or numbers, making use of the powers of the type system. In this talk, I'll show some use-cases along with code examples from libraries I've built myself, as well as other libraries built by the awesome community. Pointing out concepts, libraries, and techniques necessary for making use of singleton types that I wish I knew earlier. Required knowledge The talk is aimed at established Scala developers, who are familiar with the basics of type-level programming like Type classes. Learning objectives What is a literal type Combining literal types with type class derivation How to do compile time operation on literal types Get inspired by existing use cases of literal types Senior Software engineer at Cakesolutions, author of Schemasafe (Troy), a library that makes heavy use of literal types to allow the compiler to understand and validate your SQL queries ... at compile time.