Yea sometimes detailed explanation can sound difficult than:

https://github.com/milessabin/shapeless/blob/master/core/src/main/scala/shapeless/typeoperators.scala, or

https://github.com/rudogma/scala-supertagged

or

https://gist.github.com/nodemvc/6735a8bf0699256d199db7ac9cad0dbb

or just

And I really hope, you do get the fact you are not writing this interface in your application code everytime. The pain is taken to a library which will be released.

But the pain of auto-derivation + too many implicit derivations for primitive typeclasses while we define one for new types + associated shapeless-code + unwrapping tags for functions that requires in application types is taken off.

If your question was why tagged types, well this blog doesn’t even start with what is a tagged type :)

--

--

--

A software engineer and a functional programming enthusiast at Simple-machines, Sydney, and a hardcore hiking fan. https://twitter.com/afsalt2

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Afsal Thaj

Afsal Thaj

A software engineer and a functional programming enthusiast at Simple-machines, Sydney, and a hardcore hiking fan. https://twitter.com/afsalt2

More from Medium

Who am I?

We all need an Eat Pray Love journey

I’m waking up on a beautiful day.

Everyday Romance