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:
- An Introduction to Dependent Typing in Scala - Advanced (SkillsCast recorded in December 2016)
- Lightbend Akka for Scala - Professional (in London on 11th - 12th November 2019)
- Modern development with Java (in London on 9th - 11th December 2019)
- Scala eXchange London 2019 (in London on 12th - 13th December 2019)
- Scalax2gether Community Day 2019 (in London on 14th December 2019)
- Code Kata: Yilin Wei - Optics with Monocle (in London on 22nd October 2019)
- Don’t keep it to yourself - openness and honesty in the workplace (in London on 30th October 2019)
- Higher-Order Type-Level Programming (SkillsCast recorded in October 2019)
- Stick to Simple Haskell (SkillsCast recorded in October 2019)
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.