Connecting...

W1siziisimnvbxbpbgvkx3rozw1lx2fzc2v0cy9zawduawz5lxrly2hub2xvz3kvanbnl2jhbm5lci1kzwzhdwx0lmpwzyjdxq

Let's derive HTTP clients from types by Paul Heymann

W1siziisijiwmtkvmdyvmtavmtuvntmvnduvodk5l3blegvscy1wag90by02otcwntkuanblzyjdlfsiccisinrodw1iiiwiotawedkwmfx1mdazzsjdxq

Want to know how you can derive your HTTP client function from a single type? 

Software Engineer, Paul Heymann can help you! At ScalaIO France, Paul helped us shift gears and take our programming up a level to fully know how amazing type-level programming is.

 

Let's derive HTTP clients from types 

What if I tell you that you can derive your HTTP client function from a single type? Aren't you believing me? Okay, I will show how to do it. 
 
We will start slowly by working out a way to move our HTTP api description onto the type-level using exotic concepts like witness, or heterogenous list. Having accomplished that, we will shift gears and make a deep dive into type-level programming using type classes with recursive instance resolution to derive a fully fledge HTTP client function. 
 
You will see many a type parameter and will ask yourself: How many of them can someone possibly put into a single function signature? (Spoiler: the answer will be "a lot") 
 
In the end, you have learned the following things: 
  • Represent information on the type-level
  • Use type classes and recursive instance resolution to derive functions
  • Type-level programming is awesome
 

This talk was given by Paul Heymann at Scala IO France.