There is much to love about Scala. One of the harder things to digest are types. Scala is a static typed language. Thankfully, much of the generics needed as a user are hidden. Those who have dealt with variance in Java will encounter some slight twists when working in Scala, especially when type inference and implicit function parameters are included. Many Scala books on the market do an excellent job covering variance, but the interplay between type inference and variances often lacks appropriate coverage. This article aims to apply some mental spackle to solidify the understanding of types in Scala.
Daniel is a programmer, consultant, instructor, speaker, and recent author. With over 20 years of experience, he does work for private, educational, and government institutions. He is also currently a speaker for No Fluff Just Stuff tour. Daniel loves JVM languages like Java, Groovy, and Scala; but also dabbles with non JVM languages like Haskell, Ruby, Python, LISP, C, C++. He is an avid Pomodoro Technique Practitioner and makes every attempt to learn a new programming language every year. For downtime, he enjoys reading, swimming, Legos, football, and barbecuing.