Overview
Syllabus
Intro
Optical Illusion
Why do we use Types in programming languages?
A type system is a tractable syntactic method for proving the absence of certain program behaviors by classifying phrases according to the kinds of values they compute.'
The need for polymorphism
There are new discoveries in type systems
Hypothesis: the way the Polymorphism is used defines the shape of our code
Let's start working
Let's try (real) subtype polymorphism
We're mixing domain logic and behaviour
Adapter Pattern
Ad-Hoc polymorphism
Type class cannot provide new types at runtime
Mixing different types of polymorphism
Mix subtype polymorphism with generic
Mix generic polymorphism with ad-hoc?
Polyglot programming
Can type classes replace subtype polymorphism?
Are type classes only for Functional Programming language?
Addendum
Thank you for your time Feedback please!
Scala is a bridge from OOP to FP world
Type inference and subtypes
Taught by
Devoxx