Skip to content
0:00 / 0:00

#scala#taglessfinal#functionalprogramming

Tagless Final for Humans by Noel Welsh | Scalar Conference 2025

SoftwareMill

3.7K subscribers • 18 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Noel Welsh, partner at Inner Product
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

2.7K views1 year ago1 recommendation

Programming languagesSoftware designFunctional programmingDesign patterns

Noel Welsh evaluates the tagless final pattern in Scala, discussing when it is appropriate and how to reduce its complexity.

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 Noel will 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? He has spent a decade writing a library using tagless final, so I can't claim I don't like the technique. At the same time he has worked on many codes bases where he felt it added a lot of complexity for little value. In this talk Noel will 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, he'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[_]?!" scalar-conf.com/ Scalar Conference 2025 powered by SoftwareMill #scalarconf

Why it's here

1 person recommends this

u/smlaccountin r/scala • Recommends

Tagless Final for Humans by Noel Welsh