SkillsCast coming soon.
Scala’s type system goes beyond validation - using static type information we can drive the compiler to generate desired behaviour itself, simplifying our programs and saving programmer time and effort.
With type-driven behaviour, intent can be cleanly expressed through type information, reducing boilerplate, making logic more obvious, and keeping code simpler and more concise. Write your base typeclasses once, and let the compiler generate complex combinations for you automatically.
Scala’s implicit search and typeclass traits combine to produce a powerful and flexible system for generating behaviour and producing new logic based on types. By deconstructing your types into algebraic data types of primitive types and simple type operators, you gain an easy but powerful way to reason about your types and drive the compiler to generate the behaviour you want.
YOU MAY ALSO LIKE:
More Typing, Less Typing - Driving behaviour with types
I started learning Scala almost 4 years ago, quickly getting to grips with the more functional aspects and developing an appetite for the type-level programming styles it enables. I have been writing Scala in Industry full-time since early 2013, and pushed Scala heavily at my previous organisation (Scotiabank). I am active in the Scala open source community, especially with the Typelevel organization.