Skip to content
0:00 / 0:00

#shapeless#type-level-programming#scala

Roll Your Own Shapeless - by Daniel Spiewak

Scala Days Conferences

10K subscribers • 21 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Daniel Spiewak

Advanced. Deep dive for people who know the field.

3.2K views10 years ago1 recommendation

Programming languagesSoftware designScalaLanguage design and type systems

Daniel Spiewak demonstrates how to recreate key elements of the Shapeless library using Scala's type system without macros.

This talk was recorded at Scala Days New York, 2016. Follow along on Twitter @scaladays and on the website for more information scaladays.org/. Abstract: Shapeless is a remarkable framework. It gives us the power to represent astonishingly rich constraints and generalize code over very broad structural classes, but it isn't magic! The tools with which shapeless is crafted are present in your version of scalac just as much as they are in Miles Sabin's, and learning to take advantage of them unlocks a rich palette of expression otherwise untapped in the language. In this talk, we will recreate some of the major elements of shapeless, learning how to harness a fully armed and operational type system, all while avoiding any hint of macro programming! Particular focus will be given to understanding the general patterns and ideas involved, and not just the end result.

Why it's here

1 person recommends this

What people say. Recommended as a highly insightful talk explaining fundamental ideas of Scala's type system.

u/Laseringin r/scala • Recommends

Looking for keynotes with very good insights and/or explaining some key fundamental ideas Like the title says. Let me give you some examples: - Constraints Liberate, Liberties Constrain - Runar Bjarnason - Simple Made Easy - Rich Hickey - How do Fibers Work? A Peek Under the Hood - Fabio Labella - Introduction to ScalaCheck - Noel Markham - High Wizardry in the Land of Scala - Daniel Spiewak - Roll Your Own Shapeless - Daniel Spiewak - Type Members vs Type Parameters - Jon Pretty - Doing Batshit Crazy Algebra with Scala Types! - Jon Pretty

u/Laseringin r/scala • Mentions

On “Kind Vs Type Constructor”

> I’m learning advanced scala to understand how types and type level programming works. See this awesome video by Daniel Spiewak followed by this one. The order is very important.

u/Laseringin r/scala • Mentions

On “Shapeless HList question”

I don't know If I can correctly answer your question. Scala has higher kinded types. And you can express kinds using type level programming but I don't think you have kinds at the type level. This video: High Wizardry in the Land of Scala explains it much better. (It is also the proverbial first dose is for free when it comes to type level programming in scala.) PS: this could be the second dose.

u/stephen789in r/scala • Mentions

On “what does this line of code do?”

If your not familiar with shapeless It might help to learn a bit about it because it demonstrates some of the same techniques being used. This talk is really good. link to this video