Many of us have seen how a List in Scala - a value representing a list of different values - can be lifted to the type-level to become an HList, that is, a type representing a list of different types. But can we lift other data structures like Set and Map to the type-level, and perform useful operations on them? Can we do so while maintaining their performance characteristics at compile time?
The answer turns out to be 'yes', and I will demonstrate how the careful use of several advanced and subtle features of Scala's type system enables it!
Jon Pretty Scala Developer, Propensive
Jon has been having fun riding the bleeding edge of Scala for over a decade, and he's not finished yet!
While he's not travelling the world attending Scala conferences, or organizing Scala World, Jon spends his time working on a variety of open-source Scala libraries like Magnolia, and delivering his Scala One advanced Scala training.
Numeric programming is a notoriously difficult topic. For number crunching, e.g. solving systems of linear equations, we need raw performance. However, using floating-point numbers may lead to inaccurate results. On top of that, as functional programmers, we'd really like to abstract over concrete number types, which is where abstract algebra comes into play. This interplay between abstract and concrete, and the fact that everything needs to run on finite hardware, is what makes good library support necessary for writing fast & correct programs. Spire is such a library in the Typelevel Scala ecosystem. This talk will be an introduction to Spire, showcasing the 'number tower', real-ish numbers and how to obey the law.
Lars Hupel , Typelevel
Lars Hupel is a PhD student at TU München in the field of logic and verification. His research focus is on techniques for verified code generation from theorem provers. Additionally, he has worked on formal treatments of Linux firewalls. A frequent conference speaker and co-founder of the Typelevel initiative, he is active in the open source community, particularly in Scala. He also enjoys programming in Haskell, Prolog, and Rust.
Scala is proudly a welcoming environment for all. This is why the Scala Center created a tool to assist blind and partially-sighted developers.
With the popularity of Scala in the big data and analytics world the Microsoft Azure cloud services platform provides full support for Scala in several big data services like Azure HDInsight and Azure Databricks. Azure HDInsight is a fully-managed cloud service that makes it easy, fast, and cost-effective to process massive amounts of data using popular open-source frameworks such as Spark and Kafka and where you can write code in Scala. Azure Databricks is an Apache Spark-based analytics platform optimized for Azure, supporting of course Scala at its core. I will give you an overview of these Azure data services, how they support Scala, side-by-side with a Kafka data streaming demo.
Rui Félix e Pereira Cloud Solution Architect, Microsoft
Rui is a Cloud Solution Architect at Microsoft, providing deep technical and architectural advice to Azure customers with a strong focus on modern application development. With over ten years' experience in solution architecture and software development mostly in Java, Rui is now playing with Scala mostly in big data scenarios side-by-side with technologies like Spark and Kafka provided by Azure cloud services.