Content-Length: 32225 | pFad | http://www.scalar-conf.com/talk/tagless-final-for-humans
In this talk, I'll look at the different uses to which tagless final is put to, and see what we can learn about when it is useful and when it just gets in the way.
Tagless final can be either an amazing tool that allows for incredibly expressive code, or a colossal pain in the butt. So how do we make it more the former and less the latter? In this talk I'll describe when tagless final is appropriate, and Scala programming techniques that can make the notational overhead disappear.
Tagless Final is a common in the Scala world, but does it really justify the resulting code complexity? I've spent a decade writing a library using tagless final, so I can't claim I don't like the technique. At the same time I've worked on many codes bases where I felt it added a lot of complexity for little value.
In this talk I'll look at the different uses to which tagless final is put to, and see what we can learn about when it is useful and when it just gets in the way. Then, when we decide it is useful, I'll show how we can use subtyping, extension methods, and path-dependent types to allow the end user to write tagless final code that feels a natural as writing code without it, and won't have people shouting "What the F[_]?!"
During the talk, we’ll build a small effect system using solely Scala 3 context functions step-by-step.
I will demonstrate how Pillars can take you from zero to production in record time. By leveraging Pillars’ integration of well-known libraries, you can bypass the usual complexities of setting up observability (traces, metrics, and logs), database access, API calls, and feature flag management.
In this talk, I'll walk you through coding and design practices I've developed over the years, whilst onboarding new graduates into world of Scala (be it typelevel based API, Spark based ETL, or ML pre and post-processings), and how I made the process easier for people who didn't have much Scala experience beforehand.
In this presentation you will learn the source of your issues, and a third way - sanely-automatic derivation which is fast to compile, fast to run, and easy to debug by its users.
Scala 3.6 stabilises the Named Tuples proposal in the main language. It gives us new syntax for structural types and values, and tools for programmatic manipulation of structural types without macros. Can we, and should we, push it to the limit? Of course! let's explore DSL's for config, data, and scripting, for a more dynamic feel.
In our talk, we will introduce a novel approach to system design— TypeOps — in which the application and infrastructure layers are fused to provide unprecedented safety and productivity for Scala teams.
Fetched URL: http://www.scalar-conf.com/talk/tagless-final-for-humans
Alternative Proxies: